【问题标题】:Hive on EMR | Number of mappers | Hive pointing to S3 LocationEMR 上的蜂巢 |映射器数量 | Hive 指向 S3 位置
【发布时间】:2020-09-19 18:31:05
【问题描述】:

第一季度。 我有一个指向 S3 位置的配置单元表“rates”,每个位置只包含两个大小为 677MB 的文件: 当我计算记录总数时,它只是启动了 2 个映射器。为什么会这样?我怎样才能增加它?

第二季度。我有另一个配置单元表“demo_tb1”指向 S3 位置,其中包含 4000 个大小仅为 2.7 KB 的文件: 当我计算记录总数时,它只是启动 1 个映射器。而且执行起来要花太多时间。

【问题讨论】:

    标签: amazon-s3 hive amazon-emr


    【解决方案1】:

    为作业启动的映射器数量主要取决于您操作的数据大小。正如您所观察到的,有 4000 个 2.7 KB 的文件,每个文件只启动了 1 个映射器,而有 2 个 677 MB 的文件,每个文件启动了 2 个映射器。

    如何增加映射器的数量?

    有一个名为mapreduce.input.fileinputformat.split.maxsize 的配置。您需要将此配置的值减小到一些较小的数字。

    我怎么知道这个配置的当前值是多少?

    只需运行此命令,无需在配置单元编辑器中指定这样的值。

    SET mapreduce.input.fileinputformat.split.maxsize;
    

    这将以字节为单位给出结果。

    如何更改此配置的值?

    例如,运行此命令将其更改为 16MB。

    set mapreduce.input.fileinputformat.split.maxsize=16777216;
    

    注意:请根据您想要的并行度(映射器数量)更改该值。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-11
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      • 1970-01-01
      相关资源
      最近更新 更多