来自mysql的带有split limit参数的sqoop出现错误

btqmn9zl  于 2021-06-03  发布在  Sqoop
关注(0)|答案(2)|浏览(417)


我正在尝试从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
ubof19bj

ubof19bj1#

没有什么比 --split-limit 在sqoop。
我猜您正在尝试为并行运行sqoop作业提供参数。
使用 -m 10 或者 --num-mappers 10 而不是 --split-limit 10 .
有关详细信息,请检查控制并行性。

ukdjmx9f

ukdjmx9f2#

我认为拆分限制是在1.4.7版本中引入的
在这个版本之前的文档中我没有看到任何提及
https://sqoop.apache.org/docs/1.4.7/sqoopuserguide.html

相关问题