在sqoop中使用join从mysql导入数据

jobtbby3  于 2021-06-03  发布在  Sqoop
关注(0)|答案(2)|浏览(378)

当我尝试使用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服务器版本对应的手册,以获得正确的语法,以便在第1行使用near')where(1=0)'
17/08/05 12:04:25错误tool.importtool:运行导入作业时遇到ioexception:java.io.ioexception:没有要为classwriter生成的列

9w11ddsr

9w11ddsr1#

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

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

--driver com.mysql.jdbc.Driver
zphenhs4

zphenhs42#

你失踪了 (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

相关问题