Package org.apache.sqoop.job.etl

Examples of org.apache.sqoop.job.etl.Extractor


  @Override
  public void run(Context context) throws IOException, InterruptedException {
    Configuration conf = context.getConfiguration();

    String extractorName = conf.get(JobConstants.JOB_ETL_EXTRACTOR);
    Extractor extractor = (Extractor) ClassUtils.instantiate(extractorName);

    // Objects that should be pass to the Executor execution
    PrefixContext subContext = null;
    Object configConnection = null;
    Object configJob = null;

    // Propagate connector schema in every case for now
    // TODO: Change to coditional choosing between HIO and Connector schema
    Schema schema = ConfigurationUtils.getConnectorSchema(conf);

    // Executor is in connector space for IMPORT and in framework space for EXPORT
    switch (ConfigurationUtils.getJobType(conf)) {
      case IMPORT:
        subContext = new PrefixContext(conf, JobConstants.PREFIX_CONNECTOR_CONTEXT);
        configConnection = ConfigurationUtils.getConfigConnectorConnection(conf);
        configJob = ConfigurationUtils.getConfigConnectorJob(conf);
        break;
      case EXPORT:
        subContext = new PrefixContext(conf, "");
        configConnection = ConfigurationUtils.getConfigFrameworkConnection(conf);
        configJob = ConfigurationUtils.getConfigFrameworkJob(conf);
        break;
      default:
        throw new SqoopException(MapreduceExecutionError.MAPRED_EXEC_0023);
    }

    SqoopSplit split = context.getCurrentKey();
    ExtractorContext extractorContext = new ExtractorContext(subContext, new MapDataWriter(context), schema);

    try {
      LOG.info("Starting progress service");
      progressService.scheduleAtFixedRate(new ProgressRunnable(context), 0, 2, TimeUnit.MINUTES);

      LOG.info("Running extractor class " + extractorName);
      extractor.extract(extractorContext, configConnection, configJob, split.getPartition());
      LOG.info("Extractor has finished");
      context.getCounter(SqoopCounters.ROWS_READ)
              .increment(extractor.getRowsRead());
    } catch (Exception e) {
      throw new SqoopException(MapreduceExecutionError.MAPRED_EXEC_0017, e);
    } finally {
      LOG.info("Stopping progress service");
      progressService.shutdown();
View Full Code Here


    context.setString(GenericJdbcConnectorConstants.CONNECTOR_JDBC_DATA_SQL,
        "SELECT * FROM " + executor.delimitIdentifier(tableName) + " WHERE ${CONDITIONS}");

    GenericJdbcImportPartition partition;

    Extractor extractor = new GenericJdbcImportExtractor();
    DummyWriter writer = new DummyWriter();
    ExtractorContext extractorContext = new ExtractorContext(context, writer, null);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-50.0 <= DCOL AND DCOL < -16.6666666666666665");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-16.6666666666666665 <= DCOL AND DCOL < 16.666666666666667");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("16.666666666666667 <= DCOL AND DCOL <= 50.0");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);
  }
View Full Code Here

            + "(SELECT * FROM " + executor.delimitIdentifier(tableName)
            + " WHERE ${CONDITIONS}) SQOOP_SUBQUERY_ALIAS");

    GenericJdbcImportPartition partition;

    Extractor extractor = new GenericJdbcImportExtractor();
    DummyWriter writer = new DummyWriter();
    ExtractorContext extractorContext = new ExtractorContext(context, writer, null);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-50 <= ICOL AND ICOL < -16");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-16 <= ICOL AND ICOL < 17");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("17 <= ICOL AND ICOL < 50");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);
  }
View Full Code Here

    ConnectionConfiguration connConf = new ConnectionConfiguration();
    ImportJobConfiguration jobConf = new ImportJobConfiguration();

    GenericJdbcImportPartition partition;

    Extractor extractor = new GenericJdbcImportExtractor();
    DummyWriter writer = new DummyWriter();

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-50.0 <= DCOL AND DCOL < -16.6666666666666665");
    extractor.run(context, connConf, jobConf, partition, writer);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-16.6666666666666665 <= DCOL AND DCOL < 16.666666666666667");
    extractor.run(context, connConf, jobConf, partition, writer);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("16.666666666666667 <= DCOL AND DCOL <= 50.0");
    extractor.run(context, connConf, jobConf, partition, writer);
  }
View Full Code Here

    ConnectionConfiguration connConf = new ConnectionConfiguration();
    ImportJobConfiguration jobConf = new ImportJobConfiguration();

    GenericJdbcImportPartition partition;

    Extractor extractor = new GenericJdbcImportExtractor();
    DummyWriter writer = new DummyWriter();

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-50 <= ICOL AND ICOL < -16");
    extractor.run(context, connConf, jobConf, partition, writer);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-16 <= ICOL AND ICOL < 17");
    extractor.run(context, connConf, jobConf, partition, writer);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("17 <= ICOL AND ICOL < 50");
    extractor.run(context, connConf, jobConf, partition, writer);
  }
View Full Code Here

  @Override
  public void run(Context context) throws IOException, InterruptedException {
    Configuration conf = context.getConfiguration();

    String extractorName = conf.get(JobConstants.JOB_ETL_EXTRACTOR);
    Extractor extractor = (Extractor) ClassUtils.instantiate(extractorName);

    // Objects that should be pass to the Executor execution
    PrefixContext subContext = null;
    Object configConnection = null;
    Object configJob = null;

    // Executor is in connector space for IMPORT and in framework space for EXPORT
    switch (ConfigurationUtils.getJobType(conf)) {
      case IMPORT:
        subContext = new PrefixContext(conf, JobConstants.PREFIX_CONNECTOR_CONTEXT);
        configConnection = ConfigurationUtils.getConnectorConnection(conf);
        configJob = ConfigurationUtils.getConnectorJob(conf);
        break;
      case EXPORT:
        subContext = new PrefixContext(conf, "");
        configConnection = ConfigurationUtils.getFrameworkConnection(conf);
        configJob = ConfigurationUtils.getFrameworkJob(conf);
        break;
      default:
        throw new SqoopException(MapreduceExecutionError.MAPRED_EXEC_0023);
    }

    SqoopSplit split = context.getCurrentKey();

    try {
      LOG.info("Running extractor class " + extractorName);
      extractor.run(subContext, configConnection, configJob, split.getPartition(),
        new MapDataWriter(context));
      LOG.info("Extractor has finished");
      context.getCounter(SqoopCounters.ROWS_READ)
              .increment(extractor.getRowsRead());
    } catch (Exception e) {
      throw new SqoopException(MapreduceExecutionError.MAPRED_EXEC_0017, e);
    }
  }
View Full Code Here

  @Override
  public void run(Context context) throws IOException, InterruptedException {
    Configuration conf = context.getConfiguration();

    String extractorName = conf.get(JobConstants.JOB_ETL_EXTRACTOR);
    Extractor extractor = (Extractor) ClassUtils.instantiate(extractorName);

    // Objects that should be pass to the Executor execution
    PrefixContext subContext = null;
    Object configConnection = null;
    Object configJob = null;

    // Executor is in connector space for IMPORT and in framework space for EXPORT
    switch (ConfigurationUtils.getJobType(conf)) {
      case IMPORT:
        subContext = new PrefixContext(conf, JobConstants.PREFIX_CONNECTOR_CONTEXT);
        configConnection = ConfigurationUtils.getConnectorConnection(conf);
        configJob = ConfigurationUtils.getConnectorJob(conf);
        break;
      case EXPORT:
        subContext = new PrefixContext(conf, "");
        configConnection = ConfigurationUtils.getFrameworkConnection(conf);
        configJob = ConfigurationUtils.getFrameworkJob(conf);
        break;
      default:
        throw new SqoopException(MapreduceExecutionError.MAPRED_EXEC_0023);
    }

    SqoopSplit split = context.getCurrentKey();
    ExtractorContext extractorContext = new ExtractorContext(subContext, new MapDataWriter(context));

    try {
      LOG.info("Starting progress service");
      progressService.scheduleAtFixedRate(new ProgressRunnable(context), 0, 2, TimeUnit.MINUTES);

      LOG.info("Running extractor class " + extractorName);
      extractor.extract(extractorContext, configConnection, configJob, split.getPartition());
      LOG.info("Extractor has finished");
      context.getCounter(SqoopCounters.ROWS_READ)
              .increment(extractor.getRowsRead());
    } catch (Exception e) {
      throw new SqoopException(MapreduceExecutionError.MAPRED_EXEC_0017, e);
    } finally {
      LOG.info("Stopping progress service");
      progressService.shutdown();
View Full Code Here

    context.setString(GenericJdbcConnectorConstants.CONNECTOR_JDBC_DATA_SQL,
        "SELECT * FROM " + executor.delimitIdentifier(tableName) + " WHERE ${CONDITIONS}");

    GenericJdbcImportPartition partition;

    Extractor extractor = new GenericJdbcImportExtractor();
    DummyWriter writer = new DummyWriter();
    ExtractorContext extractorContext = new ExtractorContext(context, writer);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-50.0 <= DCOL AND DCOL < -16.6666666666666665");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-16.6666666666666665 <= DCOL AND DCOL < 16.666666666666667");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("16.666666666666667 <= DCOL AND DCOL <= 50.0");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);
  }
View Full Code Here

            + "(SELECT * FROM " + executor.delimitIdentifier(tableName)
            + " WHERE ${CONDITIONS}) SQOOP_SUBQUERY_ALIAS");

    GenericJdbcImportPartition partition;

    Extractor extractor = new GenericJdbcImportExtractor();
    DummyWriter writer = new DummyWriter();
    ExtractorContext extractorContext = new ExtractorContext(context, writer);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-50 <= ICOL AND ICOL < -16");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("-16 <= ICOL AND ICOL < 17");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);

    partition = new GenericJdbcImportPartition();
    partition.setConditions("17 <= ICOL AND ICOL < 50");
    extractor.extract(extractorContext, connectionConfig, jobConfig, partition);
  }
View Full Code Here

TOP

Related Classes of org.apache.sqoop.job.etl.Extractor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.