Sqoop导入声明

时间:2017-09-17 18:13:15

标签: sql hadoop sqoop

下面提到的sqoop import语句前几天对我有用,今天同样的语句显示错误。下面是错误和import语句。

ERROR:

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'sqoop import

附近使用正确的语法
sqoop import \
--connect jdbc:mysql://localhost/loudacre \
--username training --password training \
--table device \
-- target-dir /loudacre/device
-m 1

4 个答案:

答案 0 :(得分:0)

您的导入命令中缺少where $CONDITIONS'where $CONDITIONS'是强制性的,$CONDITIONS应为大写。请做这个更正,然后再试一次。

答案 1 :(得分:0)

你在第四行末尾错过了“\”:

你可以运行它并检查一次。

sqoop import \
--connect jdbc:mysql://localhost/loudacre \
--username training --password training \
--table device \
--target-dir /loudacre/device \
-m 1

答案 2 :(得分:0)

是的,您可能会遇到错误,说--target-dir / loudacre / device已经存在。当您运行第一个命令时,由于hdfs中没有定义target-dir,脚本运行正常,但是第二次因为目标-dir已经在hdfs目录中可用,它会抛出错误,说dir已经存在。

解决此错误的解决方案: 1.提供另一个新目录或删除现有目录并再次尝试脚本。 2.您还可以在sqoop追加模式或覆盖模式下导入mysql数据。请参考以下链接以供参考: Using sqoop import, How to append rows into existing hive table?

如果有效,请告诉我。

答案 3 :(得分:0)

错误解决了这些家伙。当您将命令从记事本复制粘贴到终端时,原来是"将更改和结果转换为错误。我们需要明确写入"在temrinal。