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:
RowIndexMarkingFiltersBuilderis requested to create a RowIndexFilter
getFilterForNonEmptyDeletionVector¶
getFilterForNonEmptyDeletionVector(
bitmap: RoaringBitmapArray): RowIndexFilter
Creates a RowIndexFilter for the given deletion vector (bitmap)
Used when:
RowIndexMarkingFiltersBuilderis requested to create a RowIndexFilter
Implementations¶
DropMarkedRowsFilterKeepMarkedRowsFilter
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:
DeltaParquetFileFormatis requested to iteratorWithAdditionalMetadataColumns