我正在创建一个基于Sqoop的导入工具,我的shell脚本如下所示:
while <cond> ; do
sqoop import <parameters> &
done
第一次调用工作正常,但我得到以下错误:
引起:java.sql.SQLException:无法转换为内部 表示
当我逐个手动启动每个迭代时,它们工作正常,但不是如上所述。
我在调查后发现,是第一个创建文件QueryResult.java
和QueryResult.jar
的sqoop作业,然后下一个作业使用相同的jar
文件,该文件不反映正确的类型映射它们。
任何人都可以证实我的想法或者我错过了什么吗?有没有更容易的选择摆脱它,或者我必须为每个invokation创建单独的--bindir
?
答案 0 :(得分:0)
jar文件的名称由类名确定,该名称由下面的parm -
进一步确定--class-name=SCHEMA_TBL_NAME
您应该在Sqoop命令中包含此parm,并为不同的导入传递不同的值。
“”。不应该在这个parm值中使用,因为它会创建一个sub-dir,因为“。”表示java中的子包。