# Interfaz HTTPS
Esta sección proporciona una breve descripción de cómo utilizar la interfaz HTTPS de MyScale. Dado que MyScale es compatible con ClickHouse, puedes encontrar más detalles en la documentación de la Interfaz HTTP (opens new window) de ClickHouse.
Para acceder a la interfaz HTTPS, necesitarás utilizar la información de conexión correspondiente. Por favor, consulta los Detalles de Conexión para obtener instrucciones sobre cómo obtenerla.
Puedes optar por almacenar esta información en una variable de entorno para acceder más fácilmente, como se muestra en el siguiente ejemplo:
export MYSCALE_CLUSTER_URL=TU_URL_DEL_CLUSTER
export MYSCALE_USERNAME=TU_NOMBRE_DE_USUARIO
export MYSCALE_CLUSTER_PASSWORD=TU_CONTRASEÑA_DEL_CLUSTER
Utiliza el comando curl
para verificar si la interfaz HTTPS está funcionando correctamente haciendo una solicitud simple a la URL:
$ curl $MYSCALE_CLUSTER_URL/ping
Ok.
Para verificar que el usuario y la contraseña estén funcionando correctamente, puedes hacer una solicitud a la URL proporcionando el usuario y la contraseña. Por ejemplo:
$ curl "$MYSCALE_CLUSTER_URL" -d 'SELECT 1' \
-H "X-ClickHouse-User: $MYSCALE_USERNAME" \
-H "X-ClickHouse-Key: $MYSCALE_CLUSTER_PASSWORD"
1
Si el usuario y la contraseña son válidos, recibirás una respuesta de 1
.
Puedes crear una tabla con cuatro columnas id
, data
, date
y label
utilizando el siguiente comando:
$ cat << EOF |
CREATE TABLE default.myscale_categorical_search
(
id UInt32,
data Array(Float32),
CONSTRAINT check_length CHECK length(data) = 128,
date Date,
label Enum8('person' = 1, 'building' = 2, 'animal' = 3)
)
ORDER BY id;
EOF
$ curl "$MYSCALE_CLUSTER_URL" -d @- \
-H "X-ClickHouse-User: $MYSCALE_USERNAME" \
-H "X-ClickHouse-Key: $MYSCALE_CLUSTER_PASSWORD"
Creamos un archivo CSV data.csv
con los siguientes datos:
$ cat > data.csv <<EOF
0,"[0,0,0,1,8,7,3,2,5,0,0,3,5,7,11,31,13,0,0,0,0,29,106,107,13,0,0,0,1,61,70,42,0,0,0,0,1,23,28,16,63,4,0,0,0,6,83,81,117,86,25,15,17,50,84,117,31,23,18,35,97,117,49,24,68,27,0,0,0,4,29,71,81,47,13,10,32,87,117,117,45,76,40,22,60,70,41,9,7,21,29,39,53,21,4,1,55,72,3,0,0,0,0,9,65,117,73,37,28,23,17,34,11,11,27,61,64,25,4,0,42,13,1,1,1,14,10,6]","2030-09-26","person"
1,"[65,35,8,0,0,0,1,63,48,27,31,19,16,34,96,114,3,1,8,21,27,43,57,21,11,8,37,8,0,0,1,23,101,104,11,0,0,0,0,29,83,114,114,77,23,14,18,52,28,8,46,75,39,24,59,60,2,0,18,10,20,52,52,16,12,28,4,0,0,3,5,8,102,79,58,3,0,0,0,11,114,112,78,50,17,14,45,104,19,31,53,114,73,44,34,26,3,2,0,0,0,1,8,9,34,20,0,0,0,0,1,23,30,75,87,36,0,0,0,2,0,17,66,73,3,0,0,0]","1996-06-22","building"
2,"[0,0,0,0,0,0,4,1,15,0,0,0,0,0,10,49,27,0,0,0,0,29,113,114,9,0,0,0,3,69,71,42,14,0,0,0,0,1,56,79,63,2,0,0,0,38,118,77,118,60,8,8,18,48,59,104,27,16,7,13,80,118,34,21,118,47,4,0,0,1,32,99,61,40,31,57,46,118,118,61,80,64,16,21,20,33,23,27,6,22,16,14,51,33,0,0,76,40,8,0,2,14,42,94,19,42,57,67,23,34,22,10,9,52,15,21,5,1,3,3,1,38,12,5,18,1,0,0]","1975-10-07","animal"
3,"[3,9,45,22,28,11,4,3,77,10,4,1,1,4,3,11,23,0,0,0,26,49,6,7,5,3,3,1,11,50,8,9,11,7,15,21,12,17,21,25,121,12,4,7,4,7,4,41,28,2,0,1,10,42,22,20,1,1,4,9,31,79,16,3,23,4,6,26,31,121,87,40,121,82,16,12,15,41,6,10,76,48,5,3,21,42,41,50,5,17,18,64,86,54,17,6,43,62,56,84,116,108,38,26,58,63,20,87,105,37,2,2,121,121,38,25,44,33,24,46,3,16,27,74,121,55,9,4]","2024-08-11","animal"
4,"[6,4,3,7,80,122,62,19,2,0,0,0,32,60,10,19,4,0,0,0,0,10,69,66,0,0,0,0,8,58,49,5,5,31,59,67,122,37,1,2,50,1,0,16,99,48,3,27,122,38,6,7,11,31,87,122,9,8,6,23,122,122,69,21,0,11,31,55,28,0,0,0,61,4,0,37,43,2,0,15,122,122,55,32,6,1,0,12,5,22,52,122,122,9,2,0,2,0,0,5,28,20,2,2,19,3,0,2,12,12,3,16,25,18,34,35,5,4,1,13,21,2,22,51,9,20,57,59]","1970-01-31","animal"
5,"[6,2,19,22,22,81,31,12,72,15,12,10,3,6,1,37,30,17,4,2,9,4,2,21,1,0,1,3,11,9,5,2,7,11,17,61,127,127,28,13,49,36,26,45,28,17,4,16,111,46,11,2,7,25,40,89,2,0,8,31,63,60,28,12,0,18,82,127,50,1,0,0,94,28,11,88,15,0,0,4,127,127,34,23,25,18,18,69,6,16,26,90,127,42,12,8,0,3,46,29,0,0,0,0,22,35,15,12,0,0,0,0,46,127,83,17,1,0,0,0,0,14,67,115,45,0,0,0]","2025-04-02","building"
6,"[19,35,5,6,40,23,18,4,21,109,120,23,5,12,24,5,0,5,87,108,47,14,32,8,0,0,0,27,36,30,43,0,29,12,10,15,6,7,17,12,34,9,14,65,20,23,28,14,120,34,14,14,9,34,120,120,7,6,7,27,56,120,120,23,9,5,4,7,2,6,46,13,29,5,5,32,12,20,99,19,120,120,107,38,13,7,24,36,6,24,120,120,55,26,4,3,5,1,0,0,1,5,19,18,2,2,0,1,18,12,30,7,0,5,33,29,66,50,26,2,0,0,49,45,12,28,10,0]","2007-06-29","animal"
7,"[28,28,28,27,13,5,4,12,4,8,29,118,69,19,21,7,3,0,0,14,14,10,105,60,0,0,0,0,11,69,76,9,5,2,18,59,17,6,1,5,42,9,16,75,31,21,17,13,118,44,18,16,17,30,78,118,4,4,8,61,118,110,54,25,10,6,21,54,5,5,6,5,38,17,11,31,6,24,64,15,115,118,117,61,13,13,22,25,2,11,66,118,87,25,10,2,10,11,3,2,9,28,4,5,21,18,35,17,6,10,4,30,20,2,13,13,7,30,71,118,0,0,3,12,50,103,44,5]","1970-09-10","building"
8,"[41,38,21,17,42,71,60,50,11,1,2,11,109,115,8,4,27,8,5,22,11,9,8,14,20,10,4,33,12,7,4,1,18,115,95,42,17,1,0,0,19,6,46,115,91,16,0,7,66,7,4,15,12,32,91,109,12,3,1,8,21,115,96,17,1,51,78,14,0,0,0,0,50,40,62,53,0,0,0,3,115,115,40,12,6,13,25,65,7,30,51,65,110,92,25,9,0,1,13,0,0,0,0,0,4,22,11,1,0,0,0,0,13,115,48,1,0,0,0,0,0,36,102,63,11,0,0,0]","2007-10-26","person"
9,"[0,0,0,0,0,2,6,4,0,0,0,0,0,1,44,57,0,0,0,0,0,15,125,52,0,0,0,0,6,57,44,2,23,1,0,0,0,6,20,23,125,30,5,2,1,3,73,125,16,10,11,46,61,97,125,93,0,0,0,31,111,96,21,0,20,6,0,0,9,114,63,5,125,125,83,8,2,26,5,23,14,56,125,125,37,10,7,10,11,2,17,87,42,5,8,19,0,0,7,32,56,91,8,0,1,17,17,3,14,71,15,5,7,9,35,10,2,5,24,39,14,16,4,9,22,6,13,11]","1971-02-02","building"
EOF
Insertamos el archivo CSV data.csv
en la tabla myscale_categorical_search
con el siguiente comando:
$ curl "$MYSCALE_CLUSTER_URL/?query=INSERT%20INTO%20myscale_categorical_search%20FORMAT%20CSV" \
-H "X-ClickHouse-User: $MYSCALE_USERNAME" \
-H "X-ClickHouse-Key: $MYSCALE_CLUSTER_PASSWORD" \
--data-binary @data.csv
Ten en cuenta que la consulta utilizada para la inserción es realmente INSERT INTO myscale_categorical_search FORMAT CSV, pero los espacios deben ser reemplazados por %20 en la URL.
Además, es importante destacar que el tiempo de espera predeterminado actual para la interfaz HTTP es de 1 minuto. Al importar archivos grandes mediante este método, es posible que la conexión se interrumpa. Por lo tanto, se recomienda utilizar otros métodos, como el cliente de Python, para importar archivos grandes.
Puedes utilizar la compresión para reducir el tráfico de red al transmitir una gran cantidad de datos o al crear volcados que se comprimen inmediatamente. Aquí tienes un ejemplo de carga de datos comprimidos:
# utilizar gzip para comprimir datos
$ gzip -c data.csv > data.gz
# cargar los datos comprimidos
$ curl "$MYSCALE_CLUSTER_URL/?query=INSERT%20INTO%20myscale_categorical_search%20FORMAT%20CSV" \
-H "X-ClickHouse-User: $MYSCALE_USERNAME" \
-H "X-ClickHouse-Key: $MYSCALE_CLUSTER_PASSWORD" \
-H "Content-Encoding: gzip" \
--data-binary @data.gz
Aquí tienes un ejemplo de recepción de un archivo de datos comprimidos desde el servidor:
$ curl -vsS "$MYSCALE_CLUSTER_URL/?enable_http_compression=1" \
-H "X-ClickHouse-User: $MYSCALE_USERNAME" \
-H "X-ClickHouse-Key: $MYSCALE_CLUSTER_PASSWORD" \
-H "Accept-Encoding: gzip" \
--output result.gz -d 'SELECT number FROM system.numbers LIMIT 3'
$ zcat result.gz
0
1
2
Creamos un índice vectorial MSTG
para la columna data de la tabla myscale_categorical_search
:
$ curl "$MYSCALE_CLUSTER_URL" \
-H "X-ClickHouse-User: $MYSCALE_USERNAME" \
-H "X-ClickHouse-Key: $MYSCALE_CLUSTER_PASSWORD" \
-d "ALTER TABLE myscale_categorical_search ADD VECTOR INDEX v1 data TYPE MSTG"
Para obtener más información sobre el índice vectorial y la búsqueda vectorial, consulta Búsqueda Vectorial.
Buscamos los 10 vecinos más cercanos para el vector [3.0,9,45,22,28,11,4,3,77,10,4,1,1,4,3,11,23, 0,0,0,26,49,6,7,5,3,3,1,11,50,8,9,11,7,15,21,12,17,21,25,121,12,4,7,4,7,4,41,28,2,0,1,10, 42,22,20,1,1,4,9,31,79,16,3,23,4,6,26,31,121,87,40,121,82,16,12,15,41,6,10,76,48,5,3,21, 42,41,50,5,17,18,64,86,54,17,6,43,62,56,84,116,108,38,26,58,63,20,87,105,37,2,2,121,121, 38,25,44,33,24,46,3,16,27,74,121,55,9,4]
en la tabla myscale_categorical_search
:
$ curl "$MYSCALE_CLUSTER_URL" \
-H "X-ClickHouse-User: $MYSCALE_USERNAME" \
-H "X-ClickHouse-Key: $MYSCALE_CLUSTER_PASSWORD" \
-d "SELECT id, date, label, distance(data,
[3.0,9,45,22,28,11,4,3,77,10,4,1,1,4,3,11,23,0,
0,0,26,49,6,7,5,3,3,1,11,50,8,9,11,7,15,21,12,17,21,25,121,12,4,7,4,7,4,
41,28,2,0,1,10,42,22,20,1,1,4,9,31,79,16,3,23,4,6,26,31,121,87,40,121,82,
16,12,15,41,6,10,76,48,5,3,21,42,41,50,5,17,18,64,86,54,17,6,43,62,56,84,
116,108,38,26,58,63,20,87,105,37,2,2,121,121,38,25,44,33,24,46,3,16,27,74,
121,55,9,4]) as dist FROM default.myscale_categorical_search ORDER BY dist LIMIT 10"
3 2024-08-11 animal 0
5 2025-04-02 building 211995
9 1971-02-02 building 214219
2 1975-10-07 animal 247505
0 2030-09-26 person 252941
1 1996-06-22 building 255835
7 1970-09-10 building 266691
4 1970-01-31 animal 276685
8 2007-10-26 person 284773
6 2007-06-29 animal 298423