【发布时间】:2017-05-09 04:52:36
【问题描述】:
我正在尝试运行 sqoop 作业。我使用的是 sqoop 版本 Sqoop 1.4.6-cdh5.8.0,但不适用于此版本
在 Sqoop 1.4.5-cdh5.4.0 上运行良好。
sqoop job --create E8 -- import --connect jdbc:mysql://localhost/test -- username root --password cloudera --table NAME --hive-import -m1
sqoop job --exec E8 -- --table dummy1
是否有任何语法问题。如果有人可以帮助解决这个问题。
Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo
imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
16/12/23 04:48:10 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-
cdh5.8.0
Enter password:
16/12/23 04:48:19 INFO manager.MySQLManager: Preparing to use a
MySQL streaming resultset.
16/12/23 04:48:19 INFO tool.CodeGenTool: Beginning code generation
16/12/23 04:48:20 INFO manager.SqlManager:
Executing SQL statement: SELECT t.* FROM `NAME` AS t LIMIT 1
16/12/23 04:48:20 ERROR manager.SqlManager: Error executing
statement:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
'test.NAME' doesn't exist
【问题讨论】:
-
你确定该表存在于测试数据库的Mysql中(情况相同)?
-
是的 table dummy1 存在,它不是 replcaing 参数,而是在 select 查询中取 NAME
-
按照文档,它应该替换它。语法对我来说似乎很好。您可以尝试从创建作业命令中删除
--table NAME并且所有这些都只在 exec 中吗? -
如果我删除它,则不会创建作业