Sqoop执行命令,ClassNotFoundException: {table name}

问题遇到的现象和发生背景

sqoop-1.4.6
从hdfs导出数据到mysql的表中,非root用户执行命令

问题相关代码,请勿粘贴截图

bin/sqoop export --connect jdbc:mysql://node1:3306/db_name
--username xiaolu
--password 123456
--table emp
--export-dir /employee/emp.txt

运行结果及报错内容

ClassNotFoundException: emp

我的解答思路和尝试过的方法

网上说,把/tmp/sqoop-username/daugtydiiq/emp.jar 复制到 sqoop/lib下面即可正常执行命令.

我想要达到的结果

可以是可以,但是我每一次用一张新表都需要赋值,有没有什么命令或者配置,可以让我每次都能正常执行以上命令.

img


将上面的两个参数提取,编写一个shell脚本,之后你只要执行shell脚本带上两个参数,当然根据自己的需求可以设置多个参数,比如在提取一个数据库的名字参数等等,一次书写多次使用