在hadoop上使用sqoop import命令时出现错误

问题描述 投票:1回答:1

您好,我正在使用下面的sqoop命令,我认为它应该可以工作

[cloudera@quickstart ~]$ sqoop import --connect jdbc:mysql://quickstart.cloudera:3306/retail_db --username root --password cloudera --query "select * from customers where customer_street like '%Plaza%' AND $CONDITIONS" --target-dir /user/cloudera/problem1/customers/textdata --fields-terminated-by '*' --lines-terminated-by '|' --as-textfile --columns "customer_id,customer_fname,customer_lname,customer_street" --split-by "customer_id"

但是我低于与$ condition相关的错误,我认为已正确实现。.请帮助..谢谢

警告:/usr/lib/sqoop/../accumulo不存在! Accumulo进口将失败。请将$ ACCUMULO_HOME设置为Accumulo的根安装。 17/11/17 10:12:10信息sqoop.Sqoop:正在运行的Sqoop版本:1.4.6-cdh5.13.0 19/11/17 10:12:10 WARN工具.BaseSqoopTool:在命令行上设置密码不安全。考虑使用-P代替。 17/11/17 10:12:10 INFO manager.MySQLManager:准备使用MySQL流式结果集。 17/11/11 10:12:10信息tool.CodeGenTool:开始生成代码19/11/17 10:12:10错误tool.ImportTool:导入失败:java.io.IOException:查询[选择*来自客户的客户,其中customer_street(如“%Plaza%” AND)必须包含WHERE子句中的“ $ CONDITIONS”。在org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:332)在org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1858)在org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1657)在org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:106)在org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:494)在org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621)处org.apache.sqoop.Sqoop.run(Sqoop.java:147)在org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)在org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)在org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)在org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)在org.apache.sqoop.Sqoop.main(Sqoop.java:252)

mysql hadoop sqoop
1个回答
0
投票

您的条件变量为空。

错误并不从字面上意味着您必须添加$CONDITIONS,但必须具有有效的WHERE语句

© www.soinside.com 2019 - 2024. All rights reserved.