Pré-requisito
Criando seu primeiro ClickPipe
- Acesse o SQL Console do seu serviço do ClickHouse Cloud.
- Selecione o botão
Data Sourcesno menu à esquerda e clique em “Set up a ClickPipe”
- Selecione sua fonte de dados.
- Preencha o formulário informando um nome para o ClickPipe, uma descrição (opcional), sua função do IAM ou credenciais e outros detalhes da conexão.
-
Selecione o stream do Kinesis, o Data format e o offset inicial. Para
Protobuf, envie um arquivo.protoou umFileDescriptorSetserializado (máximo de 768 KiB). Não é necessário schema registry. A UI exibe dados de exemplo do stream selecionado. A opção Use Kinesis Enhanced Fan-Out está ativada por padrão. Consulte a documentação do Amazon Kinesis para mais detalhes.
- Na próxima etapa, você pode escolher se deseja fazer a ingestão de dados em uma nova tabela do ClickHouse ou reutilizar uma já existente. Siga as instruções na tela para modificar o nome da tabela, o esquema e as configurações. Você pode ver uma prévia em tempo real das alterações na tabela de exemplo na parte superior.
- Como alternativa, você pode optar por fazer a ingestão dos seus dados em uma tabela existente do ClickHouse. Nesse caso, a UI permitirá mapear campos da origem para os campos do ClickHouse na tabela de destino selecionada.
- Por fim, você pode configurar permissões para o usuário interno do ClickPipes.
Full access: com acesso total ao cluster. Isso pode ser útil se você usar visão materializada ou Dicionário com a tabela de destino.Only destination table: apenas com permissões deINSERTna tabela de destino.
- Ao clicar em “Complete Setup”, o sistema registrará seu ClickPipe, e você poderá vê-lo listado na tabela de resumo.
- Parabéns! Você configurou com sucesso seu primeiro ClickPipe. Se este for um ClickPipe de streaming, ele ficará em execução contínua, fazendo ingestão de dados em tempo real da sua fonte de dados remota. Caso contrário, ele fará a ingestão do lote e será concluído.
Formatos de dados suportados
Compressão
- gzip
- zstd
- lz4
- snappy (formato com frames)
A detecção automática é segura para formatos baseados em texto, como JSON e CSV, pois caracteres ASCII imprimíveis nunca coincidem com bytes mágicos de compressão.
Tipos de dados suportados
Suporte a tipos padrão
- Tipos numéricos básicos - [U]Int8/16/32/64, Float32/64 e BFloat16
- Tipos inteiros grandes - [U]Int128/256
- Tipos Decimal
- Boolean
- String
- FixedString
- Date, Date32
- DateTime, DateTime64 (apenas timezones UTC)
- Enum8/Enum16
- UUID
- IPv4
- IPv6
- todos os tipos LowCardinality do ClickHouse
- map com chaves e valores usando qualquer um dos tipos acima (incluindo Nullable)
- Tuple e Array com elementos usando qualquer um dos tipos acima (incluindo Nullable, com apenas um nível de profundidade)
- Tipos SimpleAggregateFunction (para destinations AggregatingMergeTree ou SummingMergeTree)
Suporte ao tipo Variant
Variant(String, Int64, DateTime)) para qualquer campo JSON
no stream de dados de origem. Devido à forma como o ClickPipes determina o subtipo correto de Variant a ser usado, apenas um tipo inteiro ou datetime
pode ser usado na definição de Variant — por exemplo, Variant(Int64, UInt32) não é compatível.
Suporte ao tipo JSON
Colunas virtuais do Kinesis
Add Column.
O campo _raw_message pode ser usado nos casos em que apenas o registro JSON completo do Kinesis é necessário (como ao usar as funções
JsonExtract* do ClickHouse para preencher uma
visão materializada downstream). Para esses pipes, excluir todas as colunas “não virtuais” pode melhorar o desempenho do ClickPipes.
Limitações
- DEFAULT não é suportado.
- Mensagens individuais são limitadas por padrão a 16 MB (sem compactação) ao usar o menor tamanho de réplica (XS) e a 32 MB (sem compactação) com réplicas maiores. Mensagens que excederem esse limite serão rejeitadas com erro. Se precisar de mensagens maiores, entre em contato com o suporte.
Desempenho
Processamento em lotes
- O tamanho do lote atinge o tamanho máximo (100.000 linhas ou 32MB por 1GB de memória de réplica)
- O lote permanece aberto pelo tempo máximo permitido (5 segundos)