当我用Pig做Python UDF时,我们如何知道它使用的是哪个版本的Python?是否可以使用特定版本的Python?python UDF版本与Jython /猪
特别是我的问题是在我的UDF中,我需要使用Python 2.7版中新引入的数学模块math.erf()中的函数。我在我的机器上安装了Python 2.7并且独立的Python程序运行正常,但是当我将它作为Python UDF运行时,我得到了以下结果:
AttributeError:type object'org.python.modules.math'has no attribute' erf'
我的猜测是Jython正在使用一些Python 2.7之前的版本?
感谢您的帮助!如果你运行该脚本在本地,那么该版本将直接打印到stdout
myUDFS.py
#!/usr/bin/python
import sys
@outputSchema('bar: chararray')
def my_func(foo):
print sys.version
return foo
:
谢谢。 sys.version工作。你说得对,Pig与2.5捆绑在一起。因此,我找到了一种在我自己的python代码中实现erf函数的方法,而不是找出一种使用Pig的方法(在我的搜索中不存在)。 –