[ 
https://issues.apache.org/jira/browse/PIG-1824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13017549#comment-13017549
 ] 

Woody Anderson commented on PIG-1824:
-------------------------------------

1. i could re-work the initialization into the static block of the inner class 
"Interpreter", it simply needs to be done before the interpreter is allocated. 
I'm not sure what you mean by not wanting a cache dir when using python udfs or 
control flow? can you clarify?
2. separate the logic out of init into what? I think it should, in general, be 
the contract of any script environment to handle resource inclusion (if 
possible). Are you imagining some scenario where init(file,..) would not 
actually parse/internalize the code inside init()? I don't much care where the 
code is parsed and added to a ScriptEngine, but when it is, it should handle 
all other evaluated resources that are necessary to succeed. In the current 
API, a user provided script file is given to init(), so that's where it must do 
this. There is really no other place to evaluate resource inclusions, and i 
think i might not be understanding your suggestion. As for other ScriptEngines 
that may not be able to support this concept, are you suggesting a 
"supportsFeature()" method that we use to test various SE's to determine if 
they can support this (or other) features? I'm not sure what we'd do with this 
knowledge.

> Support import modules in Jython UDF
> ------------------------------------
>
>                 Key: PIG-1824
>                 URL: https://issues.apache.org/jira/browse/PIG-1824
>             Project: Pig
>          Issue Type: Improvement
>    Affects Versions: 0.8.0, 0.9.0
>            Reporter: Richard Ding
>            Assignee: Woody Anderson
>             Fix For: 0.9.0
>
>         Attachments: 1824.patch, 1824a.patch
>
>
> Currently, Jython UDF script doesn't support Jython import statement as in 
> the following example:
> {code}
> #!/usr/bin/python
> import re
> @outputSchema("word:chararray")
> def resplit(content, regex, index):
>         return re.compile(regex).split(content)[index]
> {code}
> Can Pig automatically locate the Jython module file and ship it to the 
> backend? Or should we add a ship clause to let user explicitly specify the 
> module to ship? 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to