case class ColumnStatsMap(originalMap: AttributeMap[ColumnStat]) extends Product with Serializable
This class contains the original column stats from child, and maintains the updated column stats. We will update the corresponding ColumnStats for a column after we apply a predicate condition. For example, column c has [min, max] value as [0, 100]. In a range condition such as (c > 40 AND c <= 50), we need to set the column's [min, max] value to [40, 100] after we evaluate the first condition c > 40. We also need to set the column's [min, max] value to [40, 50] after we evaluate the second condition c <= 50.
- originalMap
Original column stats from child.
- Alphabetic
- By Inheritance
- ColumnStatsMap
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ColumnStatsMap(originalMap: AttributeMap[ColumnStat])
- originalMap
Original column stats from child.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(a: Attribute): ColumnStat
Gets column stat for the given attribute.
Gets column stat for the given attribute. Prefer the column stat in updatedMap than that in originalMap, because updatedMap has the latest (updated) column stats.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def contains(a: Attribute): Boolean
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def get(a: Attribute): Option[ColumnStat]
Gets an Option of column stat for the given attribute.
Gets an Option of column stat for the given attribute. Prefer the column stat in updatedMap than that in originalMap, because updatedMap has the latest (updated) column stats.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hasCountStats(a: Attribute): Boolean
- def hasDistinctCount(a: Attribute): Boolean
- def hasMinMaxStats(a: Attribute): Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val originalMap: AttributeMap[ColumnStat]
- def outputColumnStats(rowsBeforeFilter: BigInt, rowsAfterFilter: BigInt): AttributeMap[ColumnStat]
Collects updated column stats; scales down column count stats if the number of rows decreases after this Filter operator.
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def update(a: Attribute, stats: ColumnStat): Unit
Updates column stats in updatedMap.
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()