[
https://issues.apache.org/jira/browse/SPARK-11153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14961281#comment-14961281
]
Cheng Lian commented on SPARK-11153:
------------------------------------
Yes, it's the statistics information that is corrupted. And yes, Parquet does
write version in the metadata. Parquet-mr 1.8 handles this issue in exactly the
way you suggested, namely ignoring binary statistics when necessary according
to version information written in the metadata.
However, Spark SQL performs filter push-down on driver side. This means we need
to gather Parquet versions from all Parquet files using a distributed Spark
job. We can probably merge this one into the job used to merge Spark schemata.
But I think this is too risky for 1.5.2 at this stage. So I'd propose we simply
disables filter push-down for strings and binaries in all cases until a
parquet-mr upgrade.
> Turns off Parquet filter push-down for string and binary columns
> ----------------------------------------------------------------
>
> Key: SPARK-11153
> URL: https://issues.apache.org/jira/browse/SPARK-11153
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 1.5.0, 1.5.1
> Reporter: Cheng Lian
> Assignee: Cheng Lian
> Priority: Blocker
>
> Due to PARQUET-251, {{BINARY}} columns in existing Parquet files may be
> written with corrupted statistics information. This information is used by
> filter push-down optimization. Since Spark 1.5 turns on Parquet filter
> push-down by default, we may end up with wrong query results. PARQUET-251 has
> been fixed in parquet-mr 1.8.1, but Spark 1.5 is still using 1.7.0.
> Note that this kind of corrupted Parquet files could be produced by any
> Parquet data models.
> This affects all Spark SQL data types that can be mapped to Parquet
> {{BINARY}}, namely:
> - {{StringType}}
> - {{BinaryType}}
> - {{DecimalType}} (but Spark SQL doesn't support pushing down {{DecimalType}}
> columns for now.)
> To avoid wrong query results, we should disable filter push-down for columns
> of {{StringType}} and {{BinaryType}} until we upgrade to parquet-mr 1.8.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]