[
https://issues.apache.org/jira/browse/PIG-1675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12974986#action_12974986
]
Dmitriy V. Ryaboy commented on PIG-1675:
----------------------------------------
I am not terribly happy with the explosion of registerScript() methods.
A nicer interface would follow a builder pattern -- something like
PigScriptBuilder.newInstance()
.withParams(Map<String, String> foo)
.withParamFiles(List<String> paramFiles)
.registerScript(InputStream script)
In fact I suspect rewriting most of PigServer in this way, using a new instance
of a script builder every time, might make running PigServer in actual server
mode more tenable.
Jeff, Alan -- thoughts?
> Suggest to allow PigServer can register pig script from InputStream
> -------------------------------------------------------------------
>
> Key: PIG-1675
> URL: https://issues.apache.org/jira/browse/PIG-1675
> Project: Pig
> Issue Type: Improvement
> Affects Versions: 0.8.0
> Reporter: Jeff Zhang
> Assignee: Jeff Zhang
> Fix For: 0.9.0
>
> Attachments: pig-findbugs-report.html, PIG_1675.patch,
> PIG_1675_2.patch, PIG_1675_3.patch, PIG_1675_4.patch
>
>
> Currently, Pig only allow users to register script from file. Although it
> satisfy most people's requirements, sometimes people hope to build pig script
> dynamically using code, then they need to create temp file for the script
> they build. So here I suggest to allow PigServer be able to register pig
> script from InputStream.
> InputStream is a more general type than File, pig script can been from file
> (FileInputStream)
> or from in-memory (ByteArrayInputStream) even it can been from remote
> machines (SocketInputStream)
> Here's a blog which explains why using InputStream is better than using File
> in interface http://java.dzone.com/articles/using-files-your-interfaces-0
> So I suggest to add the following 4 methods in PigServer:
> {code}
> public void registerScript(InputStream in) throws IOException
> public void registerScript(InputStream in, Map<String,String> params) throws
> IOException
> public void registerScript(InputStream in, List<String> paramsFiles) throws
> IOException
> public void registerScript(InputStream in, Map<String,String>
> params,List<String> paramsFiles) throws IOException
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.