我正在尝试从 HDFS 导出到 MySql,但只能找到以下技术:
public static boolean exportHDFSToSQL() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
try {
SqoopOptions options = new SqoopOptions();
options.setConnectString("jdbc:mysql://localhost:3306/dbName");
options.setUsername("user_name");
options.setPassword("pwd");
options.setExportDir("path of file to be exported from hdfs");
options.setTableName("table_name");
options.setInputFieldsTerminatedBy(',');
options.setNumMappers(1);
new ExportTool().run(options);
} catch (Exception e) {
return false;
}
return true;
}
我遇到的问题是 ExportTool().run() 方法。我正在使用 Sqoop 1.4.2,此方法显然已被弃用。想知道实现这一目标的新方法吗?或者向我指出一个有帮助的记录来源。
谢谢
最佳答案
Sqoop 目前不公开任何 Java API,因此不支持此类用法。它可能有效,但 future 的版本可能会打破这种行为。
我希望您看到弃用,因为您正在使用 com.cloudera.sqoop.tool 包中的 ExportTool 类,而该功能已移至 org.apache.sqoop.tool 包中,并且原始实例保留在那里以供向后使用兼容性。您可以在 appropriate Sqoop wiki page 上了解有关命名空间迁移的更多信息。 .
关于java - Sqoop,Java中将HDFS导出到MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098968/