Viraj Bhat created PIG-3265:
-------------------------------

             Summary: Pig uses Python UDF registered in the last name space
                 Key: PIG-3265
                 URL: https://issues.apache.org/jira/browse/PIG-3265
             Project: Pig
          Issue Type: Bug
          Components: impl
    Affects Versions: 0.11, 0.10.0, 0.9.2
            Reporter: Viraj Bhat


Pig uses Python UDF registered in the last name space as you can see below 
using a Pig script like this:
{code}
-- test_jython.pig --
register 'B.py' using org.apache.pig.scripting.jython.JythonScriptEngine as B;
register 'A.py' using org.apache.pig.scripting.jython.JythonScriptEngine as A;

I = load 'test.txt' as v;
O = foreach I generate A.a(v) as a, A.b(v) as b;
dump O;
-- END --
{code}

A.py
{code}
@outputSchema("word:int")
def a(v):
    return 'a
{code}

B.py 
{code}
@outputSchema("word1:int")
def b(v):
    return 'b'
{code}

data.txt
{code}
1
2
3
{code}


{comment}
2013-04-01 20:17:36,338 [main] INFO  
org.apache.pig.scripting.jython.JythonScriptEngine - Register scripting UDF: B.b
2013-04-01 20:17:36,377 [main] INFO  
org.apache.pig.scripting.jython.JythonScriptEngine - Register scripting UDF: A.b
2013-04-01 20:17:36,378 [main] INFO  
org.apache.pig.scripting.jython.JythonScriptEngine - Register scripting UDF: A.a
{comment}

The class JythonScriptEngine.java, and function: registerFunctions(), a hashmap 
in PigContext is populated with latest namespace and function. This needs to be 
changed and a check should be conducted before populating the hashmap. A unit 
test also needs to be written.
Viraj

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to