Packages

case class BloomFilterIndex(col: String, fpp: Double = ..., ndv: Long = ..., keyMetadata: Option[String] = None) extends Index with Product with Serializable

Represents an abstract bloom filter index

col

the column on which the index is applied

fpp

the expected false positive probability of the bloom filter

ndv

the expected number of distinct values

keyMetadata

optional key metadata

Linear Supertypes
Product, Equals, Index, Logging, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BloomFilterIndex
  2. Product
  3. Equals
  4. Index
  5. Logging
  6. Serializable
  7. Serializable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BloomFilterIndex(col: String, fpp: Double = ..., ndv: Long = ..., keyMetadata: Option[String] = None)

    col

    the column on which the index is applied

    fpp

    the expected false positive probability of the bloom filter

    ndv

    the expected number of distinct values

    keyMetadata

    optional key metadata

Value Members

  1. val col: String
  2. var colsMap: Map[String, IndexField]
    Definition Classes
    Index
  3. val fpp: Double
  4. def generateBaseMetadata(): MetadataType

    returns

    "zero" value of the index - will be used for the first comparison to the object's rows data (by default this is null)

    Definition Classes
    Index
  5. def generateColsMap(schemaMap: Map[String, (String, StructField)]): Unit

    Generate the column map according to a given schema

    Generate the column map according to a given schema

    schemaMap

    a map containing column names (as appear in the object) and their data types the key is the column name in lower case

    Definition Classes
    Index
  6. def getCols: Seq[String]

    returns

    the index columns (in lower case)

    Definition Classes
    Index
  7. def getIndexCols: Iterable[IndexField]

    returns

    the columns which the indexed is defined on

    Definition Classes
    Index
  8. def getKeyMetadata(): Option[String]
    Definition Classes
    Index
  9. def getMetaDataTypeClassName(): String

    returns

    the (full) name of the MetaDataType class used by this index

    Definition Classes
    BloomFilterIndexIndex
  10. def getName: String

    returns

    the name of the index

    Definition Classes
    BloomFilterIndexIndex
  11. def getParams: Map[String, String]

    returns

    the index params map

    Definition Classes
    Index
  12. def getRowMetadata(row: Row): Any

    Gets a DataFrame row and extract the raw metadata needed by the index

    Gets a DataFrame row and extract the raw metadata needed by the index

    row

    Row a row to be indexed

    returns

    raw metadata needed by the index or null if the row contain null value

    Definition Classes
    BloomFilterIndexIndex
  13. val indexCols: Seq[String]
    Definition Classes
    Index
  14. def isEncrypted(): Boolean
    Definition Classes
    Index
  15. var isOptimized: Boolean
    Definition Classes
    Index
  16. def isValid(df: DataFrame, schemaMap: Map[String, (String, DataType)]): Unit

    Gets a DataFrame and checks whether it is valid for the index

    Gets a DataFrame and checks whether it is valid for the index

    df

    the DataFrame to be checked

    schemaMap

    a map containing column names (as appear in the object) and their data types the key is the column name in lower case

    Definition Classes
    BloomFilterIndexIndex
    Exceptions thrown

    [[XskipperException]] if invalid index

  17. val keyMetadata: Option[String]
  18. val ndv: Long
  19. def optCollectMetaData(filePath: String, df: DataFrame, format: String, options: Map[String, String]): MetadataType

    For some formats we might have an optimized way for collecting the metadata This function enables this by receiving the entire file DataFrame instead of processing it row by row (For example in Parquet we can read the min/max from the footer)

    For some formats we might have an optimized way for collecting the metadata This function enables this by receiving the entire file DataFrame instead of processing it row by row (For example in Parquet we can read the min/max from the footer)

    filePath

    the path of the file that is being processed

    df

    a DataFrame with the file data

    format

    the format of the file

    options

    the options that were used to read the file

    returns

    the collected MetadataType or null if no metadata was collected

    Definition Classes
    Index
  20. def reduce(accuMetadata: MetadataType, curr: Any): MetadataType

    Given an accumulated metadata and new value - process the new value and returns an updated accumulated metadata

    Given an accumulated metadata and new value - process the new value and returns an updated accumulated metadata

    accuMetadata

    accumulated metadata created by processing all values until curr

    curr

    new value to be processed

    returns

    updated metadata for the index

    Definition Classes
    BloomFilterIndexIndex
  21. def reduce(md1: MetadataType, md2: MetadataType): MetadataType

    Same as above reduce given two accumulated metadata

    Same as above reduce given two accumulated metadata

    returns

    updated metadata for the index

    Definition Classes
    BloomFilterIndexIndex