我想将Dataset [Row]保存为文本文件,并在特定位置使用特定名称。 有人可以帮我吗?
我已经尝试过了,但这会给我产生一个文件夹(LOCAL_FOLDER_TEMP / filename),其中包含镶木地板文件: Dataset.write.save(LOCAL_FOLDER_TEMP +文件名)
谢谢
答案 0 :(得分:1)
Spark始终创建多个文件-每个分区一个文件。如果您只需要一个文件-您需要执行collect()
,然后按照常规方式将其写入文件。
答案 1 :(得分:1)
您无法使用spark api将数据集保存到特定的文件名,有多种解决方法。
两者,因为在大型数据集中,这可能会导致OOM或只是失去spark并行性的功能。
获取镶木地板文件的第二个问题,因为默认格式为spark,所以应使用:
df.write.format("text").save("/path/to/save")
答案 2 :(得分:1)
请使用
RDD.saveAsTextFile()
它将数据集的元素作为文本文件(或文本文件集)写入本地文件系统,HDFS或任何其他Hadoop支持的文件系统中的给定目录中。 Spark将在每个元素上调用toString,以将其转换为文件中的一行文本。