GitHub user nongli opened a pull request:
https://github.com/apache/spark/pull/9801
[SPARK-11787] [SQL] Improve Parquet scan performance when using flat
schemas.
This patch adds an alternate to the ParquetRecordReader from the parquet-mr
project
that is much faster for flat schemas. Instead of using the general
converter mechanism
from parquet-mr, this directly uses the lower level APIs from
parquet-columnar and a
customer RecordReader that directly assembles into UnsafeRows.
This is optionally disabled and only used for supported schemas.
Using a benchmark that just sums columns reading from a 1SF TPCDS
store_sales table,
I measured the rates of the entire query:
For 1 Column:
Before: 11.3M rows/second
After: 18.2M rows/second
For 2 Columns:
Before: 7.2M rows/second
After: 11.2M rows/second
For 5 Columns:
Before: 2.9M rows/second
After: 4.5M rows/second
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/nongli/spark parquet_perf
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/9801.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 #9801
----
commit b6a3b62bb32b414c5243e640c69a5482da78bfd6
Author: Nong Li <[email protected]>
Date: 2015-11-13T01:27:12Z
[SPARK-11787] [SQL] Improve Parquet scan performance when using flat
schemas.
This patch adds an alternate to the Parquet RecordReader from the
parquet-mr project
that is much faster for flat schemas. Instead of using the general
converter mechanism
from parquet-mr, this directly uses the lower level APIs from
parquet-columnar and a
customer RecordReader that directly assembles into UnsafeRows.
This is optionally disabled and only used for supported schemas.
Using a benchmark that just sums columns reading from a 1SF TPCDS
store_sales table,
I measured the rates of the entire query:
For 1 Column:
Before: 11.3M rows/second
After: 18.2M rows/second
For 2 Columns:
Before: 7.2M rows/second
After: 11.2M rows/second
For 5 Columns:
Before: 2.9M rows/second
After: 4.5M rows/second
----
---
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]