Conceitos-chave
Guia de configuração
1
Reúna os dados de conexão do ClickHouse
Para se conectar ao ClickHouse via HTTP(S), você precisa das seguintes informações:Os detalhes do seu serviço do ClickHouse Cloud estão disponíveis no console do ClickHouse Cloud.
Selecione um serviço e clique em Connect:Escolha HTTPS. Os detalhes de conexão são exibidos em um comando
curl de exemplo.Se você estiver usando ClickHouse autogerenciado, os detalhes de conexão são definidos pelo administrador do seu ClickHouse.2
Pré-requisitos do Apify
Você também vai precisar de:- Uma conta no Apify (com nível gratuito disponível).
- Um token da API do Apify, encontrado em Settings > Integrations no Apify Console.
- Node.js 18+ instalado localmente (para os exemplos em JavaScript).
3
Instale as dependências
Instale o cliente JavaScript do Apify e o cliente JavaScript do ClickHouse:Apify também fornece um Python client. Se você preferir Python, instale o
apify-client via pip e use o clickhouse-connect com o ClickHouse.4
5
Busque o dataset do Apify e carregue-o no ClickHouse
O script a seguir busca os resultados da execução de um Actor no Apify e os insere no ClickHouse:6
Automatize com webhooks
Em vez de executar o script manualmente, automatize o pipeline para que os dados sejam carregados no ClickHouse sempre que um Actor for concluído:- No Apify Console, acesse seu Actor e abra a aba Integrations.
- Adicione um novo webhook com:
- Event type:
ACTOR.RUN.SUCCEEDED - Action: Um HTTP POST para seu endpoint de carregamento ou o acionamento de outro Actor que faça o insert no ClickHouse.
- Event type:
- O payload do webhook inclui o
defaultDatasetId, que você pode usar para buscar os resultados da execução.
Boas práticas
Obtendo dados do Apify
apify-client para JavaScript ou Python) em vez de chamadas HTTP diretas. Ela cuida da paginação, das novas tentativas e da autenticação para você. Para datasets grandes, pagine os resultados usando os parâmetros limit e offset do endpoint List dataset items.
Carregamento no ClickHouse
JSONEachRow ao inserir dados no ClickHouse. Ele corresponde diretamente à saída JSON do Apify, sem necessidade de transformação.
Alinhe o esquema da sua tabela no ClickHouse aos campos de saída do Actor. Verifique o esquema de saída do Actor na página dele na Apify Store ou na aba Dataset após a execução.
Desempenho
Segurança
default para simplificar. Em produção, crie um usuário dedicado com os privilégios mínimos necessários para inserir dados na tabela de destino e armazene as credenciais de forma segura (por exemplo, em variáveis de ambiente ou em um gerenciador de segredos, em vez de fazer commit delas no código-fonte). Consulte Cloud access management para obter orientações.