HDFS:使用Python3从HDFS读取数据以解析HDFS中的XML文件
我有大约1500个HDFS格式的XML文件,每个文件大约2-3Gb。我需要编写一个python脚本来解析XML文件以执行MapReduce。然而,我面临着使用python访问HDFS中的文件的问题 我尝试了以下脚本,但收到一个错误HDFS:使用Python3从HDFS读取数据以解析HDFS中的XML文件,python,hadoop,hdfs,snakebite,Python,Hadoop,Hdfs,Snakebite,我有大约1500个HDFS格式的XML文件,每个文件大约2-3Gb。我需要编写一个python脚本来解析XML文件以执行MapReduce。然而,我面临着使用python访问HDFS中的文件的问题 我尝试了以下脚本,但收到一个错误 from snakebite.client import Client def connection(): hadoop_client = Client('HDFS_hostname', 'HDFS_port', use_trash=False) for x in h
from snakebite.client import Client
def connection():
hadoop_client = Client('HDFS_hostname', 'HDFS_port', use_trash=False)
for x in hadoop_client.ls(['/']):
print(x)
错误如下:
Traceback (most recent call last):
File "/home/ubuntu/PycharmProjects/textmining/read_data_from_HDFS.py", line 5, in <module>
from snakebite.client import Client
File "/usr/local/lib/python3.6/dist-packages/snakebite/client.py", line 1473
baseTime = min(time * (1L << retries), cap);
^
SyntaxError: invalid syntax
回溯(最近一次呼叫最后一次):
文件“/home/ubuntu/PycharmProjects/textmining/read_data_from_HDFS.py”,第5行,在
从snakebite.client导入客户端
文件“/usr/local/lib/python3.6/dist-packages/snakebite/client.py”,第1473行
baseTime=min(时间*)(1L我是在同一个问题上遇到的。
蛇咬伤与Python3不兼容。您可以将其与Python2一起使用
pip install snakebite-py3
这将帮助你解决这个问题