public static class ParquetPredicates.EqualPredicate extends ParquetPredicates.ParquetCompPredicate
LogicalExpression.De, LogicalExpression.Seleft, rightlogger| Constructor and Description |
|---|
ParquetPredicates.EqualPredicate(LogicalExpression left,
LogicalExpression right) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDrop(RangeExprEvaluator evaluator)
Semantics of canDrop() is very similar to what is implemented in Parquet library's
org.apache.parquet.filter2.statisticslevel.StatisticsFilter and
FilterPredicate
Main difference :
1. |
String |
toString() |
accept, iteratorgetCumulativeCost, getDescription, getMajorType, getPosition, getSelfCost, ipublic ParquetPredicates.EqualPredicate(LogicalExpression left, LogicalExpression right)
public boolean canDrop(RangeExprEvaluator evaluator)
org.apache.parquet.filter2.statisticslevel.StatisticsFilter and
FilterPredicate
Main difference :
1. A RangeExprEvaluator is used to compute the min/max of an expression, such as CAST function
of a column. CAST function could be explicitly added by Drill user (It's recommended to use CAST
function after DRILL-4372, if user wants to reduce planning time for limit 0 query), or implicitly
inserted by Drill, when the types of compare operands are not identical. Therefore, it's important
to allow CAST function to appear in the filter predicate.
2. We do not require list of ColumnChunkMetaData to do the evaluation, while Parquet library's
StatisticsFilter has such requirement. Drill's ParquetTableMetaData does not maintain ColumnChunkMetaData,
making it impossible to directly use Parquet library's StatisticFilter in query planning time.
3. We allows both sides of comparison operator to be a min/max range. As such, we support
expression_of(Column1) < expression_of(Column2),
where Column1 and Column2 are from same parquet table.Copyright © 2017 The Apache Software Foundation. All rights reserved.