2016-12-03 57 views
0

enter image description here我想要sqoop形式的MySQL,当我通过--split限制参数它不工作。从MySQL与分裂限制参数sqoop给出错误

sqoop import --connect jdbc:mysql://host:port/db_name --username user \ 
--password pass --query 'select p.* from table1 p join table2 m on \ 
p.id=m.id WHERE $CONDITIONS' --split-by 'p.id' --target-dir /path \ 
--direct --driver com.mysql.jdbc.Driver --boundary-query 'select min(id), \ 
max(id) from tbl_kmart_sales_predicted_weekly_class where (1 = 0)' \ 
--delete-target-dir --split-limit 10 

错误是:

16/12/03 05:57:48 ERROR tool.BaseSqoopTool: Error parsing arguments for import: 
16/12/03 05:57:48 ERROR tool.BaseSqoopTool: Unrecognized argument: --split-limit 
16/12/03 05:57:48 ERROR tool.BaseSqoopTool: Unrecognized argument: 10 

但是,当我删除分割限制

sqoop import --connect jdbc:mysql://host:port/db_name --username user \ 
--password pass --query 'select p.* from table1 p join table2 m on \ 
p.id=m.id WHERE $CONDITIONS' --split-by 'p.id' --target-dir /path \ 
--direct --driver com.mysql.jdbc.Driver --boundary-query 'select min(id), \ 
max(id) from tbl_kmart_sales_predicted_weekly_class where (1 = 0)' \ 
--delete-target-dir 

回答

0

有没有像在sqoop --split-limit相同的查询工作正常。

我想你试图给参数运行sqoop作业并行。使用-m 10--num-mappers 10代替--split-limit 10

检查Controlling Parallelism了解更多详情。

+0

我们有一个--split-limit参数。欲了解更多详情,请查找附件截图。 –

+0

@ShwethaJog你指的是哪一个版本的sqoop?请分享文档的链接。 –

+0

版本为:4.6 https://archive.cloudera.com/cdh5/cdh/5/sqoop/SqoopUserGuide.html#_literal_sqoop_import_literal –