我正在尝试从mysql中进行sqoop,当我传递--split limit参数时,它不起作用。
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
2条答案
按热度按时间ubof19bj1#
没有什么比
--split-limit
在sqoop。我猜您正在尝试为并行运行sqoop作业提供参数。
使用
-m 10
或者--num-mappers 10
而不是--split-limit 10
.有关详细信息,请检查控制并行性。
ukdjmx9f2#
我认为拆分限制是在1.4.7版本中引入的
在这个版本之前的文档中我没有看到任何提及
https://sqoop.apache.org/docs/1.4.7/sqoopuserguide.html