Package org.apache.iceberg.expressions
Class InclusiveStatsEvaluator
java.lang.Object
org.apache.iceberg.expressions.InclusiveStatsEvaluator
Evaluates an
Expression on the ContentStats of a file to test whether rows in the
file may match.
This evaluation is inclusive: it returns true if a file may match and false if it cannot match.
Stats are passed to eval(ContentStats, long), which returns true if the file may
contain matching rows and false if the file cannot contain matching rows. Files may be skipped if
and only if the return value of eval is false.
Due to the comparison implementation of ORC stats, for float/double columns in ORC files, if the first value in a file is NaN, metrics of this file will report NaN for both upper and lower bound despite that the column could contain non-NaN data. Thus, in some scenarios explicitly checks for NaN is necessary in order to not skip files that may contain matching data.
-
Constructor Summary
ConstructorsConstructorDescriptionInclusiveStatsEvaluator(Schema schema, Expression unbound) InclusiveStatsEvaluator(Schema schema, Expression unbound, boolean caseSensitive) -
Method Summary
Modifier and TypeMethodDescriptionbooleaneval(ContentStats stats, long recordCount) Test whether a file may contain records that match the expression.
-
Constructor Details
-
InclusiveStatsEvaluator
-
InclusiveStatsEvaluator
-
-
Method Details
-
eval
Test whether a file may contain records that match the expression.- Parameters:
stats- the content stats of the file, or null if the file tracks no statsrecordCount- the number of records in the file- Returns:
- false if the file cannot contain rows that match the expression, true otherwise.
-