trait SimpleFunction extends UnboundFunction with BoundFunction
A function that does not require binding to input types.
This interface is designed for functions that have no overloads and do not need custom binding
logic. Implementations can directly provide function parameters and execution logic without
implementing the bind method.
The default bind method simply returns this, as the function
is already considered bound.
- Annotations
- @Evolving()
- Source
- SimpleFunction.java
- Since
4.2.0
- Alphabetic
- By Inheritance
- SimpleFunction
- BoundFunction
- UnboundFunction
- Function
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def description(): String
Returns Function documentation.
Returns Function documentation.
- returns
this function's documentation
- Definition Classes
- UnboundFunction
- abstract def inputTypes(): Array[DataType]
Returns the required
data typesof the input values to this function.Returns the required
data typesof the input values to this function.If the types returned differ from the types passed to
UnboundFunction#bind(StructType), Spark will cast input values to the required data types. This allows implementations to delegate input value casting to Spark.- returns
an array of input value data types
- Definition Classes
- BoundFunction
- abstract def name(): String
A name to identify this function.
A name to identify this function. Implementations should provide a meaningful name, like the database and function name from the catalog.
- Definition Classes
- Function
- abstract def resultType(): DataType
Returns the
data typeof values produced by this function.Returns the
data typeof values produced by this function.For example, a "plus" function may return
IntegerTypewhen it is bound to arguments that are alsoIntegerType.- returns
a data type for values produced by this function
- Definition Classes
- BoundFunction
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bind(inputType: StructType): BoundFunction
Bind this function to an input type.
Bind this function to an input type.
If the input type is not supported, implementations must throw
UnsupportedOperationException.For example, a "length" function that only supports a single string argument should throw UnsupportedOperationException if the struct has more than one field or if that field is not a string, and it may optionally throw if the field is nullable.
- inputType
a struct type for inputs that will be passed to the bound function
- returns
a function that can process rows with the given input type
- Definition Classes
- SimpleFunction → UnboundFunction
- Annotations
- @Override()
- Exceptions thrown
UnsupportedOperationExceptionIf the function cannot be applied to the input type
- def canonicalName(): String
Returns the canonical name of this function, used to determine if functions are equivalent.
Returns the canonical name of this function, used to determine if functions are equivalent.
The canonical name is used to determine whether two functions are the same when loaded by different catalogs. For example, the same catalog implementation may be used for by two environments, "prod" and "test". Functions produced by the catalogs may be equivalent, but loaded using different names, like "test.func_name" and "prod.func_name".
Names returned by this function should be unique and unlikely to conflict with similar functions in other catalogs. For example, many catalogs may define a "bucket" function with a different implementation. Adding context, like "com.mycompany.bucket(string)", is recommended to avoid unintentional collisions.
- returns
a canonical name for this function
- Definition Classes
- BoundFunction
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def isDeterministic(): Boolean
Returns whether this function result is deterministic.
Returns whether this function result is deterministic.
By default, functions are assumed to be deterministic. Functions that are not deterministic should override this method so that Spark can ensure the function runs only once for a given input.
- returns
true if this function is deterministic, false otherwise
- Definition Classes
- BoundFunction
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isResultNullable(): Boolean
Returns whether the values produced by this function may be null.
Returns whether the values produced by this function may be null.
For example, a "plus" function may return false when it is bound to arguments that are always non-null, but true when either argument may be null.
- returns
true if values produced by this function may be null, false otherwise
- Definition Classes
- BoundFunction
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)