Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

QuickSight

Compatible avec ClickHouse

QuickSight peut se connecter à une installation ClickHouse on-premise (23.11+) via l’interface MySQL, à l’aide de la source de données MySQL officielle et du mode Direct Query.

Configuration d’un serveur ClickHouse on-premise

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 dans le config.xml du serveur

<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>

il est également obligatoire d’utiliser le hachage de mot de passe Double SHA1 pour l’utilisateur qui utilisera l’interface MySQL.

Génération, depuis le shell, d’un mot de passe aléatoire haché avec Double SHA1 :

PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'

Le résultat devrait être semblable à ce qui suit :

LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4

La 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 hash double SHA1 généré.

QuickSight nécessite plusieurs paramètres supplémentaires dans le profile de l’utilisateur 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>

Cependant, il est recommandé de l’affecter à un autre profil, que votre utilisateur MySQL pourra utiliser à la place du profil par défaut.

Enfin, configurez le serveur ClickHouse pour qu’il écoute sur la ou les adresses IP souhaitées. Dans config.xml, décommentez ce qui suit pour écouter sur toutes les adresses :

<listen_host>::</listen_host>

Si vous disposez du binaire mysql, vous pouvez tester la connexion en ligne de commande. En utilisant le nom d’utilisateur d’exemple (mysql_user) et le mot de passe (LZOQYnqQN4L/T6L0) indiqués ci-dessus, la commande serait :

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.

Connecter QuickSight à ClickHouse

Commencez par vous rendre sur https://quicksight.aws.amazon.com, ouvrez Datasets et cliquez sur "New dataset" :

Tableau de bord Amazon QuickSight affichant le bouton New dataset dans la section Datasets

Recherchez le connecteur MySQL officiel fourni avec QuickSight (nommé simplement MySQL) :

Écran de sélection de la source de données QuickSight avec MySQL mis en évidence dans les résultats de recherche

Renseignez vos informations de connexion. Notez que le port de l'interface MySQL est 9004 par défaut, et qu'il peut varier selon la configuration de votre serveur.

Formulaire de configuration de la connexion MySQL dans QuickSight avec les champs hostname, port, database et identifiants

Vous avez maintenant deux possibilités pour récupérer les données depuis ClickHouse. Vous pouvez d'abord sélectionner une table dans la liste :

Interface de sélection de table QuickSight affichant les tables de la base de données disponibles depuis ClickHouse

Vous pouvez également saisir une custom SQL pour récupérer vos données :

Éditeur de requête SQL personnalisée QuickSight pour récupérer des données depuis ClickHouse

En cliquant sur "Edit/Preview data", vous devriez pouvoir consulter la structure de la table détectée automatiquement ou ajuster votre custom SQL, si c'est le mode d'accès que vous avez choisi pour les données :

Aperçu des données QuickSight affichant la structure de la table avec les colonnes et des données d'exemple

Assurez-vous que le mode "Direct Query" est sélectionné dans le coin inférieur gauche de l'UI :

Interface QuickSight avec l'option du mode Direct Query mise en évidence dans le coin inférieur

Vous pouvez maintenant publier votre jeu de données et créer une nouvelle visualisation !

Limitations connues

  • L’importation SPICE ne fonctionne pas comme prévu ; veuillez utiliser le mode Direct Query à la place. Voir #58553.
Navigation