Package org.apache.datafusion
Interface ColumnarValue
- All Known Implementing Classes:
ColumnarValue.Array,ColumnarValue.Scalar
The value of a scalar UDF argument or result: either a per-row
ColumnarValue.Array of length
rowCount, or a ColumnarValue.Scalar (length-1 vector) that the framework broadcasts.
Mirrors DataFusion's datafusion::logical_expr::ColumnarValue enum. Use array(FieldVector) and scalar(FieldVector) factories rather than constructing the
records directly so the length invariants are enforced consistently.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordPer-row Arrow vector of length equal to the batch row count.static final recordLength-1 Arrow vector representing a single value broadcast across all rows. -
Method Summary
Modifier and TypeMethodDescriptionstatic ColumnarValuearray(org.apache.arrow.vector.FieldVector vector) Wrap an arbitrary-length vector as anColumnarValue.Array.default org.apache.arrow.vector.types.pojo.ArrowTypedataType()Convenience: the vector's declared Arrow type.static ColumnarValuescalar(org.apache.arrow.vector.FieldVector vector) Wrap a length-1 vector as aColumnarValue.Scalar.org.apache.arrow.vector.FieldVectorvector()The underlying Arrow vector.
-
Method Details
-
vector
org.apache.arrow.vector.FieldVector vector()The underlying Arrow vector. ForColumnarValue.Scalarthis vector hasvalueCount == 1. -
dataType
default org.apache.arrow.vector.types.pojo.ArrowType dataType()Convenience: the vector's declared Arrow type. -
array
Wrap an arbitrary-length vector as anColumnarValue.Array. -
scalar
Wrap a length-1 vector as aColumnarValue.Scalar.- Throws:
IllegalArgumentException- ifvector.getValueCount() != 1
-