Skip to content

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:

getFilterForNonEmptyDeletionVector

getFilterForNonEmptyDeletionVector(
  bitmap: RoaringBitmapArray): RowIndexFilter

Creates a RowIndexFilter for the given deletion vector (bitmap)

Used when:

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: