Looker Studio peut se connecter à ClickHouse via l’interface MySQL à l’aide de la source de données MySQL officielle de Google.
Configuration de ClickHouse Cloud
[object Object]
Après avoir créé votre service ClickHouse Cloud, dans l’écran Connect your app, sélectionnez MySQL dans le menu déroulant.

Activer l’interface MySQL
Basculez l’interrupteur pour activer l’interface MySQL pour ce service.
Cela ouvrira le port 3306 pour ce service et affichera un écran de connexion MySQL avec votre nom d’utilisateur MySQL unique.

Sinon, pour activer l’interface MySQL pour un service existant :
[object Object]
Assurez-vous que votre service est à l’état Running, puis cliquez sur le service pour lequel vous souhaitez activer l’interface MySQL.
Sélectionnez "Connect" dans le menu de gauche :

[object Object]
Sélectionnez MySQL dans le menu déroulant Connect With.

Activer l’interface MySQL
Basculez l’interrupteur pour activer l’interface MySQL pour ce service.
Cela ouvrira le port 3306 pour ce service et affichera votre écran de connexion MySQL, avec votre nom d’utilisateur MySQL unique.

Création d’un utilisateur MySQL readonly dans ClickHouse Cloud
ClickHouse Cloud crée automatiquement un utilisateur mysql4<subdomain> qui partage le même mot de passe que l’utilisateur default.
La partie <subdomain> correspond à la première partie du nom d’hôte de votre instance ClickHouse Cloud.
Ce format de nom d’utilisateur est requis pour assurer la compatibilité avec les outils qui établissent des connexions sécurisées mais n’incluent pas les données SNI (Server Name Indication) dans leur handshake TLS. Sans informations SNI, le système ne peut pas effectuer le routage interne correctement ; l’indication de sous-domaine intégrée au nom d’utilisateur fournit donc les informations de routage nécessaires. Le client de console MySQL est un exemple d’outil qui en a besoin.
Créer un profil de paramètres `readonly`
Créez un profil de paramètres à appliquer à votre utilisateur readonly,
en définissant le paramètre readonly sur 1 :
CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1Créer un nouvel utilisateur MySQL `readonly`
Créez un utilisateur avec un nom respectant ce format :
mysql4<subdomain>_<username>Appliquez readonly_profile au nouvel utilisateur et assurez-vous que le mot de passe est au format double SHA1. Par exemple :
CREATE USER mysql4foobar_readonly
IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
SETTINGS PROFILE 'readonly_profile';Accorder au nouvel utilisateur les permissions nécessaires pour accéder aux tables souhaitées
Accordez au nouvel utilisateur les permissions nécessaires pour interagir avec les tables ou bases de données souhaitées.
Par exemple, si vous souhaitez accorder l’accès uniquement à system.query_log :
GRANT SELECT ON system.query_log TO mysql4foobar_readonly;L’utilisateur nouvellement créé peut être utilisé pour se connecter à votre service ClickHouse Cloud via l’interface MySQL.
Troubleshooting de plusieurs utilisateurs MySQL dans ClickHouse Cloud
Si vous avez créé un nouvel utilisateur MySQL et que l’erreur suivante s’affiche lorsque vous vous connectez via le client MySQL en CLI :
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54Dans ce cas, assurez-vous que le nom d’utilisateur respecte le format mysql4<subdomain>_<username>, comme indiqué (ci-dessus).
Configuration d’un serveur ClickHouse sur site
Veuillez consulter la documentation officielle pour savoir comment configurer un serveur ClickHouse avec l’interface MySQL activée.
Outre l’ajout d’une entrée au config.xml du serveur
<clickhouse>
<mysql_port>9004</mysql_port>
</clickhouse>il est également nécessaire d’utiliser le chiffrement de mot de passe Double SHA1 pour l’utilisateur qui utilisera l’interface MySQL.
Génération d’un mot de passe aléatoire chiffré en Double SHA1 depuis le shell :
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'Le résultat devrait ressembler à ce qui suit :
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4La première ligne correspond au mot de passe généré, et la deuxième au hash que nous pouvons utiliser pour configurer ClickHouse.
Voici un exemple de configuration pour mysql_user utilisant le hash généré :
/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>Remplacez l’entrée password_double_sha1_hex par votre propre hachage Double SHA1 généré.
De plus, il est recommandé d’utiliser use_mysql_types_in_show_columns
pour afficher les types MySQL natifs au lieu de ceux de ClickHouse dans les résultats de la requête SHOW [FULL] COLUMNS,
ce qui permet aux outils de BI d’inspecter correctement le schéma de la base de données lors de l’utilisation de connecteurs MySQL.
Par exemple :
/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>ou l’affecter à un profil différent plutôt qu’au profil par défaut.
Si le binaire mysql est disponible, vous pouvez tester la connexion depuis la ligne de commande.
En utilisant l’exemple de nom d’utilisateur (mysql_user) et de mot de passe (LZOQYnqQN4L/T6L0) ci-dessus, la ligne de commande serait :
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.Enfin, configurez le serveur ClickHouse pour qu’il écoute sur la ou les adresses IP souhaitées. Par exemple, dans config.xml, décommentez les lignes suivantes pour écouter sur toutes les adresses :
<listen_host>::</listen_host> Connexion de Looker Studio à ClickHouse
Commencez par vous connecter à Looker Studio avec votre compte Google, puis créez une nouvelle source de données :

Recherchez le connecteur MySQL officiel fourni par Google (simplement nommé MySQL) :

Renseignez vos informations de connexion. Notez que le port de l’interface MySQL est 9004 par défaut, et qu’il peut être différent selon la configuration du serveur.

Vous avez maintenant deux options pour récupérer les données depuis ClickHouse. Vous pouvez d’abord utiliser la fonctionnalité de navigation dans les tables :

Vous pouvez également spécifier une requête SQL personnalisée pour récupérer vos données :

Enfin, vous devriez voir la structure de la table détectée automatiquement et pouvoir ajuster les types de données si nécessaire.

Vous pouvez maintenant explorer vos données ou créer un nouveau rapport !
Utiliser Looker Studio avec ClickHouse Cloud
Lorsque vous utilisez ClickHouse Cloud, vous devez d’abord activer l’interface MySQL. Vous pouvez le faire dans la boîte de dialogue de connexion, dans l’onglet « MySQL ».

Dans l’UI de Looker Studio, sélectionnez l’option « Enable SSL ». Le certificat SSL de ClickHouse Cloud est signé par Let's Encrypt. Vous pouvez télécharger ce certificat racine ici.

Les autres étapes sont identiques à celles indiquées ci-dessus dans la section précédente.