scala—将spark数据集与分区一起写入excel文件

o3imoua4  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(333)

我有一个类似以下结构的数据集:

col_A      col_B        date
  1          5       2021-04-14
  2          7       2021-04-14
  3          5       2021-04-14
  4          9       2021-04-14

我正在尝试使用spark java中的以下代码将dataaset写入hdfs中的文件。

Dataset<Row> outputDataset; // This is a valid dataset and works flawlessly when written to csv
/*
   some code which sets the outputDataset

* /

outputDataset
    .repartition(1)
    .write()
    .partitionBy("date")
    .format("com.crealytics.spark.excel")
    .option("header", "true")
    .save("/saveLoc/sales");

正常工况:
当我通过使用 .format("csv") ,上面的代码创建一个名为 date=2021-04-14 在小路上 /saveLoc/sales 那是传进来的 .save() 这和预期完全一样。结束文件的完整路径是 /saveLoc/sales/date=2021-04-14/someFileName.csv . 此外,该列 date 已从文件中删除,因为它是在上分区的。
我需要做的是:
但是,当我使用 .format("com.crealytics.spark.excel") ,它只是创建一个名为 sales 在文件夹中 saveLoc 并且不会从结束文件中删除分区(日期)列。这是否意味着它不是在“日期”列上分区?创建的文件的完整路径为 /saveLoc/sales . 请注意,它用sales文件覆盖文件夹“sales”。
使用的excel插件描述如下:https://github.com/crealytics/spark-excel
在excel中编写时如何使其成为分区?换句话说,我怎样才能使它的行为完全像csv的情况一样呢?
谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题