RowIndexMarkingFiltersBuilder¶
RowIndexMarkingFiltersBuilder
is an abstraction of filter builders that can build RowIndexFilters for empty and non-empty deletion vectors.
Contract¶
getFilterForEmptyDeletionVector¶
getFilterForEmptyDeletionVector(): RowIndexFilter
Creates a RowIndexFilter for an empty deletion vector
Used when:
RowIndexMarkingFiltersBuilder
is requested to create a RowIndexFilter
getFilterForNonEmptyDeletionVector¶
getFilterForNonEmptyDeletionVector(
bitmap: RoaringBitmapArray): RowIndexFilter
Creates a RowIndexFilter for the given deletion vector (bitmap)
Used when:
RowIndexMarkingFiltersBuilder
is requested to create a RowIndexFilter
Implementations¶
DropMarkedRowsFilter
KeepMarkedRowsFilter
Create RowIndexFilter¶
createInstance(
deletionVector: DeletionVectorDescriptor,
hadoopConf: Configuration,
tablePath: Option[Path]): RowIndexFilter
With cardinality of the given DeletionVectorDescriptor as 0
,createInstance
getFilterForEmptyDeletionVector.
Otherwise, for a non-empty deletion vector, createInstance
creates a DeletionVectorStore and a StoredBitmap to load the deletion vector (bitmap). In the end, createInstance
getFilterForNonEmptyDeletionVector for the deletion vector.
createInstance
is used when:
DeltaParquetFileFormat
is requested to iteratorWithAdditionalMetadataColumns