2017-06-22 60 views
0

我基于Sqoop创建导入工具,我的shell脚本的样子:Sqoop多个作业invokation

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

第一invokation工作正常,但我得到以下错误的休息:

所致:java.sql.SQLException中:失败当我通过一个手动启动一个每次迭代转换为内部 表示

,他们工作得很好,但没有如上所述。

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

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

回答

0

jar文件的名称是由被进一步下面的parm确定类的名字确定 -

--class-name=SCHEMA_TBL_NAME 

你应该包括这个PARM在Sqoop命令,并把它传递不同的价值观不同的进口。

“。”不应该用于这个parm值,因为它会创建一个子目录,因为“。”表示java中的子包。