Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-1118

Add hive.merge.size.per.task to HiveConf

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.6.0
    • None
    • None
    • Reviewed

    Description

      Currently, by default, we get one reducer for each 1GB of input data.
      It's also true for the conditional merge job that will run if the average file size is smaller than a threshold.

      This actually makes those job very slow, because each reducer needs to consume 1GB of data.

      Alternatively, we can just use that threshold to determine the number of reducers per job (or introduce a new parameter).
      Let's say the threshold is 1MB, then we only start the the merge job if the average file size is less than 1MB, and the eventual result file size will be around 1MB (or another small number).

      This will remove the extreme cases where we have thousands of empty files, but still make normal jobs fast enough.

      Attachments

        1. HIVE-1118.1.patch
          2 kB
          Zheng Shao
        2. HIVE-1118.2.patch
          2 kB
          Zheng Shao
        3. HIVE-1118.3.patch
          1 kB
          Zheng Shao

        Activity

          People

            zshao Zheng Shao
            zshao Zheng Shao
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: