Jupyter 中的 Pydoop 失败

Pydoop failure in Jupyter

我有一个 Ubuntu O/S,HDP 和 iPython/Jupyter 安装在同一台机器上。 我可以使用 Python2 内核通过 Jupyter notebook 运行 执行各种命令。

但是我在 Jupyter notebook 中使用 Pydoop 时遇到问题。我想使用这个库访问 Hadoop 上 HDFS 中的数据。 我能够在 Python 命令控制台以及 iPython 控制台中成功 运行 以下代码:

import pydoop.hdfs as hdfs
hdfs.ls('/')

但是我在 Jupyter notebook 中的 hdfs.ls 命令中遇到以下错误:

/usr/local/lib/python2.7/dist-packages/pydoop/hdfs/core/__init__.pyc in core_hdfs_fs(host, port, user)
 55             'module not initialized, check that Pydoop is correctly installed'
 56         )
---> 57     return _CORE_MODULE.CoreHdfsFs(host, port, user)

RuntimeError: (255, 'Unknown error 255')

我认为该错误具有误导性,因为同一命令在正常的 python 和 ipython 控制台中确实有效。 我尝试使用以下命令初始化 hdfs class 但出现相同的错误:

host='zzz.zzz.zzz.zzz' <host name masked for question>
port=8020
user='hdfs'

hdfs.init()
hdfs.hdfs(host, port, user)

python -V 命令显示 Jupyter 笔记本和 Python 控制台都在使用 Python 2.7.3

我可以使用以下命令通过 Jupyter notebook 访问 HDFS:

!hdfs dfs -ls /user/flume/data

我还可以通过 module not found on ipython notebook

中建议的以下脚本确认 pydoop 包在 Jupyter ('pydoop==1.2.0') 中可用
import pip
installed_packages = pip.get_installed_distributions()
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
 for i in installed_packages])
print installed_packages_list

如能帮助修复 Jupyter 中的模块错误,我们将不胜感激。

谢谢

我通过卸载 Jupyter 自行解决了这个问题,而是选择通过 Anaconda 安装所有内容(Python、iPython、Jupyter 等)。

希望对 运行 遇到类似问题的任何人有所帮助。

我认为问题可能与未安装或未更新所需的库有关,尽管我 运行 没时间查明问题。