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, 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. Serializable
  4. Nondeterministic
  5. UnaryExpression
  6. UnaryLike
  7. Expression
  8. TreeNode
  9. WithOrigin
  10. TreePatternBits
  11. Product
  12. Equals
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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 finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. def find(f: (Expression) ⇒ Boolean): Option[Expression]
    Definition Classes
    TreeNode
  33. def flatArguments: Iterator[Any]
    Attributes
    protected
    Definition Classes
    Expression
  34. def flatMap[A](f: (Expression) ⇒ TraversableOnce[A]): Seq[A]
    Definition Classes
    TreeNode
  35. final def foldable: Boolean
    Definition Classes
    Nondeterministic → Expression
  36. def foreach(f: (Expression) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  37. def foreachUp(f: (Expression) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  38. def freshCopyIfContainsStatefulExpression(): Expression
    Definition Classes
    Expression
  39. def genCode(ctx: CodegenContext): ExprCode
    Definition Classes
    Expression
  40. 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
  41. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  42. def getDefaultTreePatternBits: BitSet
    Attributes
    protected
    Definition Classes
    TreeNode
  43. def getTagValue[T](tag: TreeNodeTag[T]): Option[T]
    Definition Classes
    TreeNode
  44. def hashCode(): Int
    Definition Classes
    TreeNode → AnyRef → Any
  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 jsonFields: List[JField]
    Attributes
    protected
    Definition Classes
    TreeNode
  51. final def legacyWithNewChildren(newChildren: Seq[Expression]): Expression
    Attributes
    protected
    Definition Classes
    TreeNode
  52. def makeCopy(newArgs: Array[AnyRef]): Expression
    Definition Classes
    TreeNode
  53. def map[A](f: (Expression) ⇒ A): Seq[A]
    Definition Classes
    TreeNode
  54. final def mapChildren(f: (Expression) ⇒ Expression): Expression
    Definition Classes
    UnaryLike
  55. def mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]
    Attributes
    protected
    Definition Classes
    TreeNode
  56. def markRuleAsIneffective(ruleId: RuleId): Unit
    Attributes
    protected
    Definition Classes
    TreeNode
  57. val metric: SQLMetric
  58. def multiTransformDown(rule: PartialFunction[Expression, Seq[Expression]]): Stream[Expression]
    Definition Classes
    TreeNode
  59. def multiTransformDownWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Seq[Expression]]): Stream[Expression]
    Definition Classes
    TreeNode
  60. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  61. def nodeName: String
    Definition Classes
    TreeNode
  62. val nodePatterns: Seq[TreePattern]
    Attributes
    protected
    Definition Classes
    TreeNode
  63. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  64. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  65. def nullSafeCodeGen(ctx: CodegenContext, ev: ExprCode, f: (String) ⇒ String): ExprCode
    Attributes
    protected
    Definition Classes
    UnaryExpression
  66. def nullSafeEval(input: Any): Any
    Attributes
    protected
    Definition Classes
    UnaryExpression
  67. def nullable: Boolean
    Definition Classes
    IncrementMetric → UnaryExpression → Expression
  68. def numberedTreeString: String
    Definition Classes
    TreeNode
  69. val origin: Origin
    Definition Classes
    TreeNode → WithOrigin
  70. def otherCopyArgs: Seq[AnyRef]
    Attributes
    protected
    Definition Classes
    TreeNode
  71. def p(number: Int): Expression
    Definition Classes
    TreeNode
  72. def prettyJson: String
    Definition Classes
    TreeNode
  73. def prettyName: String
    Definition Classes
    IncrementMetric → Expression
  74. def references: AttributeSet
    Definition Classes
    Expression
  75. lazy val resolved: Boolean
    Definition Classes
    Expression
  76. final def semanticEquals(other: Expression): Boolean
    Definition Classes
    Expression
  77. def semanticHash(): Int
    Definition Classes
    Expression
  78. def setTagValue[T](tag: TreeNodeTag[T], value: T): Unit
    Definition Classes
    TreeNode
  79. def simpleString(maxFields: Int): String
    Definition Classes
    Expression → TreeNode
  80. def simpleStringWithNodeId(): String
    Definition Classes
    Expression → TreeNode
  81. def sql: String
    Definition Classes
    Expression
  82. def stateful: Boolean
    Definition Classes
    Expression
  83. def stringArgs: Iterator[Any]
    Attributes
    protected
    Definition Classes
    TreeNode
  84. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  85. def toJSON: String
    Definition Classes
    TreeNode
  86. def toString(): String
    Definition Classes
    IncrementMetric → Expression → TreeNode → AnyRef → Any
  87. def transform(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  88. def transformDown(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  89. def transformDownWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  90. def transformUp(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  91. def transformUpWithBeforeAndAfterRuleOnChildren(cond: (Expression) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[(Expression, Expression), Expression]): Expression
    Definition Classes
    TreeNode
  92. def transformUpWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  93. def transformWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  94. lazy val treePatternBits: BitSet
    Definition Classes
    TreeNode → TreePatternBits
  95. def treeString(append: (String) ⇒ Unit, verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): Unit
    Definition Classes
    TreeNode
  96. final def treeString(verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): String
    Definition Classes
    TreeNode
  97. final def treeString: String
    Definition Classes
    TreeNode
  98. def typeSuffix: String
    Attributes
    protected
    Definition Classes
    Expression
  99. def unsetTagValue[T](tag: TreeNodeTag[T]): Unit
    Definition Classes
    TreeNode
  100. final def verboseString(maxFields: Int): String
    Definition Classes
    Expression → TreeNode
  101. def verboseStringWithSuffix(maxFields: Int): String
    Definition Classes
    TreeNode
  102. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  103. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  104. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  105. final def withCanonicalizedChildren: Expression
    Attributes
    protected
    Definition Classes
    Expression
  106. def withNewChildInternal(newChild: Expression): IncrementMetric
    Attributes
    protected
    Definition Classes
    IncrementMetric → UnaryLike
  107. final def withNewChildren(newChildren: Seq[Expression]): Expression
    Definition Classes
    TreeNode
  108. final def withNewChildrenInternal(newChildren: IndexedSeq[Expression]): Expression
    Definition Classes
    UnaryLike

Inherited from Serializable

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