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

bsxbgnwa  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(412)

我正在尝试使用pyspark解析xml文件。我的文件存在于hdfs中。我已经写了下面的代码,但当我执行它时,它无法识别位置。请帮助-下面是我的代码
代码:

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)

错误:

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

我想提到的是,我正在使用wholetextfiles,因为在函数et.parse中,我必须提到我当前试图处理的文件的路径。请建议,因为我没有找到任何解决办法。我已经检查了文件是否存在于hdfs中,但是它抛出了这个错误。

4xrmg8kj

4xrmg8kj1#

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)

相关问题