trait SimpleProcedure extends UnboundProcedure with BoundProcedure
A procedure that does not require binding to input types.
This interface is designed for procedures that have no overloads and do not need custom binding
logic. Implementations can directly provide procedure parameters and execution logic without
implementing the bind method.
The default bind method simply returns this, as the procedure
is already considered bound.
- Annotations
- @Evolving()
- Source
- SimpleProcedure.java
- Since
4.2.0
- Alphabetic
- By Inheritance
- SimpleProcedure
- BoundProcedure
- UnboundProcedure
- Procedure
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def call(input: InternalRow): Iterator[Scan]
Executes this procedure with the given input.
Executes this procedure with the given input.
Spark validates and rearranges arguments provided in the CALL statement to ensure that the order and data types of the fields in
inputmatches the expected order and types defined byparameters.Each procedure can return any number of result sets. Each result set is represented by a
scanthat reports the type of records it produces and can be used to collect the output, if needed. If a result set is local and does not a distributed job, implementations should useLocalScan.- Definition Classes
- BoundProcedure
- abstract def isDeterministic(): Boolean
Indicates whether this procedure is deterministic.
Indicates whether this procedure is deterministic.
- Definition Classes
- BoundProcedure
- abstract def name(): String
Returns the name of this procedure.
Returns the name of this procedure.
- Definition Classes
- Procedure
- abstract def parameters(): Array[ProcedureParameter]
Returns parameters of this procedure.
Returns parameters of this procedure.
- Definition Classes
- BoundProcedure
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): BoundProcedure
Binds this procedure to input types.
Binds this procedure to input types.
If the catalog supports procedure overloading, the implementation is expected to pick the best matching version of the procedure. If overloading is not supported, the implementation can validate if the input types are compatible while binding or delegate that to Spark. Regardless, Spark will always perform the final validation of the arguments and rearrange them as needed based on
reported parameters.The provided
inputTypeis based on the procedure arguments. If an argument is passed by name, its metadata will indicate this withProcedureParameter#BY_NAME_METADATA_KEYset totrue. In such cases, the field name will match the name of the target procedure parameter. If the argument is not named,ProcedureParameter#BY_NAME_METADATA_KEYwill not be set and the name will be assigned randomly.- inputType
the input types to bind to
- returns
the bound procedure that is most suitable for the given input types
- Definition Classes
- SimpleProcedure → UnboundProcedure
- Annotations
- @Override()
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def description(): String
Returns the description of this procedure.
Returns the description of this procedure.
- Definition Classes
- Procedure
- 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()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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)