我正在尝试将文本文件从spark保存到边缘节点。
要测试我的代码,我正在从hdfs中读取示例文件作为数据集并将其写入边缘节点。请在下面找到我的代码
val dataone = sparkSession.read.textFile("/user/projects/folder1/employee.txt")
dataone.write.mode("append").format("text").save("file:///edge_node_folder1/edge_node_folder2/employee.txt")
在HDFS中,我的示例文件为文本文件格式。但是在边缘节点上,它被保存为命名为employee.txt的文件夹中的零件文件
有没有一种方法可以将文件另存为边缘节点上的文本文件(不在文件夹内),并且具有与路径中提到的名称相同的名称(在我的情况下,hadoop不会为其自动生成的名称为其零件文件提供名称)边缘节点,文本文件被保存为employee.txt文件夹中的
part-00000-808ccd9e-7b7d-4b63-88ae-782d40bb272f-c000.txt
_SUCCESS
)
答案 0 :(得分:0)
使用“ toLocalIterator”可以手动创建单个文件:
val fos = new OutputStreamWriter(new FileOutputStream("/edge_node_folder1/edge_node_folder2/employee.txt"))
val it = dataone.toLocalIterator()
while (it.hasNext) {
fos.write(it.next())
fos.write(System.lineSeparator())
}
fos.close()