GitHub user ooq opened a pull request:

    https://github.com/apache/spark/pull/14349

    [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 https://github.com/ooq/spark SPARK-16524

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

    https://github.com/apache/spark/pull/14349.patch

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 <[email protected]>
Date:   2016-07-25T20:28:22Z

    SPARK-16524 done.

commit 33978cbc533f4948a77f983f1f3fc1ac75dedeac
Author: Qifan Pu <[email protected]>
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 [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to