DeltaDynamicPartitionOverwriteCommand¶
DeltaDynamicPartitionOverwriteCommand is a RunnableCommand (Spark SQL) and a V2WriteCommand (Spark SQL) for dynamic partition overwrite using WriteIntoDelta.
DeltaDynamicPartitionOverwriteCommand sets partitionOverwriteMode option as DYNAMIC before write.
Workaround
DeltaDynamicPartitionOverwriteCommand is a workaround of Spark SQL not supporting V1 fallback for dynamic partition overwrite.
Creating Instance¶
DeltaDynamicPartitionOverwriteCommand takes the following to be created:
- Delta Table (
NamedRelation) - DeltaTableV2
- Logical Query Plan (
LogicalPlan) - Write options (
Map[String, String]) -
isByNameflag - Analyzed Logical Query Plan (
Option[LogicalPlan])
DeltaDynamicPartitionOverwriteCommand is created when:
DeltaAnalysislogical resolution rule is requested to resolve an OverwritePartitionsDynamic on a delta table (INSERT OVERWRITEwith dynamic partition overwrite)
OverwritePartitionsDynamic Unary Logical Command
Learn more about OverwritePartitionsDynamic unary logical command in The Internals of Spark SQL.
Executing Command¶
RunnableCommand
run is part of the RunnableCommand (Spark SQL) abstraction.
run...FIXME