在Sqoop中使用JOIN从mysql导入数据

时间:2017-08-05 16:09:52

标签: sqoop sqoop2

当我尝试使用sqoop

从mysql数据库导入数据时
sqoop import --connect jdbc:mysql://100.107.57.141/mysql --username test -P --query 'SELECT FirstName, Education, Car_Details FROM emp e JOIN emp_test_new etn on e.id=etn.id) WHERE $CONDITIONS' --split-by id  --target-dir /home/join

我收到以下错误:

  

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:你有一个   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本,用于在')附近使用正确的语法WHERE(1 =   0)'在第1行

     

17/08/05 12:04:25错误工具.ImportTool:遇到IOException运行导入作业:java.io.IOException:没有要为ClassWriter生成的列

2 个答案:

答案 0 :(得分:0)

您在(条件附近缺少JOIN ON

正确的sytnatx:

sqoop import --connect jdbc:mysql://100.107.57.141/mysql --username test -P \
--query "SELECT e.FirstName, e.Education, e.Car_Details \
FROM emp e JOIN emp_test_new etn ON (e.id == etn.id) \
WHERE $CONDITIONS' --split-by id  --target-dir /home/join

答案 1 :(得分:0)

 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter.

对以下错误使用以下命令:

 --driver com.mysql.jdbc.Driver