Objectif
- Charger les données OpenCelliD dans ClickHouse
- Connecter Apache Superset à ClickHouse
- Créer un tableau de bord à partir des données disponibles dans le jeu de données
Obtenir le jeu de données
- ClickHouse Cloud
- Autogéré
Charger les données d’exemple
ClickHouse Cloud propose une option simple pour charger ce jeu de données depuis S3. Connectez-vous à votre organisation ClickHouse Cloud, ou créez un essai gratuit sur ClickHouse.cloud.Sélectionnez votre service, puisData sources -> Predefined sample data.Choisissez le jeu de données Cell Towers dans l’onglet Données d’exemple, puis cliquez sur Charger les données :Examiner le schéma de la table cell_towers
Se connecter à la SQL Console
Se connecter à la SQL Console
Dans votre liste de services ClickHouse Cloud, cliquez sur un service.Vous serez redirigé vers la SQL Console.
DESCRIBE. Plus loin dans ce guide, les choix de types de champs seront expliqués.Exécutez quelques requêtes d’exemple
- Nombre d’antennes-relais par type :
- Antennes-relais par code de pays mobile (MCC) :
Cas d’usage : intégrer des données géographiques
pointInPolygon.
- Créez une table dans laquelle nous stockerons les polygones :
- ClickHouse Cloud
- Auto-géré
- Voici un tracé approximatif de Moscou (sans la « nouvelle Moscou ») :
- Vérifiez combien d’antennes-relais se trouvent à Moscou :
Revue du schéma
| Colonne | Description |
|---|---|
| radio | Génération technologique : CDMA, GSM, UMTS, 5G NR |
| mcc | Code pays mobile : 204 correspond aux Pays-Bas |
| lon | Longitude : avec la latitude, localisation approximative de l’antenne |
| lat | Latitude : avec la longitude, localisation approximative de l’antenne |
- Les données
radiosont stockées sous forme d’Enum8(UInt8) plutôt que comme une chaîne de caractères. mcc, ou code pays mobile, est stocké enUInt16, car sa plage de valeurs va de 1 à 999.lonetlatsont desFloat64.
Créez des visualisations avec Apache Superset
pip install clickhouse-connect. Si vous devez installer Superset, consultez la section Launch Apache Superset in Docker juste ci-dessous.
Lancer Apache Superset dans Docker
Lancer Apache Superset dans Docker
Superset fournit des instructions pour installer Superset localement avec Docker Compose. Après avoir cloné le dépôt Apache Superset depuis GitHub, vous pouvez exécuter la dernière version du code de développement ou un tag spécifique. Nous recommandons la version 2.0.0, car c’est la dernière version qui n’est pas marquée comme
pre-release.Quelques tâches doivent être effectuées avant d’exécuter docker compose :- Ajouter le pilote officiel ClickHouse Connect
- Obtenir une clé API Mapbox et l’ajouter comme variable d’environnement (facultatif)
- Indiquer la version de Superset à exécuter
Pilote officiel ClickHouse Connect
Pour rendre le pilote ClickHouse Connect disponible dans le déploiement Superset, ajoutez-le au fichier local des dépendances :Mapbox
Cette étape est facultative. Vous pouvez afficher des données de localisation dans Superset sans clé API Mapbox, mais un message vous indiquera qu’il faut en ajouter une et l’image d’arrière-plan de la carte sera absente (vous ne verrez que les points de données, sans le fond de carte). Mapbox propose une offre gratuite si vous souhaitez l’utiliser.Certaines des visualisations d’exemple que les guides vous font créer utilisent des données de localisation, par exemple la longitude et la latitude. Superset prend en charge les cartes Mapbox. Pour utiliser les visualisations Mapbox, vous avez besoin d’une clé API Mapbox. Inscrivez-vous à l’offre gratuite de Mapbox et générez une clé API.Rendez la clé API disponible pour Superset :Déployer Superset version 2.0.0
Pour déployer la version 2.0.0, exécutez :- Ajouter votre service ClickHouse en tant que base de données Superset
- Ajouter la table cell_towers en tant que jeu de données Superset
- Créer quelques graphiques
- Ajouter les graphiques à un tableau de bord
Ajoutez votre service ClickHouse en tant que base de données Superset
| Paramètre(s) | Description |
|---|---|
HOST and PORT | En général, le port est 8443 lors de l’utilisation de TLS, ou 8123 sans TLS. |
DATABASE NAME | Par défaut, une base de données nommée default est disponible ; utilisez le nom de la base de données à laquelle vous voulez vous connecter. |
USERNAME and PASSWORD | Par défaut, le nom d’utilisateur est default. Utilisez le nom d’utilisateur adapté à votre cas d’usage. |
curl.
Si vous utilisez ClickHouse autogéré, les détails de connexion sont définis par votre administrateur ClickHouse.
Dans Superset, vous pouvez ajouter une base de données en choisissant son type, puis en renseignant les détails de connexion. Ouvrez Superset et repérez le + : son menu contient les options Data, puis Connect database.
Choisissez ClickHouse Connect dans la liste :
Si ClickHouse Connect ne figure pas parmi les options proposées, vous devrez l’installer. La commande est
pip install clickhouse-connect, et plus d’informations sont disponibles ici.Ajoutez vos coordonnées de connexion
Ajouter la table cell_towers comme jeu de données Superset
default), puis la table cell_towers :
Créer quelques graphiques
cell_towers) ainsi que le type de graphique. Comme le jeu de données OpenCelliD fournit les coordonnées de longitude et de latitude des antennes-relais, nous allons créer un graphique Map. Le type deck.gL Scatterplot est bien adapté à ce jeu de données, car il fonctionne bien avec des points de données denses sur une carte.
Spécifiez la requête utilisée pour la carte
lon et lat correspondent à la longitude et à la latitude :
Ajoutez un filtre avec mcc = 204 (ou remplacez-le par n’importe quelle autre valeur de mcc) :
Ajoutez un filtre avec radio = 'UMTS' (ou remplacez-le par n’importe quelle autre valeur de radio ; vous pouvez voir les valeurs possibles dans la sortie de DESCRIBE TABLE cell_towers) :
Voici la configuration complète du graphique avec les filtres radio = 'UMTS' et mcc = 204 :
Cliquez sur UPDATE CHART pour générer la visualisation.