[
https://issues.apache.org/jira/browse/PIG-1824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Woody Anderson updated PIG-1824:
--------------------------------
Release Note:
module import state is determined before and after user code is executed. The
resolved modules are inspected and added to the pigContext, then they are added
to the job jar.
this patch addresses the following import modes:
- import re, which will (if configured) find re on the filesystem in the jython
install root
- import foo (which can import bar), this works now provided bar is resolvable
JYTHON_HOME, JYTHONPATH, curdir, etc.
- from pkg import *, which works when the cachedir is writable
- import non.jvm.class, which works when the cachedir is writable
- the directly imported module may use schema decorators, but recursively
imported modules cannot until PIG-1943 is addressed
was:
module import state is determined before and after user code is executed. The
resolved modules are inspected and added to the pigContext, then they are added
to the job jar.
this patch addresses the following import modes:
- import re, which will (if configured) find re on the filesystem in the jython
install root
- import foo (which can import bar), this works now provided bar is resolvable
JYTHON_HOME, JYTHONPATH, curdir, etc.
- from pkg import *, which works when the cachedir is writable
- import non.jvm.class, which works when the cachedir is writable
> 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.10
>
> Attachments: 1824.patch, 1824_final.patch, 1824a.patch, 1824b.patch,
> 1824c.patch, 1824d.patch, 1824x.patch,
> TEST-org.apache.pig.test.TestGrunt.txt,
> TEST-org.apache.pig.test.TestScriptLanguage.txt,
> TEST-org.apache.pig.test.TestScriptUDF.txt
>
>
> 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