Packages

case class MinMaxIndex(col: String, keyMetadata: Option[String] = None) extends Index with Product with Serializable

Represents an abstract MinMax index

col

the column on which the index is applied

Linear Supertypes
Product, Equals, Index, Logging, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MinMaxIndex
  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 MinMaxIndex(col: String, keyMetadata: Option[String] = None)

    col

    the column on which the index is applied

Value Members

  1. val col: String
  2. var colsMap: Map[String, IndexField]
    Definition Classes
    Index
  3. 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
  4. 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
  5. def getCols: Seq[String]

    returns

    the index columns (in lower case)

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

    returns

    the columns which the indexed is defined on

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

    returns

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

    Definition Classes
    MinMaxIndexIndex
  9. def getName: String

    returns

    the name of the index

    Definition Classes
    MinMaxIndexIndex
  10. def getParams: Map[String, String]

    returns

    the index params map

    Definition Classes
    Index
  11. 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
    MinMaxIndexIndex
  12. val indexCols: Seq[String]
    Definition Classes
    Index
  13. def isEncrypted(): Boolean
    Definition Classes
    Index
  14. var isOptimized: Boolean
    Definition Classes
    Index
  15. 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
    MinMaxIndexIndex
    Exceptions thrown

    [[XskipperException]] if invalid index

  16. val keyMetadata: Option[String]
  17. 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
  18. 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
    MinMaxIndexIndex
  19. 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
    MinMaxIndexIndex