THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
/** * Job creation listener, client will create specific event and notify this listener. */ @PublicEvolving public interface JobCreationListener { /* Start the listener. */ void start(Map<String, String> config); /* Event fired after a catalog has been registered. */ void onRegisterCatalog(CatalogEvent catalogEvent); void onUnregisterCatalog(UnregisterCatalogEvent catalogEvent); /* Event fired after a database has been created. */ void onCreateDatabase(DatabaseEvent databaseEvent); /* Event fired after a database has been dropped. */ void onDropDatabase(DatabaseEvent databaseEvent); /* Event fired after a table has been created. */ void onCreateTable(CreateTableEvent tableEvent); /* Event fired after a table has been changed. */ void onAlterTable(AlterTableEvent tableEvent); /* Event fired after a table has been dropped. */ void onDropTable(DropTableEvent tableEvent); /* Event fired before a job is submitted to do some validations. */ void onJobPreSubmission(JobSubmissionEvent submitEvent); /* Event fired after a job is submitted. */ void onJobSubmission(JobSubmissionEvent submitEvent); /* Event for catalog registration, provides catalog name, default database, database list and properties in the Catalog. */ @PublicEvolving interface CatalogEvent { String catalog(); Catalog catalog(); } /* Event for catalog unregistration. */ @PublicEvolving interface UnregisterCatalogEvent { String catalog(); boolean ignoreIfNotExists(); } /* Event for database creation, provides catalog name, database name, comment and properties of the database. */ @PublicEvolving interface DatabaseEvent { String catalog(); String name(); CatalogDatabase database(); boolean ignoreIfExists(); } /* Event for dropping database. */ @PublicEvolving interface DropDatabaseEvent { String catalog(); String name(); boolean ignoreIfExists(); } /* Table information event, provides column list, primary keys, partition keys, watermarks and properties in the table. The table can be source or sink. */ @PublicEvolving interface TableEvent { ObjectIdentifier identifier(); CatalogBaseTable table(); } /* Event for table creation. */ @PublicEvolving interface CreateTableEvent extends TableEvent { boolean ignoreIfExists(); } /* Event for altering table, provides all information in old table and new table. */ @PublicEvolving interface AlterTableEvent extends TableEvent { CreateTableEvent newTable(); boolean ignoreIfExists(); } /* Event for dropping table. */ @PublicEvolving interface DropTableEvent { ObjectIdentifier identifier(); boolean ignoreIfExists(); } /* Event for before and after job is submitted, provides source tables and sink tables. */ @PublicEvolving interface JobSubmissionEvent { List<TableEvent> sources(); List<TableEvent> sinks(); } } |
...
Code Block |
---|
/** * When job status is changed in job manager, it will generate job event to notify job execution listener. */ @PublicEvolving public interface JobExecutionListener extends AutoCloseable { /* Start the listener with job configurationconfig. */ void start(Configuration configurationMap<String, String> config) throws Exception; /* Notify listener when job is created, it will be notified once. */ void onCreated(JobCreatedEvent createdEvent); /* Notify listener when job is finished. */ void onFinished(JobFinishedEvent finishedEvent); /* Notify listener when job is canceled. */ void onCanceled(JobCanceledEvent canceledEvent); /* Notify listener when job is failed. */ void onFailed(JobFailedEvent failedEvent); /* Event for job status is changed. */ interface JobEvent { /* Job id. */ JobID jobId(); /* Job name. */ String jobName(); /* Timestamp for current job status. */ long timestamp(); } /* Source/Sink information. */ @PublicEvolving interface SourceSinkInformation { /* Use catalog.database.table for table api and use source/sink name for datastream. */ String name(); /* Source/Sink operator name. */ String operatorName(); /* Configuration for source/sink. */ Configuration configuration(); } /* Event for job is created. */ @PublicEvolving interface JobCreatedEvent extends JobEvent { /* Scan source list. */ List<SourceSinkInformation> scanSources(); /* Sink list. */ List<SourceSinkInformation> sinks(); } /* Event for job is finished. */ @PublicEvolving interface JobFinishedEvent extends JobEvent { } /* Event for job is canceled. */ @PublicEvolving interface JobCanceledEvent extends JobEvent { } /* Event for job is failed. */ @PublicEvolving interface JobFailedEvent extends JobEvent { Throwable exception(); } } |
...