1

亲爱的,

我正在考虑如何在给定的通用数据中心架构中正确使用 Streamsets 的选项:

  • 我有几种数据类型(csv、tsv、json、来自 IOT 的二进制文件)需要由 CDC 捕获并以原样格式保存到 Kafka 主题中,然后原样沉入 HDFS 数据湖。
  • 然后,另一个 Streamsets Pipeline 将从这个 Kafka 主题中消费,并将其转换为通用格式(取决于数据类型)为 JSON,并执行验证、屏蔽、元数据等并保存到另一个 Kafka 主题。
  • 相同的 JSON 消息将以 Avro 格式保存到 HDFS Data Lake 中以进行批处理。
  • 然后,我将使用 Spark Streaming 使用相同的 JSON 消息进行实时处理,假设 JSON 数据已准备就绪,并且可以进一步丰富其他数据以进行可扩展的复杂转换。

我没有使用 Streamsets 进行进一步处理,也没有使用 Spark Streaming 进行可扩展的复杂转换,这不是 SLA 管理的一部分(因为 Spark 作业不是从 Streamsets 中触发的)此外,我无法在此设计中将 Kafka Registry 与 Avro 一起使用验证 JSON 模式和 JSON 模式是基于作为 Javascript 嵌入到 StreamSets 中的自定义逻辑进行验证的。

上面的设计有什么可以做得更好的?

提前致谢...

4

1 回答 1

0

您的管道设计看起来不错。

但是,我建议使用 Striim 合并其中的几个步骤。

  • Striim 已从您列出的所有来源以及数据库中内置了 CDC(变更数据捕获)
  • 它具有原生 kafka 集成,因此您可以在同一管道中写入和读取 kafka
  • Striim 还内置了用于丰富的缓存和处理操作符。这样您就不需要编写 Spark 代码来进行扩充。一切都通过我们简单的 UI 完成。

你可以在这里试试:

https://striim.com/instant-download

全面披露:我是 Striim 的 PM。

于 2018-07-11T01:03:54.247 回答