我正在尝试通过 PySpark 从 HDFS 读取一个 csv 文件。 我正在使用以下代码:
path='hdfs://XX.XX.XX.XX:X000'
myrdd=sc.textFile(path)
可以正常读取文件。但是,稍后当我尝试将其转换为数据框时出现以下错误:
Py4JJavaError:调用 o423.partitions 时出错。 : java.io.IOException: 不完整的 HDFS URI,没有主机:hdfs://XX.XX.XX.XX:X000
我用来创建数据框的代码是:
from pyspark import Row
instance=Row('feature1', 'feature2')
ins=myrdd.map(lambda r: instance(*r))
df = hc.createDataFrame(ins)
df.collect()
只是提一下,如果我稍微更改一个实际不存在的文件的路径,假文件仍然可以以某种方式读取,这让我觉得真实文件有问题但我不完全当然可以。这可能是配置问题吗?
最佳答案
在我的实例中,我必须提供完整路径,即
val file = sc.textFile("hdfs://localhost:9000/user/$username/input/file.csv")
关于csv - 不完整的 HDFS URI,没有主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48950289/