[ 
https://issues.apache.org/jira/browse/SPARK-4493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cheng Lian updated SPARK-4493:
------------------------------
    Description: 
Predicates like {{a = NULL}} and {{a < NULL}} can't be pushed down since 
Parquet {{Lt}}, {{LtEq}}, {{Gt}}, {{GtEq}} doesn't accept null value. Not that 
{{Operators.Eq}} and {{Operators.NotEq}} can only be used with {{null}} to 
represent predicates like {{a IS NULL}} and {{a IS NOT NULL}}.

However, normally this issue doesn't cause NPE because any value compared to 
{{NULL}} results {{NULL}}, and Spark SQL automatically optimizes out {{NULL}} 
predicate in the {{SimplifyFilters}} rule. Only testing code that intentionally 
disables the optimizer may trigger this issue. (That's why this issue is not 
marked as blocker).

  was:
Predicates like {{a = NULL}} and {{a < NULL}} can't be pushed down since 
Parquet {{Operators.ColumnFilterPredicate\[_\]}} doesn't accept null value.

However, normally this issue doesn't cause NPE because any value compared to 
{{NULL}} results {{NULL}}, and Spark SQL automatically optimizes out {{NULL}} 
predicate in the {{SimplifyFilters}} rule. Only testing code that intentionally 
disables the optimizer may trigger this issue. (That's why this issue is not 
marked as blocker).

On the other hand, {{a IS NULL}} and {{a IS NOT NULL}} should be pushed down.


> Don't pushdown Eq, NotEq, Lt, LtEq, Gt and GtEq predicates with nulls for 
> Parquet
> ---------------------------------------------------------------------------------
>
>                 Key: SPARK-4493
>                 URL: https://issues.apache.org/jira/browse/SPARK-4493
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 1.1.0
>            Reporter: Cheng Lian
>
> Predicates like {{a = NULL}} and {{a < NULL}} can't be pushed down since 
> Parquet {{Lt}}, {{LtEq}}, {{Gt}}, {{GtEq}} doesn't accept null value. Not 
> that {{Operators.Eq}} and {{Operators.NotEq}} can only be used with {{null}} 
> to represent predicates like {{a IS NULL}} and {{a IS NOT NULL}}.
> However, normally this issue doesn't cause NPE because any value compared to 
> {{NULL}} results {{NULL}}, and Spark SQL automatically optimizes out {{NULL}} 
> predicate in the {{SimplifyFilters}} rule. Only testing code that 
> intentionally disables the optimizer may trigger this issue. (That's why this 
> issue is not marked as blocker).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to