无法使用pyspark写入hdfs

k7fdbhmy  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(461)

我正在尝试使用pyspark将数据写入hdfs,如下所示:

import pyspark
from pyspark.sql import SparkSession
sparkSession = SparkSession.builder.appName("example-pyspark-read-and-write").getOrCreate()
data = [('First', 1), ('Second', 2), ('Third', 3), ('Fourth', 4), ('Fifth', 5)]
df = sparkSession.createDataFrame(data)

df.write.csv("hdfs://<hdfs_server>:9000/example.csv")

我得到这个错误:

Py4JJavaError: An error occurred while calling o445.csv.
: java.net.ConnectException: Call From <hdfs_server> to <hdfs_server>:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

我的hdfs在端口9000上运行

hdfs getconf -confKey fs.defaultFS
hdfs://localhost:9000

你知道我做错了什么吗?

cnwbcb6i

cnwbcb6i1#

spark 2.2 你可以像下面这样做

data = [('First', 1), ('Second', 2), ('Third', 3), ('Fourth', 4), ('Fifth', 5)]
df = spark.createDataFrame(data)

df.write.csv("example.csv")

你不需要特别通过考试 hdfs path . 您所需要的只是提供您想要存储数据的位置 CSVHDFS .
上面的代码将创建一个 example.csv hdfs中的目录和所有csv文件都将位于该目录下。

相关问题