Sqoop多个工作调用

时间:2017-06-22 15:20:10

标签: java mapreduce hdfs sqoop

我正在创建一个基于Sqoop的导入工具,我的shell脚本如下所示:

while <cond> ; do
sqoop import <parameters> &
done

第一次调用工作正常,但我得到以下错误:

  

引起:java.sql.SQLException:无法转换为内部   表示

当我逐个手动启动每个迭代时,它们工作正常,但不是如上所述。

我在调查后发现,是第一个创建文件QueryResult.javaQueryResult.jar的sqoop作业,然后下一个作业使用相同的jar文件,该文件不反映正确的类型映射它们。

任何人都可以证实我的想法或者我错过了什么吗?有没有更容易的选择摆脱它,或者我必须为每个invokation创建单独的--bindir

1 个答案:

答案 0 :(得分:0)

jar文件的名称由类名确定,该名称由下面的parm -

进一步确定
--class-name=SCHEMA_TBL_NAME

您应该在Sqoop命令中包含此parm,并为不同的导入传递不同的值。

“”。不应该在这个parm值中使用,因为它会创建一个sub-dir,因为“。”表示java中的子包。