I'm having trouble creating UDF for the piglatin script that I am using. My problem is that when I run the script with pig script.pig, I get the following error:
[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1121: Python Error. Traceback (most recent call last):
File "utils.py", line 3, in <module>
import re
ImportError: No module named re
And in my "utils.py" script, I import the module as follows: import re
Why doesn’t he find the module reand how to fix it?
Edit
I should note that if I run the python script directly using the command python, I do not get an error saying that it could not find the module re.
Edit 2
Well, based on the comments, I installed jython (which was not installed on my system) and here are the outputs print sys.pathfor my script:
Using python
['/home/hduser/bqmScripts/betsScripts', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages']
Using jython
['', '/usr/share/jython/Lib', '/usr/lib/site-python', '__classpath__']
Pig use
['/pig/lib/Lib', '__classpath__', '__pyclasspath__/']
, jython pig, :
File "utils.py", line 8, in <module>
import re
File "/usr/share/jython/Lib/re.py", line 7, in <module>
import sre, sys
File "/usr/share/jython/Lib/sre.py", line 97, in <module>
import sre_compile
File "/usr/share/jython/Lib/sre_compile.py", line 17, in <module>
assert _sre.MAGIC == MAGIC, "SRE module mismatch"
AssertionError: SRE module mismatch
, jython, (2.5), . .