Jupyter的Pydoop失败

时间:2016-04-12 11:33:53

标签: python hadoop ipython hdfs jupyter-notebook

我在同一台机器上安装了HDP和iPython / Jupyter的Ubuntu O / S. 我可以使用Python2内核通过Jupyter笔记本运行各种命令。

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

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

但是我在Jupyter笔记本中的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类,但得到相同的错误:

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笔记本访问HDFS:

!hdfs dfs -ls /user/flume/data

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

中建议的以下脚本确认pupoop包在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中的模块错误时,我们将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

我设法通过卸载Jupyter来解决这个问题,而选择通过Anaconda安装所有东西(Python,iPython,Jupyter等)。

希望有助于遇到类似问题的任何人。

我认为这个问题可能与未安装或未更新的必需库有关,即使我没有时间查明问题。