QuickSight puede conectarse a una implementación on-premise de ClickHouse (23.11+) a través de la interfaz MySQL, mediante el origen de datos oficial de MySQL y el modo Direct Query.
Configuración del servidor ClickHouse on-premise
Consulta la documentación oficial sobre cómo configurar un servidor ClickHouse con la interfaz MySQL habilitada.
Además de agregar una entrada al archivo config.xml del servidor
<clickhouse>
<mysql_port>9004</mysql_port>
</clickhouse>
también es obligatorio usar cifrado de contraseña Double SHA1 para el usuario que utilizará la interfaz MySQL.
Generar desde la shell una contraseña aleatoria cifrada con Double SHA1:
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
La salida debería verse así:
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
La primera línea es la contraseña generada y la segunda es el hash que podemos usar para configurar ClickHouse.
Aquí tienes una configuración de ejemplo para mysql_user que usa el hash generado:
/etc/clickhouse-server/users.d/mysql_user.xml
<users>
<mysql_user>
<password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
<networks>
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</mysql_user>
</users>
Sustituya la entrada password_double_sha1_hex por el hash Double SHA1 que haya generado.
QuickSight requiere varias opciones de configuración adicionales en el perfil del usuario MySQL.
/etc/clickhouse-server/users.d/mysql_user.xml
<profiles>
<default>
<prefer_column_name_to_alias>1</prefer_column_name_to_alias>
<mysql_map_string_to_text_in_show_columns>1</mysql_map_string_to_text_in_show_columns>
<mysql_map_fixed_string_to_text_in_show_columns>1</mysql_map_fixed_string_to_text_in_show_columns>
</default>
</profiles>
Sin embargo, se recomienda asignarlo a un perfil diferente que pueda utilizar su usuario MySQL en lugar del predeterminado.
Por último, configure el servidor ClickHouse para que escuche en la(s) dirección(es) IP deseada(s).
En config.xml, descomente lo siguiente para escuchar en todas las direcciones:
<listen_host>::</listen_host>
Si tienes disponible el binario mysql, puedes probar la conexión desde la línea de comandos.
Usando el nombre de usuario de ejemplo (mysql_user) y la contraseña (LZOQYnqQN4L/T6L0) indicados arriba, el comando sería:
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
mysql> show databases;
+--------------------+
| name |
+--------------------+
| INFORMATION_SCHEMA |
| default |
| information_schema |
| system |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.
Conectar QuickSight a ClickHouse
Antes que nada, ve a https://quicksight.aws.amazon.com, navega hasta Datasets y haz clic en “New dataset”:
Busca el conector oficial de MySQL incluido con QuickSight (llamado simplemente MySQL):
Especifica los detalles de tu conexión. Ten en cuenta que el puerto de la interfaz MySQL es 9004 de forma predeterminada,
y puede ser diferente según la configuración del servidor.
Ahora tienes dos opciones para obtener los datos desde ClickHouse. Primero, puedes seleccionar una tabla de la lista:
Como alternativa, puedes especificar una consulta SQL personalizada para obtener tus datos:
Al hacer clic en “Edit/Preview data”, deberías poder ver la estructura de la tabla detectada o ajustar tu consulta SQL personalizada, si así decidiste acceder a los datos:
Asegúrate de tener seleccionado el modo “Direct Query” en la esquina inferior izquierda de la interfaz de usuario:
Ahora puedes continuar publicando tu conjunto de datos y creando una nueva visualización.
- La importación de SPICE no funciona como se espera; utilice en su lugar el modo Direct Query. Consulte #58553.
Última modificación el 10 de junio de 2026