【发布时间】:2018-05-29 11:03:54
【问题描述】:
我使用ssh 连接到集群,并使用
spark-submit --master yarn myProgram.py
我想将结果保存在文本文件中,我尝试使用以下行:
counts.write.json("hdfs://home/myDir/text_file.txt")
counts.write.csv("hdfs://home/myDir/text_file.csv")
但是,它们都不起作用。程序结束,我在myDir 中找不到文本文件。你知道我该怎么做吗?
另外,有没有办法直接写入我的本地机器?
编辑:我发现home 目录不存在,所以现在我将结果保存为:
counts.write.json("hdfs:///user/username/text_file.txt")
但这会创建一个名为text_file.txt 的目录,在里面我有很多文件,里面有部分结果。但我想要一个包含最终结果的文件。有什么想法可以做到这一点吗?
【问题讨论】:
-
你能显示
hdfs dfs -ls hdfs://home/myDir的输出吗? -
另外,如果Spark使用HDFS作为默认文件系统,你只需要
/home/myDir写入 -
-ls: java.net.UnknownHostException: home所以我猜这个文件夹不存在。通常当我将文件保存在目录中时,我应该把它放在哪里? -
你可以把它放在任何地方... HDFS 默认是空的。但是
/home是Linux用户目录....在HDFS中,它是/user。 -
UnknownHostException是因为您的路径错误。应该是hdfs:///home/myDir,或者最好从任何地方删除hdfs://,如前所述
标签: python apache-spark pyspark hdfs spark-submit