class UserDefinedPythonTableFunctionAnalyzeRunner extends PythonPlannerRunner[PythonUDTFAnalyzeResult]
Runs the Python UDTF's analyze
static method.
When the Python UDTF is defined without a static return type, the analyzer will call this while resolving table-valued functions.
This expects the Python UDTF to have analyze
static method that take arguments:
- The number and order of arguments are the same as the UDTF inputs
- Each argument is an AnalyzeArgument
, containing:
- dataType: DataType
- value: Any: if the argument is foldable; otherwise None
- isTable: bool: True if the argument is TABLE
and that return an AnalyzeResult
.
It serializes/deserializes the data types via JSON, and the values for the case the argument is foldable are pickled.
AnalysisException
with the error class "TABLE_VALUED_FUNCTION_FAILED_TO_ANALYZE_IN_PYTHON"
will be thrown when an exception is raised in Python.
- Alphabetic
- By Inheritance
- UserDefinedPythonTableFunctionAnalyzeRunner
- PythonPlannerRunner
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new UserDefinedPythonTableFunctionAnalyzeRunner(name: String, func: PythonFunction, exprs: Seq[Expression], tableArgs: Seq[Boolean], parser: ParserInterface)
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 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()
- 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()
- def receiveFromPython(dataIn: DataInputStream): PythonUDTFAnalyzeResult
- Attributes
- protected
- Definition Classes
- UserDefinedPythonTableFunctionAnalyzeRunner → PythonPlannerRunner
- def runInPython(useDaemon: Boolean = SparkEnv.get.conf.get(PYTHON_USE_DAEMON)): PythonUDTFAnalyzeResult
- Definition Classes
- PythonPlannerRunner
- 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])
- val workerModule: String
- Definition Classes
- UserDefinedPythonTableFunctionAnalyzeRunner → PythonPlannerRunner
- def writeToPython(dataOut: DataOutputStream, pickler: Pickler): Unit
- Attributes
- protected
- Definition Classes
- UserDefinedPythonTableFunctionAnalyzeRunner → PythonPlannerRunner
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)