Pyspark 当使用addFile时,我得到了java.io.FileNotFoundException。
我遇到了一个困惑的问题。我想向所有spark workers上传一个hdfs文件。代码如下: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__
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()。如果解决方案对您有效,请务必接受答案。这应该是正确的,但我遇到了另一个问题。我将结束此问题,谢谢您的帮助!