在回答和评论之前,我尝试了一些在Stackoverflow上找到的选项,但都以失败告终。以下是这些链接-
我通过命令行在Horton Sandbox中尝试过,并取得了成功。
sqoop import --connect jdbc:mysql://192.168.56.101:3316/database_name --username=user --password=pwd --table table_name --hive-import -m 1 -- --schema default
其中192.168.56.101用于Windows,192.168.56.102用于Horton Sandbox 2.6。
现在我想从Java中做同样的事情,在那里该Java代码运行在其他地方而不是horton沙盒中。- 如何定位HIVE_HOME和其他Sqoop参数,因为它们在沙盒中运行。
- 我必须传递的参数。它应该作为SqoopOptions或Sqoop.runTools字符串数组参数传递。两者都失败了。
- 我在导入库(com.cloudera.sqoop和org.apache.sqoop)时也感到困惑,并且得到了这个错误:
类型ImportTool中的方法run(com.cloudera.sqoop.SqoopOptions)不适用于参数(org.apache.sqoop.SqoopOptions)。在这两行之间添加了选项参数。
SqoopOptions options = new SqoopOptions();
int ret = new ImportTool().run(options);
如果我选择 Cloudera 方法,它将被弃用,但如果我选择 Apache 运行方法,则不接受选项参数。我已经困扰了几周,请帮忙。