DeltaTableValueFunctions¶
supportedFnNames¶
DeltaTableValueFunctions
defines the following table-valued functions:
- table_changes (table changes by name)
- table_changes_by_path
getTableValueFunctionInjection¶
type TableFunctionDescription =
(FunctionIdentifier, ExpressionInfo, TableFunctionRegistry.TableFunctionBuilder)
getTableValueFunctionInjection(
fnName: String): TableFunctionDescription
getTableValueFunctionInjection
...FIXME
getTableValueFunctionInjection
is used when:
- DeltaSparkSessionExtension is requested to register extensions (incl. table-valued functions)
resolveChangesTableValueFunctions¶
resolveChangesTableValueFunctions(
session: SparkSession,
fnName: String,
args: Seq[Expression]): LogicalPlan
resolveChangesTableValueFunctions
extracts the following values of the CDF options (from the given args
expressions):
startingVersion
orstartingTimestamp
endingVersion
orendingTimestamp
resolveChangesTableValueFunctions
defines the following option:
Option | Value |
---|---|
readChangeFeed | true |
For table_changes, resolveChangesTableValueFunctions
requests the SessionCatalog
(Spark SQL) for the table metadata.
resolveChangesTableValueFunctions
creates a DeltaTableV2 for the table path (from the SessionCatalog
or given explicitly for table_changes_by_path) and the CDF options.
resolveChangesTableValueFunctions
requests the DeltaTableV2
for a BaseRelation to create a LogicalRelation
(Spark SQL).
Non-Streaming LogicalRelation
resolveChangesTableValueFunctions
creates a non-streaming LogicalRelation
.
resolveChangesTableValueFunctions
is used when:
- DeltaAnalysis logical resolution rule is executed (to resolve DeltaTableValueFunction logical operators)