无法在 Sqoop 导出中自定义的映射器数量
Posted
技术标签:
【中文标题】无法在 Sqoop 导出中自定义的映射器数量【英文标题】:Number of Mapper not able to customized in Sqoop Export 【发布时间】:2020-01-16 02:11:39 【问题描述】:之前有没有人在 Sqoop 中使用自定义映射器从 Hive 表导出到 SQLDatabase?
我曾使用以下带有 33 个映射器的 sqoop 命令来执行 sqoop 导出:
sqoop export -Dmapred.job.queue.name=projectname -Dsqoop.export.records.per.statement=1000 --connect "jdbc:sqlserver://svrname;database=dbname" --username 'usrname' - -password 'pwd' --hcatalog-database hive_schema_name --hcatalog-table hive_obj_name --table 'SQL_DB_OBJ_NAME' -- --schema SQL_DB_SCHEMA_NAME --fields-terminated-by $'\x01' -m 33 -batch
但结果,我只能看到 4 个映射器正在从应用程序主控中使用,并且由于数据量巨大,需要很长时间才能完成。所以我想知道是否有人可以帮助确认自定义映射器是否能够用于 sqoop 导出
【问题讨论】:
【参考方案1】:Sqoop 导出支持number of mappers 参数,但它会在您的命令中被忽略。您必须将-- --schema <schema-name>
移动到命令末尾,因为 Sqoop CLI 具有以下结构:
sqoop TOOL PROPERTY_ARGS SQOOP_ARGS [-- EXTRA_ARGS]
【讨论】:
@weehongngeo,不客气!如果我的回答对您有帮助,请投票并接受它以上是关于无法在 Sqoop 导出中自定义的映射器数量的主要内容,如果未能解决你的问题,请参考以下文章
Sqoop 导入映射器失败,但 sqoop 作业显示正在运行
Amazon EMR:为每个 EMR 实例设置唯一数量的映射器和缩减器