如何编写一个java代码,使用sqoop将数据从oracle移动到hive

时间:2013-11-07 13:20:53

标签: java sqoop

我尝试使用sqoop命令将数据从oracle导入到hive或HDFS。它工作正常。

我想在java代码中使用sqoop。我在stackoverflow中尝试了来自不同链接的一些东西。但我没有得到正确的sqoop.jar文件,它说Sqoop.runTool(str);找不到课程。 ,请告诉我这样做的步骤。如何从这开始使用java代码。

感谢。

1 个答案:

答案 0 :(得分:0)

从Java程序运行sqoop命令的主要问题是,您需要确保sqoop所需的所有库都在类路径上。如果缺少库,则会导致ClassNotFoundException。如果要执行hbase导入,则Sqoop需要 hadoop库 hbase库;如果要在hive中创建表,则需要 hive库。它还使用SQOOP_HOME / lib文件夹中的库。

通过直接调用sqoop API来使sqoop导入工作非常棘手。因为您在调用sqoop API之前绕过sqoop.sh命令,该命令设置环境(例如将所需的库添加到类路径等)。

我建议您尝试使用ProcessBuilder.exec()从java程序运行sqoop import。