我正在创建一个基于sqoop的导入工具,我的shell脚本如下所示:
while <cond> ; do
sqoop import <parameters> &
done
第一次调用可以正常工作,但其余调用会出现以下错误:
原因:java.sql.sqlexception:无法转换为内部表示
当我一个接一个地手动启动每个迭代时,它们工作得很好,但不像上面提到的那样。
我调查后发现,第一个sqoop任务是创建文件 QueryResult.java
以及 QueryResult.jar
,则下一个作业使用相同的 jar
未反映正确类型Map的文件。
有人能证实我的想法吗?或者我错过了什么?有没有更简单的方法来摆脱它,或者我必须创建一个单独的 --bindir
每次调用?
1条答案
按热度按时间gojuced71#
jar文件的名称由类名确定,类名由下面的参数进一步确定-
您应该在sqoop命令中包含这个参数,并为不同的导入传递不同的值。
“.”不应在此parm值中使用,因为它将创建子目录,因为“.”表示java中的子包。