scala 如何将Spark Dataframe /数据集写入多个输出?

brccelvz  于 2022-11-09  发布在  Scala
关注(0)|答案(1)|浏览(160)

我想将Dataset[T]转换为多个数据集Dataset[U1]Dataset[U2]、...、Dataset[Un],其中U1Un是不同的类型。此外,我想把它们平行地写出来。我知道如何使用对RDDS来实现这一点,并且我没有考虑分区(这意味着U1=...=Un)。怎么做呢?

6bc51xsx

6bc51xsx1#

在使用结构化流媒体时,我发现了一个名为foreachBatch的东西:

streamingDF.writeStream.foreachBatch { (batchDF: DataFrame, batchId: Long) =>
  batchDF.persist()
  batchDF.write.format(...).save(...)  // location 1
  batchDF.write.format(...).save(...)  // location 2
  batchDF.unpersist()
}

更多细节here

相关问题