连接到数据流
在 Qlik Open Lakehouse 项目中支持以下数据流服务。事件数据持续摄取,以确保下游数据集成、分析和 AI 的近乎实时可用性,从而实现反映最新操作活动的低延迟管道。
Apache Kafka 和 Amazon Kinesis 等数据流服务提供持久、高吞吐量的管道,用于捕获实时操作事件。与依赖批处理摄取的文件源不同,数据流源在事件生成时持续传输数据,从而实现近乎实时的处理,无需等待文件生成或调度。生产者发布保留其架构并支持分区的结构化或半结构化消息。同一记录的所有更新和删除都必须使用相同的分区键。Kafka 和 Kinesis 仅在单个分区或分片内(而非整个主题或数据流中)保证排序,因此使用一致的分区键可确保给定记录的更改按正确顺序处理。Qlik 还支持将 Amazon S3 作为数据流源,用于持续摄取事件数据。
数据流式摄取与批量摄取
数据流和批处理数据源的区别如下:
-
对于这两种数据源,事件每分钟高效摄取,支持低延迟处理和近实时分析。
-
对于非数据流数据源,首先会进行现有数据的满负载,然后摄取更改。您还可以从数据源重新加载满负载数据。
-
对于数据流数据源,初始加载和后续事件之间没有明确的区别。Qlik 可以管理保留,并且还支持分区。
在 Qlik Open Lakehouse 项目中,流式源只能与 流式登陆任务 和 流式转换任务 一起使用:
-
流式数据使用 流式登陆任务 摄取,流式登陆任务不处理离散文件,而是读取到达的事件,将数据登陆到 Amazon S3 中,并将事件持久化为 Avro 文件。这种方法保留了架构演变,支持结构体等复杂数据类型,并提供高效存储和优化的查询性能,同时保持连续摄取模型。
-
当您从数据流源载入数据时,系统会自动为每个将以 Iceberg 格式存储的数据集添加一个数据流转换任务。您可以选择使用数据流转换任务来标准化结构、丰富事件负载或使数据与下游消费模型保持一致。
-
通过镜像数据任务,可以将数据流源中的数据集镜像到云数据仓库,从而使下游系统能够消费数据流事件而无需复制数据。有关更多信息,请参阅将数据镜像到云数据仓库。
限制
以下限制适用于所有数据源:
-
如果您的文件类型不同,这可能发生在文件源自多个来源或版本时,则使用单个样本文件(例如,在入门期间)创建的转换任务不会自动考虑这些差异。
-
如果您更改登陆任务中的数据类型,例如因为您需要对数据进行哈希处理,请确保转换数据类型与新数据类型匹配。