/** * Configure SQLServer Sqoop Update Jobs to recover connection failures by using * SQLServerConnectionFailureHandler by default. */ protected void configureConnectionRecoveryForUpdate( com.cloudera.sqoop.manager.ExportJobContext context) { Configuration conf = context.getOptions().getConf(); // Set connection failure handler and recovery settings // Default settings can be overridden if provided as Configuration // properties by the user String clsFailureHandler = conf.get(SQLServerResilientExportOutputFormat.EXPORT_FAILURE_HANDLER_CLASS); if (clsFailureHandler == null) { conf.set( SQLServerResilientExportOutputFormat.EXPORT_FAILURE_HANDLER_CLASS, SQLServerConnectionFailureHandler.class.getName()); } }
/** Export data stored in HDFS into a table in a database. */ @Override public void exportTable(com.cloudera.sqoop.manager.ExportJobContext context) throws IOException, ExportException { context.setConnManager(this); // Propagate table hints to job Configuration configuration = context.getOptions().getConf(); if (tableHints != null) { configuration.set(TABLE_HINTS_PROP, tableHints); } // Propagate whether to allow identity inserts to job configuration.setBoolean(IDENTITY_INSERT_PROP, identityInserts); JdbcExportJob exportJob; if (isNonResilientOperation()) { exportJob = new JdbcExportJob(context, null, null, SqlServerExportBatchOutputFormat.class); } else { exportJob = new JdbcExportJob(context, null, null, SQLServerResilientExportOutputFormat.class); configureConnectionRecoveryForExport(context); } exportJob.runExport(); }