java - Sqoop,Java中将HDFS导出到MySQL

标签 java mysql hadoop cloudera sqoop

我正在尝试从 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/

相关文章:

Java套接字编程: Dealing with multiple types of messages

python - webpy db 选择查询中的问题

mysql创建临时表很慢

java - 在java中将String/char转换为指定数字的二进制字符串,反之亦然

java - 为什么 Rest API 删除调用会收到 400 状态代码

java - JAXB - 转换包含 XSD/命名空间引用的 XML 文件

mysql - 如何重新索引mysql表

hadoop - 使用过滤器从Pig脚本产生单个输出

hadoop - hadoop eclipse插件构建/配置

hadoop - 使用 pig 从键值对中获取 n 个值