[ 
https://issues.apache.org/jira/browse/SQOOP-1799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Veena Basavaraj updated SQOOP-1799:
-----------------------------------
    Summary: Connector API : Ability for connector to indicate if its FROM and 
TO support incremental reading/ writing  (was: Ability for connector to 
indicate if its FROM and TO support incremental reading/ writing)

> Connector API : Ability for connector to indicate if its FROM and TO support 
> incremental reading/ writing
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: SQOOP-1799
>                 URL: https://issues.apache.org/jira/browse/SQOOP-1799
>             Project: Sqoop
>          Issue Type: Sub-task
>            Reporter: Veena Basavaraj
>            Assignee: Veena Basavaraj
>             Fix For: 1.99.5
>
>
> One suggestion would be have a connector's FROM/ TO initializer to expose if 
> it even supports incremental. So this can be used to immediately validate the 
> job creation.
> {code}
>  sqoop > create incremental-job -f 1 -t 2 
> {code}
> HDFS FROM supporting incrementation read ? Does this even apply. But surely 
> the TO side should support the delta/ incremental write.
> Both the from connector and to connector has to support this feature before 
> we proceed. The default will be false. The Initializer API will be updated to 
> support this.
> {code}
> import java.util.LinkedList;
> import java.util.List;
> import org.apache.sqoop.schema.NullSchema;
> import org.apache.sqoop.schema.Schema;
> /**
>  * This allows connector to define initialization work for execution,
>  * for example, context configuration.
>  */
> public abstract class Initializer<LinkConfiguration, JobConfiguration> {
>   /**
>    * Initialize new submission based on given configuration properties. Any
>    * needed temporary values might be saved to context object and they will be
>    * promoted to all other part of the workflow automatically.
>    *
>    * @param context Initializer context object
>    * @param linkConfiguration link configuration object
>    * @param jobConfiguration job configuration object for the FROM and TO
>    *        In case of the FROM initializer this will represent the FROM job 
> configuration
>    *        In case of the TO initializer this will represent the TO job 
> configuration
>    */
>   public abstract void initialize(InitializerContext context, 
> LinkConfiguration linkConfiguration,
>       JobConfiguration jobConfiguration);
>   /**
>    * Return list of all jars that this particular connector needs to operate 
> on
>    * following job. This method will be called after running initialize 
> method.
>    * @param context Initializer context object
>    * @param linkConfiguration link configuration object
>    * @param jobConfiguration job configuration object for the FROM and TO
>    *        In case of the FROM initializer this will represent the FROM job 
> configuration
>    *        In case of the TO initializer this will represent the TO job 
> configuration
>    * @return
>    */
>   public List<String> getJars(InitializerContext context, LinkConfiguration 
> linkConfiguration,
>       JobConfiguration jobConfiguration) {
>     return new LinkedList<String>();
>   }
>   /**
>    * Return schema associated with the connector for FROM and TO
>    * By default we assume a null schema. Override the method if there a 
> custom schema to provide either for FROM or TO
>    * @param context Initializer context object
>    * @param linkConfiguration link configuration object
>    * @param jobConfiguration job configuration object for the FROM and TO
>    *        In case of the FROM initializer this will represent the FROM job 
> configuration
>    *        In case of the TO initializer this will represent the TO job 
> configuration
>    * @return
>    */
>   public Schema getSchema(InitializerContext context, LinkConfiguration 
> linkConfiguration,
>       JobConfiguration jobConfiguration) {
>     return NullSchema.getInstance();
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to