【发布时间】:2019-05-01 11:54:21
【问题描述】:
我有从 kafka 分区 (one executor per partition) 读取数据的 Spark Streaming 作业。
我需要将转换后的值保存到 HDFS,但需要避免创建空文件。
我尝试使用 isEmpty,但当并非所有分区都为空时,这无济于事。
附:由于性能下降,重新分区不是可接受的解决方案。
【问题讨论】:
-
你可以使用 Kafka Connect 来代替......这样你就不需要编写代码,你也不会有空文件
-
@cricket_007 这可能适用于文本数据,但不适用于需要处理和多个输出的我的 avro 管道。现在它适用于 LazyOutputFormat
-
Kafka 连接与 Avro docs.confluent.io/current/connect/kafka-connect-hdfs/index.html 工作正常@
-
@cricket_007 我有 json,而不是 Kafka 中的 avro。我为每条消息在 avro 中构建了三个具有不同内容的输出。在您发表第一条评论后,我阅读了 confluent.io 上的页面,但仍然认为它不能解决我的问题。
标签: apache-spark hadoop apache-kafka spark-streaming spark-streaming-kafka