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

Alan Gates commented on PIG-1675:
---------------------------------

I think this is a good change.  One concern is that in the current version, 
when the filename is opened using new FileInputStream(), that call is wrapped 
in a try/catch that looks for FileNotFound exception.  Your changes remove 
that.  We still want to catch that and return a good error.  

So in your patch
{code}
 public void registerScript(String fileName, Map<String,String> 
params,List<String> paramsFiles) throws IOException {
       registerScript(new FileInputStream(fileName), params, paramsFiles);
 }
{code}

should include the try/catch statement with appropriate logging.


> 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_1675.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.

Reply via email to