我在同一台机器上安装了一个带有hdp和ipython/jupyter的ubuntuo/s。我可以使用python2内核通过jupyter笔记本运行各种命令。
不过,我有问题的pydoop在jupyter笔记本。我想使用这个库来访问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控制台都在使用python2.7.3
我可以使用以下命令通过jupyter笔记本访问hdfs:
!hdfs dfs -ls /user/flume/data
我还可以确认pydoop包在jupyter('pydoop==1.2.0')中通过ipython notebook上找不到的模块中建议的以下脚本可用
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条答案
按热度按时间7z5jn7bk1#
我通过卸载jupyter解决了这个问题,并选择通过anaconda安装所有东西(python、ipython、jupyter等)。
希望这对遇到类似问题的人有所帮助。
我相信这个问题可能与所需的库没有安装或没有更新有关,尽管我已经没有时间来确定这个问题了。