Concepts clés
Guide de configuration
1
Rassemblez vos informations de connexion ClickHouse
Pour vous connecter à ClickHouse via HTTP(S), vous avez besoin des informations suivantes :
Choisissez HTTPS. Les détails de connexion s’affichent dans un exemple de commande 
Si vous utilisez ClickHouse autogéré, les détails de connexion sont définis par votre administrateur ClickHouse.
Les informations de votre service ClickHouse Cloud sont disponibles dans la console ClickHouse Cloud.
Sélectionnez un service, puis cliquez sur Connect :

curl.
2
Prérequis Apify
Vous aurez également besoin de :
- Un compte Apify (offre gratuite disponible).
- Un jeton API Apify, disponible dans Settings > Integrations de la Console Apify.
- Node.js 18+ installé localement (pour les exemples JavaScript).
3
Installer les dépendances
Installez le client JavaScript Apify et le client JavaScript ClickHouse :
Apify fournit également un client Python. Si vous préférez Python, installez
apify-client via pip et utilisez clickhouse-connect pour ClickHouse.4
Créer une table cible dans ClickHouse
Créez une table pour stocker les données extraites. Le schéma dépend de l’Actor que vous utilisez. Cet exemple utilise MergeTree pour un Actor de scraping de produits :
5
Récupérer le dataset Apify et le charger dans ClickHouse
Le script suivant récupère les résultats d’une exécution d’Actor Apify et les insère dans ClickHouse :
6
Automatiser avec des webhooks
Au lieu d’exécuter le script manuellement, automatisez le pipeline afin que les données soient chargées dans ClickHouse à chaque fin d’exécution d’un Actor :
- Dans la Console Apify, accédez à votre Actor et ouvrez l’onglet Integrations.
- Ajoutez un nouveau webhook avec :
- Event type:
ACTOR.RUN.SUCCEEDED - Action: une requête HTTP POST vers votre point de terminaison de chargement, ou le déclenchement d’un autre Actor chargé de l’insertion dans ClickHouse.
- Event type:
- Le payload du webhook inclut
defaultDatasetId, que vous pouvez utiliser pour récupérer les résultats de l’exécution.
Bonnes pratiques
Récupération de données depuis Apify
apify-client pour JavaScript ou Python) plutôt que des appels HTTP directs. Elle gère pour vous la pagination, les tentatives de nouvelle exécution et l’authentification. Pour les datasets volumineux, parcourez les résultats avec pagination à l’aide des paramètres limit et offset de l’endpoint List dataset items.
Chargement dans ClickHouse
JSONEachRow pour insérer des données dans ClickHouse. Il correspond directement à la sortie JSON d’Apify, sans nécessiter de transformation.
Faites correspondre le schéma de votre table ClickHouse aux champs de sortie de l’Actor. Vérifiez le schéma de sortie de l’Actor sur sa page Apify Store ou dans l’onglet Dataset après l’exécution.
Performances
Sécurité
default pour faire simple. En production, créez un utilisateur dédié avec le minimum de privilèges nécessaires pour insérer dans votre table cible, et stockez les identifiants de manière sécurisée (par exemple, dans des variables d’environnement ou un gestionnaire de secrets, plutôt que de les versionner dans le code source). Consultez la gestion des accès Cloud pour plus d’informations.