关注 spark技术分享,
撸spark源码 玩spark最佳实践

OffsetWindowFunction Contract — Unevaluable Window Function Expressions

OffsetWindowFunction Contract — Unevaluable Window Function Expressions

OffsetWindowFunction is the base of window function expressions that are unevaluable and ImplicitCastInputTypes.

Note
An unevaluable expression cannot be evaluated to produce a value (neither in interpreted nor code-generated expression evaluations) and has to be resolved (replaced) to some other expressions or logical operators at analysis or optimization phases or they fail analysis.

Table 1. (Subset of) OffsetWindowFunction Contract
Property Description

default

direction

input

offset

OffsetWindowFunction uses the input, offset and default expressions as the children.

OffsetWindowFunction is not foldable.

OffsetWindowFunction is nullable when the default is not defined or the default or the input expressions are.

When requested for the dataType, OffsetWindowFunction simply requests the input expression for the data type.

When requested for the inputTypes, OffsetWindowFunction returns the AnyDataType, IntegerType with the data type of the input expression and the NullType.

OffsetWindowFunction uses the following text representation (i.e. toString):

Table 2. OffsetWindowFunctions (Direct Implementations)
OffsetWindowFunction Description

Lag

Lead

frame Lazy Property

Note
frame is part of the WindowFunction Contract to define the WindowFrame for function expression execution.

frame…​FIXME

Verifying Input Data Types — checkInputDataTypes Method

Note
checkInputDataTypes is part of the Expression Contract to verify (check the correctness of) the input data types.

checkInputDataTypes…​FIXME

赞(0) 打赏
未经允许不得转载:spark技术分享 » OffsetWindowFunction Contract — Unevaluable Window Function Expressions
分享到: 更多 (0)

关注公众号:spark技术分享

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏