【发布时间】:2019-11-07 05:30:52
【问题描述】:
我有一个用例,我正在使用 Spark 结构化流处理来自 Kafka 的数据。我有多个要订阅的主题,根据 topic 名称,应将数据框转储到定义的位置(不同主题的不同位置)。我看到这是否可以在 spark 数据框中使用某种拆分/过滤函数来解决,但找不到。
到目前为止,我只订阅了一个主题,并且正在使用自己的书面方法将数据转储到镶木地板格式的位置。这是我目前使用的代码:
def save_as_parquet(cast_dataframe: DataFrame,output_path:
String,checkpointLocation: String): Unit = {
val query = cast_dataframe.writeStream
.format("parquet")
.option("failOnDataLoss",true)
.option("path",output_path)
.option("checkpointLocation",checkpointLocation)
.start()
.awaitTermination()
}
当我订阅不同的主题时,这个 cast_dataframe 也会有来自不同主题的值。我希望将数据从主题转储到仅分配给它的位置。这是怎么做到的?
【问题讨论】:
标签: apache-spark apache-kafka spark-structured-streaming