You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Richard Ding (JIRA)" <ji...@apache.org> on 2010/07/02 01:59:49 UTC
[jira] Updated: (PIG-1478) Add progress notification listener to
PigRunner API
[ https://issues.apache.org/jira/browse/PIG-1478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard Ding updated PIG-1478:
------------------------------
Attachment: PIG-1478.patch
> Add progress notification listener to PigRunner API
> ---------------------------------------------------
>
> Key: PIG-1478
> URL: https://issues.apache.org/jira/browse/PIG-1478
> Project: Pig
> Issue Type: Improvement
> Reporter: Richard Ding
> Assignee: Richard Ding
> Fix For: 0.8.0
>
> Attachments: PIG-1478.patch
>
>
> PIG-1333 added PigRunner API to allow Pig users and tools to get a status/stats object back after executing a Pig script. The new API, however, is synchronous (blocking). It's known that a Pig script can spawn tens (even hundreds) MR jobs and take hours to complete. Therefore it'll be nice to give progress feedback to the callers during the execution.
> The proposal is to add an optional parameter to the API:
> {code}
> public abstract class PigRunner {
> public static PigStats run(String[] args, PigProgressNotificationListener listener) {...}
> }
> {code}
> The new listener is defined as following:
> {code}
> package org.apache.pig.tools.pigstats;
> public interface PigProgressNotificationListener extends java.util.EventListener {
> // just before the launch of MR jobs for the script
> public void LaunchStartedNotification(int numJobsToLaunch);
> // number of jobs submitted in a batch
> public void jobsSubmittedNotification(int numJobsSubmitted);
> // a job is started
> public void jobStartedNotification(String assignedJobId);
> // a job is completed successfully
> public void jobFinishedNotification(JobStats jobStats);
> // a job is failed
> public void jobFailedNotification(JobStats jobStats);
> // a user output is completed successfully
> public void outputCompletedNotification(OutputStats outputStats);
> // updates the progress as percentage
> public void progressUpdatedNotification(int progress);
> // the script execution is done
> public void launchCompletedNotification(int numJobsSucceeded);
> }
> {code}
> Any thoughts?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.