我在同一台机器上安装了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中的模块错误时,我们将不胜感激。
由于
答案 0 :(得分:0)
我设法通过卸载Jupyter来解决这个问题,而选择通过Anaconda安装所有东西(Python,iPython,Jupyter等)。
希望有助于遇到类似问题的任何人。
我认为这个问题可能与未安装或未更新的必需库有关,即使我没有时间查明问题。