0

我正在尝试从 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,这种方法显然已被弃用。想知道实现这一目标的新方法吗?或者将我指向一个有帮助的文档来源。

谢谢

4

1 回答 1

0

Sqoop 目前不公开任何 Java API,因此不支持这种用法。它可能会起作用,但是未来的版本可能会破坏这种行为。

我希望您会看到弃用,因为您使用的是包 com.cloudera.sqoop.tool 中的 ExportTool 类,而该功能已移至包 org.apache.sqoop.tool 并且原始实例保留在那里以实现向后兼容性。您可以在适当的 Sqoop wiki 页面上了解有关名称空间迁移的更多信息。

于 2013-06-14T05:24:46.210 回答