无法在 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 实例设置唯一数量的映射器和缩减器

SQLAlchemy bulk_insert_mappings():无法获取表“测试”的映射器

有没有办法在Scalding中指定映射器的数量?

从文件中为hadoop中的映射器创建自定义键值

Sqoop 导入。可以执行多少个最大映射器