GitHub user MickDavies opened a pull request:
https://github.com/apache/spark/pull/4187
SPARK-5309: Add support for dictionaries in PrimitiveConverter for Strin...
...gs.
Parquet Converters allow developers to take advantage of dictionary
encoding of column data to reduce Column Binary decoding.
The Spark PrimitiveConverter was not using that API and consequently for
String columns that used dictionary compresssion repeated Binary to String
conversions for the same String was happening.
In measurements this could account for over 25% of entire query time.
For example a 500M row table split across 16 blocks was aggregated and
summed in a litte under 30s before this change and a little under 20s after the
change.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/MickDavies/spark SPARK-5309-2
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/4187.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 #4187
----
commit 33c002caa7701699beb1c0faffbdf7be3eed2af7
Author: Michael Davies <[email protected]>
Date: 2015-01-24T14:58:41Z
SPARK-5309: Add support for dictionaries in PrimitiveConverter for Strings.
Parquet Converters allow developers to take advantage of dictionary
encoding of column data to reduce Column Binary decoding.
The Spark PrimitiveConverter was not using that API and consequently for
String columns that used dictionary compresssion repeated Binary to String
conversions for the same String was happening.
In measurements this could account for over 25% of entire query time.
For example a 500M row table split across 16 blocks was aggregated and
summed in a litte under 30s before this change and a little under 20s after the
change.
----
---
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]