Class StatisticsFilter
- java.lang.Object
-
- org.apache.parquet.filter2.statisticslevel.StatisticsFilter
-
- All Implemented Interfaces:
FilterPredicate.Visitor<Boolean>
public class StatisticsFilter extends Object implements FilterPredicate.Visitor<Boolean>
Applies aFilterPredicate
to statistics about a group of records. Note: the supplied predicate must not contain any instances of the not() operator as this is not supported by this filter. the supplied predicate should first be run throughLogicalInverseRewriter
to rewrite it in a form that doesn't make use of the not() operator. the supplied predicate should also have already been run throughSchemaCompatibilityValidator
to make sure it is compatible with the schema of this file. Returns true if all the records represented by the statistics in the provided column metadata can be dropped. false otherwise (including when it is not known, which is often the case).
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static boolean
canDrop(FilterPredicate pred, List<ColumnChunkMetaData> columns)
Boolean
visit(Operators.And and)
<T extends Comparable<T>>
Booleanvisit(Operators.Eq<T> eq)
<T extends Comparable<T>>
Booleanvisit(Operators.Gt<T> gt)
<T extends Comparable<T>>
Booleanvisit(Operators.GtEq<T> gtEq)
<T extends Comparable<T>,U extends UserDefinedPredicate<T>>
Booleanvisit(Operators.LogicalNotUserDefined<T,U> lnud)
<T extends Comparable<T>>
Booleanvisit(Operators.Lt<T> lt)
<T extends Comparable<T>>
Booleanvisit(Operators.LtEq<T> ltEq)
Boolean
visit(Operators.Not not)
<T extends Comparable<T>>
Booleanvisit(Operators.NotEq<T> notEq)
Boolean
visit(Operators.Or or)
<T extends Comparable<T>,U extends UserDefinedPredicate<T>>
Booleanvisit(Operators.UserDefined<T,U> ud)
-
-
-
Method Detail
-
canDrop
public static boolean canDrop(FilterPredicate pred, List<ColumnChunkMetaData> columns)
-
visit
public <T extends Comparable<T>> Boolean visit(Operators.Eq<T> eq)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public <T extends Comparable<T>> Boolean visit(Operators.NotEq<T> notEq)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public <T extends Comparable<T>> Boolean visit(Operators.Lt<T> lt)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public <T extends Comparable<T>> Boolean visit(Operators.LtEq<T> ltEq)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public <T extends Comparable<T>> Boolean visit(Operators.Gt<T> gt)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public <T extends Comparable<T>> Boolean visit(Operators.GtEq<T> gtEq)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public Boolean visit(Operators.And and)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public Boolean visit(Operators.Or or)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public Boolean visit(Operators.Not not)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public <T extends Comparable<T>,U extends UserDefinedPredicate<T>> Boolean visit(Operators.UserDefined<T,U> ud)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
visit
public <T extends Comparable<T>,U extends UserDefinedPredicate<T>> Boolean visit(Operators.LogicalNotUserDefined<T,U> lnud)
- Specified by:
visit
in interfaceFilterPredicate.Visitor<Boolean>
-
-