Looker Studio puede conectarse a ClickHouse mediante la interfaz MySQL y la fuente de datos MySQL oficial de Google.
Configuración de ClickHouse Cloud
[object Object]
Después de crear tu servicio de ClickHouse Cloud, en la pantalla Connect your app, selecciona MySQL en el menú desplegable.

Habilita la interfaz MySQL
Activa el interruptor para habilitar la interfaz MySQL para este servicio específico.
Esto expondrá el puerto 3306 para este servicio y te mostrará una pantalla de conexión MySQL que incluye tu nombre de usuario MySQL único.

Como alternativa, para habilitar la interfaz MySQL en un servicio existente:
[object Object]
Asegúrate de que tu servicio esté en estado Running y luego haz clic en el servicio para el que quieres habilitar la interfaz MySQL.
Selecciona "Connect" en el menú de la izquierda:

[object Object]
Selecciona MySQL en el menú desplegable Connect With.

Habilita la interfaz MySQL
Activa el interruptor para habilitar la interfaz MySQL para este servicio específico.
Esto expondrá el puerto 3306 para este servicio y te mostrará la pantalla de conexión MySQL, que incluye tu nombre de usuario MySQL único.

Crear un usuario MySQL de solo lectura en ClickHouse Cloud
ClickHouse Cloud crea automáticamente un usuario mysql4<subdomain> que comparte la misma contraseña que el usuario predeterminado.
La parte <subdomain> corresponde a la primera parte del hostname de tu servicio de ClickHouse Cloud.
Este formato de nombre de usuario es necesario para mantener la compatibilidad con herramientas que establecen conexiones seguras, pero no incluyen datos de SNI (Server Name Indication) en el handshake de TLS. Sin información de SNI, el sistema no puede realizar correctamente el enrutamiento interno, por lo que la pista del subdominio integrada en el nombre de usuario proporciona la información de enrutamiento necesaria. El cliente de consola de MySQL es un ejemplo de herramienta que lo requiere.
Crear un perfil de configuración de solo lectura
Crea un perfil de configuración para aplicárselo a tu usuario de solo lectura,
estableciendo la configuración readonly en 1:
CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1Crear un nuevo usuario MySQL de solo lectura
Crea un usuario con un nombre que siga este formato:
mysql4<subdomain>_<username>Aplica readonly_profile al nuevo usuario y asegúrate de que la contraseña esté en formato double SHA1. Por ejemplo:
CREATE USER mysql4foobar_readonly
IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
SETTINGS PROFILE 'readonly_profile';Conceder al nuevo usuario permisos para acceder a las tablas deseadas
Concede al nuevo usuario los permisos necesarios para interactuar con las tablas o bases de datos que quieras.
Por ejemplo, si quieres conceder acceso solo a system.query_log:
GRANT SELECT ON system.query_log TO mysql4foobar_readonly;El usuario recién creado puede usarse para conectarse a tu servicio de ClickHouse Cloud mediante la interfaz MySQL.
Solución de problemas con varios usuarios MySQL en ClickHouse Cloud
Si ha creado un nuevo usuario MySQL y ve el siguiente error al conectarse mediante el cliente MySQL CLI:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54En este caso, asegúrate de que el nombre de usuario siga el formato mysql4<subdomain>_<username>, tal como se describe (más arriba).
Configuración del servidor ClickHouse on-premise
Consulte la documentación oficial para saber cómo configurar un servidor ClickHouse con la interfaz MySQL habilitada.
Además de añadir una entrada al config.xml del servidor
<clickhouse>
<mysql_port>9004</mysql_port>
</clickhouse>también es obligatorio usar cifrado de contraseña con 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
fbc958cc745a82188a51f30de69eebfc67c40ee4La primera línea es la contraseña generada, y la segunda es el hash que podemos usar para configurar ClickHouse.
Aquí tienes un ejemplo de configuración para mysql_user que utiliza 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>Reemplace la entrada password_double_sha1_hex por su propio hash Double SHA1 generado.
Además, se recomienda usar use_mysql_types_in_show_columns
para mostrar los tipos nativos de MySQL en lugar de los de ClickHouse en los resultados de la consulta SHOW [FULL] COLUMNS,
lo que permite a las herramientas de BI inspeccionar correctamente el esquema de la base de datos al usar conectores de MySQL.
Por ejemplo:
/etc/clickhouse-server/users.d/mysql_user.xml
<profiles>
<default>
<use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
</default>
</profiles>o asígnalo a un perfil distinto en lugar del perfil predeterminado.
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) mencionados arriba, el comando sería:
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0mysql> 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.Por último, configure el servidor de ClickHouse para que escuche en la(s) dirección(es) IP deseada(s). Por ejemplo, en config.xml, descomente lo siguiente para que escuche en todas las direcciones:
<listen_host>::</listen_host> Conectar Looker Studio a ClickHouse
Primero, inicia sesión en Looker Studio con tu cuenta de Google y crea una nueva fuente de datos:

Busca el conector oficial de MySQL proporcionado por Google (llamado simplemente MySQL):

Especifica los datos de conexión. Ten en cuenta que el puerto de la interfaz MySQL es 9004 de forma predeterminada y puede variar según la configuración del servidor.

Ahora tienes dos opciones para obtener los datos de ClickHouse. Primero, puedes usar la función Table Browser:

Como alternativa, puedes especificar una consulta SQL personalizada para obtener tus datos:

Por último, deberías poder ver la estructura de la tabla detectada automáticamente y ajustar los tipos de datos si es necesario.

¡Ahora puedes seguir explorando tus datos o crear un informe nuevo!
Uso de Looker Studio con ClickHouse Cloud
Si usas ClickHouse Cloud, primero debes habilitar la interfaz MySQL. Puedes hacerlo en el cuadro de diálogo de conexión, en la pestaña "MySQL".

En la UI de Looker Studio, selecciona la opción "Enable SSL". El certificado SSL de ClickHouse Cloud está firmado por Let's Encrypt. Puedes descargar este certificado raíz aquí.

El resto de los pasos son los mismos que se indican en la sección anterior.