Pyspark 当使用addFile时,我得到了java.io.FileNotFoundException。

Pyspark 当使用addFile时,我得到了java.io.FileNotFoundException。,pyspark,Pyspark,我遇到了一个困惑的问题。我想向所有spark workers上传一个hdfs文件。代码如下: import sys import os from pyspark.ml.feature import Word2Vec from pyspark import SparkConf, SparkContext from pyspark.sql import Row import jieba.posseg as posseg import jieba if __name__ == "__main__

我遇到了一个困惑的问题。我想向所有spark workers上传一个hdfs文件。代码如下:

import sys 
import os
from pyspark.ml.feature import Word2Vec
from pyspark import SparkConf, SparkContext
from pyspark.sql import Row 
import jieba.posseg as posseg 
import jieba
if __name__ == "__main__":
    reload(sys)  
    sys.setdefaultencoding('utf-8')
    conf = SparkConf().setAppName('fenci_0')
    sc = SparkContext(conf=conf)
    date = '20180801' 
    scatelist = ['95']
    #I want to add a hdfs_file to all spark worker
    hdfs_file_path = '/home/a/part-00000'
    sc.addFile(hdfs_file_path)
    ...
    ...
但它得到了一个类似“java.io.FileNotFoundException:添加的文件不存在”的错误

但是我可以访问hdfs\u file\u路径,并且可以获取文件内容。为什么会发生这种情况?我猜在添加hdfs文件时,sc.addFile可能需要一些前缀,例如“sc.add('hdfs/:hdfs\u file\u path')

我已经在google和stackoverflow上搜索过了,但可能我搜索的关键词不正确。你能帮我找到错误吗?非常感谢。

是的

您需要提供完整的HDFS路径,可能如下所示:

sc.addFile('hdfs:///home/a/part-00000)


这是因为
sc.addFile()。如果解决方案对您有效,请务必接受答案。这应该是正确的,但我遇到了另一个问题。我将结束此问题,谢谢您的帮助!