當我用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的方法(在我的搜索中不存在)。 –