我有一个python udf,它使用happybase连接到hbase。如果我从Python2.7运行代码,它会非常好地工作。
但是,当我从pig 0.15.0调用python udf时,我得到以下错误:
error org.apache.pig.tools.grunt.grunt-错误1121:python错误。回溯(最近一次调用last):import happybase importerror:没有名为happybase的模块
在我的pig脚本中,我注册了python脚本(pigtest.py),如下所示:
REGISTER 'pigtest.py' using jython as myfuncs;
我尝试在python脚本中设置happybase路径,如下所示,但没有什么区别:
import sys
sys.path.append('/usr/local/lib/python2.7/dist-packages/happybase')
import happybase
我还尝试将“/usr/local/lib/python2.7/dist packages/happybase”添加到.bashrc文件(我在ubuntu上)的jython\u路径中,但出现了相同的错误。
在我看来,我需要把快乐之路设定在某个地方,但我不知道在哪里。
1条答案
按热度按时间hfsqlsce1#
在jython用户邮件列表的帮助下,我能够解决这个问题。您需要指定happybase文件夹的父目录,而不是像我刚才所做的那样指定happybase目录本身的路径,方法是执行以下操作之一:
在python脚本中将位置附加到sys.path:
或
将位置作为环境变量添加到jythonpath(不是jython\u path!):