InterleaveBits Expression¶
InterleaveBits is an Expression (Spark SQL) for interleave_bits function.
Creating Instance¶
InterleaveBits takes the following to be created:
- Child
Expressions (Spark SQL)
InterleaveBits is created when:
MultiDimClusteringFunctionsutility is used to interleave_bits
Interpreted Expression Evaluation¶
eval is part of the Expression (Spark SQL) abstraction.
eval requests all the child expressions to eval (with the given InternalRow). eval replaces null values with 0, keeps Int-typed results and throws an IllegalArgumentException for others:
eval updates the ints array with the values.
eval computes Z-values for all the multidimensional data points (cf. Z-order curve).
In the end, eval returns a byte array (4 times larger than the number of children expressions).
ExpectsInputTypes¶
InterleaveBits is an ExpectsInputTypes (Spark SQL).
inputTypes¶
inputTypes is part of the ExpectsInputTypes (Spark SQL) abstraction.
inputTypes is IntegerType for all the child expressions.
CodegenFallback¶
InterleaveBits is an CodegenFallback (Spark SQL).
Evaluation Result DataType¶
dataType is part of the Expression (Spark SQL) abstraction.
dataType is always BinaryType.
nullable¶
nullable is part of the Expression (Spark SQL) abstraction.
nullable is always false.