多个主题的 Kafka Spark Streaming 摄取
Kafka Spark Streaming ingestion for multiple topics
我们目前正在使用 Spark Streaming 将 Kafka 消息提取到 HDFS 中。到目前为止,我们为每个主题生成了一个完整的 Spark 作业。
由于某些主题很少生成消息(平均每天 1 条),我们正在考虑在 池 中组织摄取。
我们的想法是避免为这个 "unfrequent" 主题创建一个完整的容器(和相关资源)。事实上,Spark Streaming 在输入中接受 主题列表 ,因此我们正在考虑使用此功能,以便 单个作业 消耗所有其中
大家觉得曝光的这个好攻略吗?我们也考虑过批量摄取,但我们喜欢保持实时行为,所以我们排除了这个选项。您有什么提示或建议吗?
Spark Streaming 是否能很好地处理多个主题作为源,以防在偏移一致性等方面出现故障?
谢谢!
我认为 Spark 应该能够很好地处理多个主题,因为他们长期以来一直支持这一点,是的,Kafka connect 并不融合 API。 Confluent 确实为他们的集群提供了连接器,但您也可以使用它。您可以看到 Apache Kafka 也有 Connect API.
的文档
Apache 版的 Kafka 有点困难,但你可以使用它。
https://kafka.apache.org/documentation/#connectapi
此外,如果您在单个 spark 流作业中选择多个 kafka 主题,您可能需要考虑不要创建小文件,因为您的频率似乎非常低。
我们目前正在使用 Spark Streaming 将 Kafka 消息提取到 HDFS 中。到目前为止,我们为每个主题生成了一个完整的 Spark 作业。
由于某些主题很少生成消息(平均每天 1 条),我们正在考虑在 池 中组织摄取。
我们的想法是避免为这个 "unfrequent" 主题创建一个完整的容器(和相关资源)。事实上,Spark Streaming 在输入中接受 主题列表 ,因此我们正在考虑使用此功能,以便 单个作业 消耗所有其中
大家觉得曝光的这个好攻略吗?我们也考虑过批量摄取,但我们喜欢保持实时行为,所以我们排除了这个选项。您有什么提示或建议吗?
Spark Streaming 是否能很好地处理多个主题作为源,以防在偏移一致性等方面出现故障?
谢谢!
我认为 Spark 应该能够很好地处理多个主题,因为他们长期以来一直支持这一点,是的,Kafka connect 并不融合 API。 Confluent 确实为他们的集群提供了连接器,但您也可以使用它。您可以看到 Apache Kafka 也有 Connect API.
的文档Apache 版的 Kafka 有点困难,但你可以使用它。
https://kafka.apache.org/documentation/#connectapi
此外,如果您在单个 spark 流作业中选择多个 kafka 主题,您可能需要考虑不要创建小文件,因为您的频率似乎非常低。