spark-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ooq <>
Subject [GitHub] spark pull request #14349: [SPARK-16524][SQL] Add RowBatch and RowBasedHashM...
Date Mon, 25 Jul 2016 20:32:20 GMT
GitHub user ooq opened a pull request:

    [SPARK-16524][SQL] Add RowBatch and RowBasedHashMapGenerator

    ## What changes were proposed in this pull request?
    This PR is the first step for the following feature:
    For hash aggregation in Spark SQL, we use a fast aggregation hashmap to act as a "cache"
in order to boost aggregation performance. Previously, the hashmap is backed by a `ColumnarBatch`.
This has performance issues when we have wide schema for the aggregation table (large number
of key fields or value fields). 
    In this JIRA, we support another implementation of fast hashmap, which is backed by a
`RowBasedKeyValueBatch`. We then automatically pick between the two implementations based
on certain knobs.
    In this first-step PR, implementations for `RowBasedKeyValueBatch` and `RowBasedHashMapGenerator`
are added. 
    ## How was this patch tested?
    Unit tests: `RowBasedKeyValueBatchSuite`

You can merge this pull request into a Git repository by running:

    $ git pull SPARK-16524

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #14349
commit e40a3c6d6c889049bb19967547fc821854580453
Author: Qifan Pu <>
Date:   2016-07-25T20:28:22Z

    SPARK-16524 done.

commit 33978cbc533f4948a77f983f1f3fc1ac75dedeac
Author: Qifan Pu <>
Date:   2016-07-25T20:31:29Z

    Update VectorizedHashMapGenerator.scala


If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message