Requisito previo
Creación de tu primer ClickPipe
- Accede a la SQL Console de tu servicio de ClickHouse Cloud.
- Selecciona el botón
Data Sourcesen el menú lateral izquierdo y haz clic en “Set up a ClickPipe”
- Selecciona tu fuente de datos.
- Completa el formulario asignándole a tu ClickPipe un nombre, una descripción (opcional), tu rol de IAM o credenciales, y otros detalles de conexión.
- Selecciona Kinesis Stream y el desplazamiento inicial. La UI mostrará un documento de muestra de la fuente seleccionada (Kafka topic, etc.). También puedes habilitar Enhanced Fan-out para los streams de Kinesis y así mejorar el rendimiento y la estabilidad de tu ClickPipe (puedes encontrar más información sobre Enhanced Fan-out aquí)
- En el siguiente paso, puedes seleccionar si quieres ingestar datos en una tabla nueva de ClickHouse o reutilizar una existente. Sigue las instrucciones en pantalla para modificar el nombre de la tabla, el esquema y la configuración. Puedes ver una vista previa en tiempo real de tus cambios en la tabla de muestra de la parte superior.
- Como alternativa, puedes optar por ingestar tus datos en una tabla existente de ClickHouse. En ese caso, la UI te permitirá mapear los campos de la fuente a los campos de ClickHouse en la tabla de destino seleccionada.
- Por último, puedes configurar los permisos del usuario interno de ClickPipes.
Full access: con acceso completo al clúster. Puede ser útil si usas una vista materializada o un Diccionario con la tabla de destino.Only destination table: solo con permisosINSERTsobre la tabla de destino.
- Al hacer clic en “Complete Setup”, el sistema registrará tu ClickPipe y podrás verlo en la tabla de resumen.
- ¡Enhorabuena! Has configurado correctamente tu primer ClickPipe. Si este es un ClickPipe de streaming, se ejecutará continuamente e ingestará datos en tiempo real desde tu fuente de datos remota. De lo contrario, ingestará el lote y finalizará.
Formatos de datos admitidos
Compresión
- gzip
- zstd
- lz4
- snappy (formato framed)
La detección automática es segura para formatos basados en texto, como JSON y CSV, ya que los caracteres ASCII imprimibles nunca coincidirán con los bytes mágicos de compresión.
Tipos de datos admitidos
Compatibilidad con tipos estándar
- Tipos numéricos básicos: [U]Int8/16/32/64, Float32/64 y BFloat16
- Tipos enteros grandes: [U]Int128/256
- Tipos Decimal
- Boolean
- String
- FixedString
- Date, Date32
- DateTime, DateTime64 (solo zonas horarias UTC)
- Enum8/Enum16
- UUID
- IPv4
- IPv6
- todos los tipos LowCardinality de ClickHouse
- Map con claves y valores que usan cualquiera de los tipos anteriores (incluidos los Nullable)
- Tuple y Array con elementos que usan cualquiera de los tipos anteriores (incluidos los Nullable, con un solo nivel de profundidad)
- Tipos SimpleAggregateFunction (para destinos AggregatingMergeTree o SummingMergeTree)
Compatibilidad con el tipo Variant
Variant(String, Int64, DateTime)) para cualquier campo JSON
del flujo de datos de origen. Debido a la forma en que ClickPipes determina qué subtipo de Variant debe usar, solo se puede usar un tipo entero o de fecha y hora
en la definición de Variant; por ejemplo, Variant(Int64, UInt32) no es compatible.
Compatibilidad con el tipo JSON
Columnas virtuales de Kinesis
Add Column.
El campo _raw_message puede usarse cuando solo se necesita el registro JSON completo de Kinesis (por ejemplo, al usar las funciones
JsonExtract* de ClickHouse para rellenar una vista materializada
posterior). Para esos pipes, eliminar todas las columnas “no virtuales” puede mejorar el rendimiento de ClickPipes.
Limitaciones
- DEFAULT no se admite.
- De forma predeterminada, los mensajes individuales están limitados a 8 MB (sin comprimir) cuando se utiliza el tamaño de réplica más pequeño (XS), y a 16 MB (sin comprimir) con réplicas más grandes. Los mensajes que superen este límite se rechazarán con un error. Si necesita mensajes más grandes, póngase en contacto con el equipo de soporte.
Rendimiento
Procesamiento por lotes
- El tamaño del lote alcanza el tamaño máximo (100,000 filas o 32MB por 1GB de memoria de la réplica)
- El lote ha permanecido abierto durante el tiempo máximo (5 segundos)