当我通过--split-limit参数时,我正在尝试sqoop形成MySQL。
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
但是当我删除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
答案 0 :(得分:0)
sqoop中没有--split-limit
。
我猜你试图给参数在 parallel 中运行sqoop作业。
使用-m 10
或--num-mappers 10
代替--split-limit 10
。
查看Controlling Parallelism了解详情。
答案 1 :(得分:0)
我认为split-limit是在1.4.7版本中引入的
在此版本之前的文档中,我看不到任何提及