2

我在 HDFS 中有大约 1500 个 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 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

使用 python 从 HDFS 访问文件的最佳推荐方法是什么?

4

2 回答 2

1
pip install snakebite-py3 

这将帮助您解决该问题...

于 2020-04-07T12:42:08.807 回答
-1

我遇到了同样的问题。snakebite 与 python 3 不兼容。xu 可以将它与 python 2 一起使用。

于 2019-01-22T13:30:10.077 回答