Veuillez noter que la source et la destination Airbyte pour ClickHouse sont actuellement en version alpha et ne conviennent pas au transfert de jeux de données volumineux (> 10 millions de lignes).
1
Télécharger et exécuter Airbyte
-
Airbyte s’exécute sur Docker et utilise
docker-compose. Assurez-vous de télécharger et d’installer les dernières versions de Docker. -
Déployez Airbyte en clonant le dépôt GitHub officiel et en exécutant
docker-compose updans le terminal de votre choix : - Une fois la bannière Airbyte affichée dans votre terminal, vous pouvez vous connecter à localhost:8000
Vous pouvez également vous inscrire et utiliser Airbyte Cloud
2
Ajouter ClickHouse comme destination
Dans cette section, nous allons voir comment ajouter une instance ClickHouse comme destination.
-
Démarrez votre serveur ClickHouse (Airbyte est compatible avec ClickHouse version
21.8.10.19ou ultérieure) ou connectez-vous à votre compte cloud ClickHouse : - Dans Airbyte, sélectionnez la page “Destinations” et ajoutez une nouvelle destination :
-
Sélectionnez ClickHouse dans la liste déroulante “Destination type”, puis remplissez le formulaire “Set up the destination” en indiquant le nom d’hôte et les ports de votre instance ClickHouse, le nom de la base de données, le nom d’utilisateur et le mot de passe, puis précisez s’il s’agit d’une connexion SSL (équivalente au flag
--securedansclickhouse-client) : - Félicitations ! Vous avez maintenant ajouté ClickHouse comme destination dans Airbyte.
Pour utiliser ClickHouse comme destination, l’utilisateur que vous utiliserez doit disposer des autorisations nécessaires pour créer des bases de données, des tables et insérer des lignes. Nous recommandons de créer un utilisateur dédié pour Airbyte (par ex.
my_airbyte_user) avec les autorisations suivantes :3
Ajouter un jeu de données comme source
Le jeu de données d’exemple que nous utiliserons est le jeu de données des taxis de New York (sur GitHub). Pour ce tutoriel, nous utiliserons un sous-ensemble de ce jeu de données correspondant au mois de janvier 2022.
- Dans Airbyte, sélectionnez la page “Sources” et ajoutez une nouvelle source de type fichier.
-
Remplissez le formulaire “Set up the source” en donnant un nom à la source et en fournissant l’URL du fichier NYC Taxi de janvier 2022 (voir ci-dessous). Veillez à sélectionner
parquetcomme format de fichier,HTTPS Public Webcomme fournisseur de stockage etnyc_taxi_2022comme nom du jeu de données. - Félicitations ! Vous avez maintenant ajouté une source de type fichier dans Airbyte.
4
Créer une connexion et charger le jeu de données dans ClickHouse
- Dans Airbyte, ouvrez la page “Connexions” et ajoutez une nouvelle connexion
- Sélectionnez “Utiliser une source existante”, puis choisissez New York City Taxi Data. Sélectionnez ensuite “Utiliser une destination existante” et choisissez votre instance ClickHouse.
-
Remplissez le formulaire “Configurer la connexion” en choisissant une fréquence de réplication (nous utiliserons
manualpour ce tutoriel), puis sélectionneznyc_taxi_2022comme flux à synchroniser. Assurez-vous de choisirNormalized Tabular Datacomme option de normalisation.
- Une fois la connexion créée, cliquez sur “Synchroniser maintenant” pour déclencher le chargement des données (car nous avons choisi
Manualcomme fréquence de réplication)
- Le chargement de vos données commencera, vous pouvez développer la vue pour voir les logs et la progression d’Airbyte. Une fois l’opération terminée, vous verrez un message
Completed successfullydans les logs :
-
Connectez-vous à votre instance ClickHouse à l’aide de votre client SQL préféré et vérifiez la table qui en résulte :
La réponse devrait ressembler à :La réponse est :
-
Notez qu’Airbyte a automatiquement inféré les types de données et ajouté 4 colonnes à la table de destination. Ces colonnes sont utilisées par Airbyte pour gérer la logique de réplication et consigner les opérations. Vous trouverez plus de détails dans la documentation officielle d’Airbyte.
Maintenant que le jeu de données est chargé dans votre instance ClickHouse, vous pouvez créer une nouvelle table et utiliser des types de données ClickHouse plus appropriés (plus de détails).
- Félicitations ! Vous avez chargé avec succès les données des taxis de New York dans ClickHouse à l’aide d’Airbyte !