【发布时间】:2018-01-19 00:44:19
【问题描述】:
我有一个仅包含标题(id、name、age)和 0 行的数据集。 我想将其作为 csv 文件写入 hdfs 位置,使用
DataFrameWriter dataFrameWriter = dataset.write();
Map<String, String> csvOptions = new HashMap<>();
csvOptions.put("header", "true");
dataFrameWriter = dataFrameWriter.options(csvOptions);
dataFrameWriter.mode(SaveMode.Overwrite).csv(location);
在 hdfs 位置,文件是:
1. _SUCCESS
2. tempFile.csv
如果我去那个位置并下载文件 (tempFile.csv) ,我会得到一个空的 csv 文件。 已尝试使用标头 true 和 false 。 如何将标头写入 csv 文件的内容?
【问题讨论】:
-
你的数据集是有 0 行还是 1 行包含标题?
-
当我执行 dataset.collect() 时,它给出了 0 行。但是数据集有模式详细信息,它是创建此数据集的 csv 文件的标头。
-
确实,在将空数据集写入csv时,似乎没有写入headers。
标签: java csv hadoop apache-spark apache-spark-dataset