【发布时间】:2016-10-27 20:30:06
【问题描述】:
我正在编写一个从 Kafka 主题读取的 Spark (v1.6.0) 批处理作业。
为此,我可以使用 org.apache.spark.streaming.kafka.KafkaUtils#createRDD 但是,
我需要为所有分区设置偏移量,还需要将它们存储在某个地方(ZK?HDFS?)以知道从哪里开始下一个批处理作业。
在批处理作业中从 Kafka 读取数据的正确方法是什么?
我也在考虑写一个 streaming 作业,它从 auto.offset.reset=smallest 读取并保存检查点
到 HDFS,然后在下一次运行中从那里开始。
但在这种情况下,我怎样才能只获取一次并在第一批之后停止流式传输?
【问题讨论】:
-
最好分别提出两个问题。
标签: scala apache-spark apache-kafka spark-streaming kafka-consumer-api