Requisito previo
Crear su primer ClickPipe
- Acceda a la SQL Console de su servicio de ClickHouse Cloud.
- Seleccione el botón
Data Sourcesen el menú lateral izquierdo y haga clic en “Set up a ClickPipe”
- Seleccione su fuente de datos.
- Complete el formulario proporcionando a su ClickPipe un nombre, una descripción (opcional), su rol de IAM o sus credenciales, y otros detalles de conexión.
-
Seleccione el stream de Kinesis, Data format y el offset inicial. Para
Protobuf, cargue un archivo.protoo unFileDescriptorSetserializado (máximo 768 KiB). No se requiere ningún schema registry. La UI muestra datos de ejemplo del stream seleccionado. Use Kinesis Enhanced Fan-Out está habilitado de forma predeterminada. Consulte la documentación de Amazon Kinesis para más detalles.
- En el siguiente paso, puede seleccionar si desea ingestar datos en una nueva tabla de ClickHouse o reutilizar una existente. Siga las instrucciones en pantalla para modificar el nombre de la tabla, el esquema y la configuración. Puede ver una vista previa en tiempo real de sus cambios en la tabla de ejemplo de la parte superior.
- Como alternativa, puede decidir ingestar sus datos en una tabla de ClickHouse existente. En ese caso, la UI le permitirá mapear campos de la fuente a los campos de ClickHouse en la tabla de destino seleccionada.
- Por último, puede configurar los permisos para el usuario interno de ClickPipes.
Full access: con acceso completo al clúster. Puede resultar útil si usa 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á su ClickPipe y podrá verlo en la tabla de resumen.
- ¡Enhorabuena! Ha configurado correctamente su primer ClickPipe. Si se trata de un ClickPipe de streaming, se ejecutará continuamente e ingestará datos en tiempo real desde su 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 16 MB (sin comprimir) cuando se utiliza el tamaño de réplica más pequeño (XS), y a 32 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)