首页 文章

Pyspark:hdfs中没有这样的文件或目录

提问于
浏览
0

我试图使用 pyspark 解析xml文件 . 我的文件出现在 HDFS 中 . 我在下面写了我的代码,但是当我执行它时,它无法识别位置 . 请帮忙 - 下面是我的代码

Code:

import xml.etree.ElementTree as ET
filenme = sc.wholeTextFiles("/user/root/CDs")
def add_hrk(file):
   tree = ET.parse(file)
   doc = tree.getroot()
filenme.map(lambda(filename, content): filename).foreach(add_hrk)

Error:

IOError: [Errno 2] No such file or directory: u'hdfs://xxxx/user/root/CDs/Parsed_CD.xml'

我想提一下,我正在使用 wholeTextFiles 因为在函数 ET.parse 中我必须提到我目前正在尝试处理的文件的路径 . 请建议,因为我没有找到任何解决方案 . 我已经检查了hdfs中存在的文件,但它正在抛出该错误 .

1 回答

  • 1

    ElementTree 库期望文件在本地文件系统上可用 . 这就是为什么你使用而不是fromstring,例如:

    import xml.etree.ElementTree as ET
    filenme = sc.wholeTextFiles("/user/root/CDs")
    def add_hrk(content):
       tree = ET.fromstring(content)
       doc = tree.getroot()
    
    filenme.map(lambda(filename, content): content).foreach(add_hrk)
    

相关问题