gpt4 book ai didi

apache-spark - Pyspark-将文件从本地(边缘节点)复制到HDFS位置时出错

转载 作者:行者123 更新时间:2023-12-02 19:46:44 24 4
gpt4 key购买 nike

我正在尝试使用以下代码将文件从本地复制到pyspark中的HDFS位置。

sc = SparkSession.builder.appName("HDFSPySparkRead").getOrCreate()
sparkCont = sc.sparkContext
URI = sparkCont._jvm.java.net.URI
Path = sparkCont._jvm.org.apache.hadoop.fs.Path
FileSystem = sparkCont._jvm.org.apache.hadoop.fs.FileSystem
Configuration = sparkCont._jvm.org.apache.hadoop.conf.Configuration


fs = FileSystem.get(URI("hdfs://gcgmwdcuat:8020"), Configuration())
fs.copyFromLocalFile('/home/ak18191/ar_new.txt', 'hdfs://gcgmwdcuat:8020/user/ak18191/')

出现错误:

py4j.Py4JException:方法copyFromLocalFile([class java.lang.String,class java.lang.String])不存在

我也尝试下面的代码
import subprocess
cmd = 'hdfs dfs -put -f /home/ak18191/ar_new.txt hdfs://gcgmwdcuat:8020/user/ak18191/'
subprocess.call(cmd)

但是获取文件未找到错误。该命令在spark-shell中成功执行。请帮忙!

最佳答案

copyFromLocalFile接受两个Path对象,而不是字符串

https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/fs/FileSystem.html

关于apache-spark - Pyspark-将文件从本地(边缘节点)复制到HDFS位置时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60608842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com