下面提到的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
答案 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。