Packages

c

org.apache.spark.sql.delta.metric

IncrementMetric

case class IncrementMetric(child: Expression, metric: SQLMetric) extends UnaryExpression with Nondeterministic with Product with Serializable

IncrementMetric is used to count the number of rows passing through it. It can be used to wrap a child expression to count the number of rows. Its currently only accessible via the Scala DSL.

For example, consider the following expression returning a string literal: If(SomeCondition, IncrementMetric(Literal("ValueIfTrue"), countTrueMetric), IncrementMetric(Literal("ValueIfFalse"), countFalseMetric))

The SQLMetric countTrueMetric would be incremented whenever the condition SomeCondition is true, and conversely countFalseMetric would be incremented whenever the condition is false.

The expression does not really compute anything, and merely forwards the value computed by the child expression.

It is marked as non deterministic to ensure that it retains strong affinity with the child expression, so as to accurately update the metric.

It takes the following parameters:

child

is the actual expression to call.

metric

is the SQLMetric to increment.

Annotations
@ExpressionDescription()
Linear Supertypes
Serializable, Nondeterministic, UnaryExpression, UnaryLike[Expression], Expression, TreeNode[Expression], WithOrigin, TreePatternBits, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IncrementMetric
  2. Serializable
  3. Nondeterministic
  4. UnaryExpression
  5. UnaryLike
  6. Expression
  7. TreeNode
  8. WithOrigin
  9. TreePatternBits
  10. Product
  11. Equals
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new IncrementMetric(child: Expression, metric: SQLMetric)

    child

    is the actual expression to call.

    metric

    is the SQLMetric to increment.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apply(number: Int): TreeNode[_]
    Definition Classes
    TreeNode
  5. def argString(maxFields: Int): String
    Definition Classes
    TreeNode
  6. def asCode: String
    Definition Classes
    TreeNode
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. lazy val canonicalized: Expression
    Definition Classes
    Expression
  9. def checkInputDataTypes(): TypeCheckResult
    Definition Classes
    Expression
  10. val child: Expression
    Definition Classes
    IncrementMetric → UnaryLike
  11. final lazy val children: Seq[Expression]
    Definition Classes
    UnaryLike
    Annotations
    @transient()
  12. def childrenResolved: Boolean
    Definition Classes
    Expression
  13. def clone(): Expression
    Definition Classes
    TreeNode → AnyRef
  14. def collect[B](pf: PartialFunction[Expression, B]): Seq[B]
    Definition Classes
    TreeNode
  15. def collectFirst[B](pf: PartialFunction[Expression, B]): Option[B]
    Definition Classes
    TreeNode
  16. def collectLeaves(): Seq[Expression]
    Definition Classes
    TreeNode
  17. final def containsAllPatterns(patterns: TreePattern*): Boolean
    Definition Classes
    TreePatternBits
  18. final def containsAnyPattern(patterns: TreePattern*): Boolean
    Definition Classes
    TreePatternBits
  19. lazy val containsChild: Set[TreeNode[_]]
    Definition Classes
    TreeNode
  20. final def containsPattern(t: TreePattern): Boolean
    Definition Classes
    TreePatternBits
    Annotations
    @inline()
  21. def copyTagsFrom(other: Expression): Unit
    Definition Classes
    TreeNode
  22. def dataType: DataType
    Definition Classes
    IncrementMetric → Expression
  23. def defineCodeGen(ctx: CodegenContext, ev: ExprCode, f: (String) => String): ExprCode
    Attributes
    protected
    Definition Classes
    UnaryExpression
  24. final lazy val deterministic: Boolean
    Definition Classes
    Nondeterministic → Expression
  25. def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode
    Attributes
    protected
    Definition Classes
    IncrementMetric → Expression
  26. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. final def eval(input: InternalRow): Any
    Definition Classes
    Nondeterministic → Expression
  28. def evalInternal(input: InternalRow): Any
    Definition Classes
    IncrementMetric → Nondeterministic
  29. def exists(f: (Expression) => Boolean): Boolean
    Definition Classes
    TreeNode
  30. def fastEquals(other: TreeNode[_]): Boolean
    Definition Classes
    TreeNode
  31. def find(f: (Expression) => Boolean): Option[Expression]
    Definition Classes
    TreeNode
  32. def flatArguments: Iterator[Any]
    Attributes
    protected
    Definition Classes
    Expression
  33. def flatMap[A](f: (Expression) => IterableOnce[A]): Seq[A]
    Definition Classes
    TreeNode
  34. final def foldable: Boolean
    Definition Classes
    Nondeterministic → Expression
  35. def foreach(f: (Expression) => Unit): Unit
    Definition Classes
    TreeNode
  36. def foreachUp(f: (Expression) => Unit): Unit
    Definition Classes
    TreeNode
  37. def freshCopyIfContainsStatefulExpression(): Expression
    Definition Classes
    Expression
  38. def genCode(ctx: CodegenContext): ExprCode
    Definition Classes
    Expression
  39. def generateTreeString(depth: Int, lastChildren: ArrayList[Boolean], append: (String) => Unit, verbose: Boolean, prefix: String, addSuffix: Boolean, maxFields: Int, printNodeId: Boolean, indent: Int): Unit
    Definition Classes
    TreeNode
  40. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  41. def getDefaultTreePatternBits: BitSet
    Attributes
    protected
    Definition Classes
    TreeNode
  42. def getTagValue[T](tag: TreeNodeTag[T]): Option[T]
    Definition Classes
    TreeNode
  43. def hashCode(): Int
    Definition Classes
    TreeNode → AnyRef → Any
  44. lazy val height: Int
    Definition Classes
    TreeNode
  45. final def initialize(partitionIndex: Int): Unit
    Definition Classes
    Nondeterministic
  46. def initializeInternal(partitionIndex: Int): Unit
    Attributes
    protected
    Definition Classes
    IncrementMetric → Nondeterministic
  47. def innerChildren: Seq[TreeNode[_]]
    Definition Classes
    TreeNode
  48. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  49. def isRuleIneffective(ruleId: RuleId): Boolean
    Attributes
    protected
    Definition Classes
    TreeNode
  50. def isTagsEmpty: Boolean
    Definition Classes
    TreeNode
  51. def jsonFields: List[JField]
    Attributes
    protected
    Definition Classes
    TreeNode
  52. final def legacyWithNewChildren(newChildren: Seq[Expression]): Expression
    Attributes
    protected
    Definition Classes
    TreeNode
  53. def makeCopy(newArgs: Array[AnyRef]): Expression
    Definition Classes
    TreeNode
  54. def map[A](f: (Expression) => A): Seq[A]
    Definition Classes
    TreeNode
  55. final def mapChildren(f: (Expression) => Expression): Expression
    Definition Classes
    UnaryLike
  56. def mapProductIterator[B](f: (Any) => B)(implicit arg0: ClassTag[B]): Array[B]
    Attributes
    protected
    Definition Classes
    TreeNode
  57. def markRuleAsIneffective(ruleId: RuleId): Unit
    Attributes
    protected
    Definition Classes
    TreeNode
  58. val metric: SQLMetric
  59. def multiTransformDown(rule: PartialFunction[Expression, Seq[Expression]]): LazyList[Expression]
    Definition Classes
    TreeNode
  60. def multiTransformDownWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Seq[Expression]]): LazyList[Expression]
    Definition Classes
    TreeNode
  61. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  62. def nodeName: String
    Definition Classes
    TreeNode
  63. val nodePatterns: Seq[TreePattern]
    Attributes
    protected
    Definition Classes
    TreeNode
  64. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  65. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  66. def nullIntolerant: Boolean
    Definition Classes
    Expression
  67. def nullSafeCodeGen(ctx: CodegenContext, ev: ExprCode, f: (String) => String): ExprCode
    Attributes
    protected
    Definition Classes
    UnaryExpression
  68. def nullSafeEval(input: Any): Any
    Attributes
    protected
    Definition Classes
    UnaryExpression
  69. def nullable: Boolean
    Definition Classes
    IncrementMetric → UnaryExpression → Expression
  70. def numberedTreeString: String
    Definition Classes
    TreeNode
  71. val origin: Origin
    Definition Classes
    TreeNode → WithOrigin
  72. def otherCopyArgs: Seq[AnyRef]
    Attributes
    protected
    Definition Classes
    TreeNode
  73. def p(number: Int): Expression
    Definition Classes
    TreeNode
  74. def prettyJson: String
    Definition Classes
    TreeNode
  75. def prettyName: String
    Definition Classes
    IncrementMetric → Expression
  76. def productElementNames: Iterator[String]
    Definition Classes
    Product
  77. def references: AttributeSet
    Definition Classes
    Expression
  78. lazy val resolved: Boolean
    Definition Classes
    Expression
  79. final def semanticEquals(other: Expression): Boolean
    Definition Classes
    Expression
  80. def semanticHash(): Int
    Definition Classes
    Expression
  81. def setTagValue[T](tag: TreeNodeTag[T], value: T): Unit
    Definition Classes
    TreeNode
  82. def simpleString(maxFields: Int): String
    Definition Classes
    Expression → TreeNode
  83. def simpleStringWithNodeId(): String
    Definition Classes
    Expression → TreeNode
  84. def sql: String
    Definition Classes
    Expression
  85. def stateful: Boolean
    Definition Classes
    Expression
  86. def stringArgs: Iterator[Any]
    Attributes
    protected
    Definition Classes
    TreeNode
  87. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  88. lazy val throwable: Boolean
    Definition Classes
    Expression
  89. def toJSON: String
    Definition Classes
    TreeNode
  90. def toString(): String
    Definition Classes
    IncrementMetric → Expression → TreeNode → AnyRef → Any
  91. def transform(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  92. def transformDown(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  93. def transformDownWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  94. def transformUp(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  95. def transformUpWithBeforeAndAfterRuleOnChildren(cond: (Expression) => Boolean, ruleId: RuleId)(rule: PartialFunction[(Expression, Expression), Expression]): Expression
    Definition Classes
    TreeNode
  96. def transformUpWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  97. def transformWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  98. lazy val treePatternBits: BitSet
    Definition Classes
    TreeNode → TreePatternBits
  99. def treeString(append: (String) => Unit, verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): Unit
    Definition Classes
    TreeNode
  100. final def treeString(verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): String
    Definition Classes
    TreeNode
  101. final def treeString: String
    Definition Classes
    TreeNode
  102. def typeSuffix: String
    Attributes
    protected
    Definition Classes
    Expression
  103. def unsetTagValue[T](tag: TreeNodeTag[T]): Unit
    Definition Classes
    TreeNode
  104. final def verboseString(maxFields: Int): String
    Definition Classes
    Expression → TreeNode
  105. def verboseStringWithSuffix(maxFields: Int): String
    Definition Classes
    TreeNode
  106. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  107. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  108. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  109. final def withCanonicalizedChildren: Expression
    Attributes
    protected
    Definition Classes
    Expression
  110. def withNewChildInternal(newChild: Expression): IncrementMetric
    Attributes
    protected
    Definition Classes
    IncrementMetric → UnaryLike
  111. final def withNewChildren(newChildren: Seq[Expression]): Expression
    Definition Classes
    TreeNode
  112. final def withNewChildrenInternal(newChildren: IndexedSeq[Expression]): Expression
    Definition Classes
    UnaryLike

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Serializable

Inherited from Nondeterministic

Inherited from UnaryExpression

Inherited from UnaryLike[Expression]

Inherited from Expression

Inherited from TreeNode[Expression]

Inherited from WithOrigin

Inherited from TreePatternBits

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped