GitHub user MickDavies opened a pull request:

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

    [SPARK-4386] Improve performance when writing Parquet files

    Convert type of RowWriteSupport.attributes to Array.
    
    Analysis of performance for writing very wide tables shows that time is 
spent predominantly in apply method on  attributes var. Type of attributes 
previously was LinearSeqOptimized and apply is O(N) which made write O(N 
squared).
    
    Measurements on 575 column table showed this change made a 6x improvement 
in write times.

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

    $ git pull https://github.com/MickDavies/spark SPARK-4386

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

    https://github.com/apache/spark/pull/3843.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 #3843
    
----
commit 892519d3bb7166ea184f0c070759b8a3b679e2c4
Author: Michael Davies <[email protected]>
Date:   2014-12-30T13:00:25Z

    [SPARK-4386] Improve performance when writing Parquet files
    
    Convert type of RowWriteSupport.attributes to Array.
    
    Analysis of performance for writing very wide tables shows that time is 
spent predominantly in apply method on  attributes var. Type of attributes 
previously was LinearSeqOptimized and apply is O(N) which made write O(N 
squared).
    
    Measurements on 575 column table showed this change showed a 6x improvement 
in write times.

----


---
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