4

我正在使用 Sqoop 1.4.4 及其 java api 来运行导入作业,但在导入完成后我无法弄清楚如何访问作业计数器。我在 ConfigurationHelper 类中看到了合适的方法,例如 getNumMapOutputRecords,但我不确定如何将作业传递给它们。

有没有办法从 SqoopTool 或 Sqoop 对象中获得工作?

我的代码看起来像这样:

SqoopTool sqoopTool = new ImportTool();

SqoopOptions options = new SqoopOptions();

options.setConnectString(connectString);
options.setUsername(username);
options.setPassword(password);
options.setTableName(table);
options.setColumns(columns);
options.setWhereClause(whereClause);
options.setTargetDir(targetDir);
options.setNumMappers(1);
options.setFileLayout(FileLayout.TextFile);
options.setFieldsTerminatedBy(delimiter);

Configuration config = new Configuration();

config.set("oracle.sessionTimeZone", timezone.getID());

System.setProperty(Sqoop.SQOOP_RETHROW_PROPERTY, "1");

Sqoop sqoop = new Sqoop(sqoopTool, config, options);

String[] nullArgs = new String[0];

Sqoop.runSqoop(sqoop, nullArgs);
4

0 回答 0