package v2
- Alphabetic
- Public
- All
Type Members
-
case class
AlterNamespaceSetPropertiesExec(catalog: SupportsNamespaces, namespace: Seq[String], props: Map[String, String]) extends V2CommandExec with Product with Serializable
Physical plan node for setting properties of namespace.
-
case class
AlterTableAddPartitionExec(table: SupportsPartitionManagement, partSpecs: Seq[ResolvedPartitionSpec], ignoreIfExists: Boolean) extends V2CommandExec with Product with Serializable
Physical plan node for adding partitions of table.
-
case class
AlterTableDropPartitionExec(table: SupportsPartitionManagement, partSpecs: Seq[ResolvedPartitionSpec], ignoreIfNotExists: Boolean) extends V2CommandExec with Product with Serializable
Physical plan node for dropping partitions of table.
-
case class
AlterTableExec(catalog: TableCatalog, ident: Identifier, changes: Seq[TableChange]) extends V2CommandExec with Product with Serializable
Physical plan node for altering a table.
-
case class
AppendDataExec(table: SupportsWrite, writeOptions: CaseInsensitiveStringMap, query: SparkPlan, refreshCache: () ⇒ Unit) extends V2CommandExec with V2TableWriteExec with BatchWriteHelper with Product with Serializable
Physical plan node for append into a v2 table.
Physical plan node for append into a v2 table.
Rows in the output data set are appended.
-
case class
AppendDataExecV1(table: SupportsWrite, writeOptions: CaseInsensitiveStringMap, plan: LogicalPlan, refreshCache: () ⇒ Unit) extends V2CommandExec with V1FallbackWriters with Product with Serializable
Physical plan node for append into a v2 table using V1 write interfaces.
Physical plan node for append into a v2 table using V1 write interfaces.
Rows in the output data set are appended.
-
case class
AtomicCreateTableAsSelectExec(catalog: StagingTableCatalog, ident: Identifier, partitioning: Seq[Transform], plan: LogicalPlan, query: SparkPlan, properties: Map[String, String], writeOptions: CaseInsensitiveStringMap, ifNotExists: Boolean) extends V2CommandExec with TableWriteExecHelper with Product with Serializable
Physical plan node for v2 create table as select, when the catalog is determined to support staging table creation.
Physical plan node for v2 create table as select, when the catalog is determined to support staging table creation.
A new table will be created using the schema of the query, and rows from the query are appended. The CTAS operation is atomic. The creation of the table is staged and the commit of the write should bundle the commitment of the metadata and the table contents in a single unit. If the write fails, the table is instructed to roll back all staged changes.
-
case class
AtomicReplaceTableAsSelectExec(catalog: StagingTableCatalog, ident: Identifier, partitioning: Seq[Transform], plan: LogicalPlan, query: SparkPlan, properties: Map[String, String], writeOptions: CaseInsensitiveStringMap, orCreate: Boolean, invalidateCache: (TableCatalog, Table, Identifier) ⇒ Unit) extends V2CommandExec with TableWriteExecHelper with Product with Serializable
Physical plan node for v2 replace table as select when the catalog supports staging table replacement.
Physical plan node for v2 replace table as select when the catalog supports staging table replacement.
A new table will be created using the schema of the query, and rows from the query are appended. If the table exists, its contents and schema should be replaced with the schema and the contents of the query. This implementation is atomic. The table replacement is staged, and the commit operation at the end should perform the replacement of the table's metadata and contents. If the write fails, the table is instructed to roll back staged changes and any previously written table is left untouched.
- case class AtomicReplaceTableExec(catalog: StagingTableCatalog, identifier: Identifier, tableSchema: StructType, partitioning: Seq[Transform], tableProperties: Map[String, String], orCreate: Boolean, invalidateCache: (TableCatalog, Table, Identifier) ⇒ Unit) extends V2CommandExec with Product with Serializable
-
case class
BatchScanExec(output: Seq[AttributeReference], scan: Scan) extends SparkPlan with DataSourceV2ScanExecBase with Product with Serializable
Physical plan node for scanning a batch of data from a data source v2.
-
trait
BatchWriteHelper extends AnyRef
Helper for physical plans that build batch writes.
-
case class
ContinuousScanExec(output: Seq[Attribute], scan: Scan, stream: ContinuousStream, start: Offset) extends SparkPlan with DataSourceV2ScanExecBase with Product with Serializable
Physical plan node for scanning data from a streaming data source with continuous mode.
-
case class
CreateNamespaceExec(catalog: SupportsNamespaces, namespace: Seq[String], ifNotExists: Boolean, properties: Map[String, String]) extends V2CommandExec with Product with Serializable
Physical plan node for creating a namespace.
-
case class
CreateTableAsSelectExec(catalog: TableCatalog, ident: Identifier, partitioning: Seq[Transform], plan: LogicalPlan, query: SparkPlan, properties: Map[String, String], writeOptions: CaseInsensitiveStringMap, ifNotExists: Boolean) extends V2CommandExec with TableWriteExecHelper with Product with Serializable
Physical plan node for v2 create table as select when the catalog does not support staging the table creation.
Physical plan node for v2 create table as select when the catalog does not support staging the table creation.
A new table will be created using the schema of the query, and rows from the query are appended. If either table creation or the append fails, the table will be deleted. This implementation is not atomic; for an atomic variant for catalogs that support the appropriate features, see CreateTableAsSelectStagingExec.
- case class CreateTableExec(catalog: TableCatalog, identifier: Identifier, tableSchema: StructType, partitioning: Seq[Transform], tableProperties: Map[String, String], ignoreIfExists: Boolean) extends V2CommandExec with Product with Serializable
-
class
DataSourcePartitioning extends Partitioning
An adapter from public data source partitioning to catalyst internal
Partitioning
. - class DataSourceRDD extends RDD[InternalRow]
- class DataSourceRDDPartition extends Partition with Serializable
- trait DataSourceV2ScanExecBase extends SparkPlan with LeafExecNode
- class DataSourceV2Strategy extends Strategy with PredicateHelper
- case class DeleteFromTableExec(table: SupportsDelete, condition: Array[Filter], refreshCache: () ⇒ Unit) extends V2CommandExec with Product with Serializable
-
case class
DescribeNamespaceExec(output: Seq[Attribute], catalog: SupportsNamespaces, namespace: Seq[String], isExtended: Boolean) extends V2CommandExec with Product with Serializable
Physical plan node for describing a namespace.
- case class DescribeTableExec(output: Seq[Attribute], table: Table, isExtended: Boolean) extends V2CommandExec with Product with Serializable
-
case class
DropNamespaceExec(catalog: CatalogPlugin, namespace: Seq[String], ifExists: Boolean, cascade: Boolean) extends V2CommandExec with Product with Serializable
Physical plan node for dropping a namespace.
-
case class
DropTableExec(catalog: TableCatalog, ident: Identifier, ifExists: Boolean, purge: Boolean, invalidateCache: () ⇒ Unit) extends V2CommandExec with Product with Serializable
Physical plan node for dropping a table.
-
class
EmptyPartitionReader[T] extends PartitionReader[T]
A PartitionReader with empty output.
- class FileBatchWrite extends BatchWrite with Logging
-
trait
FileDataSourceV2 extends TableProvider with DataSourceRegister
A base interface for data source v2 implementations of the built-in file-based data sources.
- class FilePartitionReader[T] extends PartitionReader[T] with Logging
- abstract class FilePartitionReaderFactory extends PartitionReaderFactory
- trait FileScan extends Scan with Batch with SupportsReportStatistics with SupportsMetadata with Logging
- abstract class FileScanBuilder extends ScanBuilder with SupportsPushDownRequiredColumns
- abstract class FileTable extends Table with SupportsRead with SupportsWrite
- abstract class FileWriteBuilder extends WriteBuilder
- case class FileWriterFactory(description: WriteJobDescription, committer: FileCommitProtocol) extends DataWriterFactory with Product with Serializable
-
case class
MicroBatchScanExec(output: Seq[Attribute], scan: Scan, stream: MicroBatchStream, start: Offset, end: Offset) extends SparkPlan with DataSourceV2ScanExecBase with Product with Serializable
Physical plan node for scanning a micro-batch of data from a data source.
-
case class
OverwriteByExpressionExec(table: SupportsWrite, deleteWhere: Array[Filter], writeOptions: CaseInsensitiveStringMap, query: SparkPlan, refreshCache: () ⇒ Unit) extends V2CommandExec with V2TableWriteExec with BatchWriteHelper with Product with Serializable
Physical plan node for overwrite into a v2 table.
Physical plan node for overwrite into a v2 table.
Overwrites data in a table matched by a set of filters. Rows matching all of the filters will be deleted and rows in the output data set are appended.
This plan is used to implement SaveMode.Overwrite. The behavior of SaveMode.Overwrite is to truncate the table -- delete all rows -- and append the output data set. This uses the filter AlwaysTrue to delete all rows.
-
case class
OverwriteByExpressionExecV1(table: SupportsWrite, deleteWhere: Array[Filter], writeOptions: CaseInsensitiveStringMap, plan: LogicalPlan, refreshCache: () ⇒ Unit) extends V2CommandExec with V1FallbackWriters with Product with Serializable
Physical plan node for overwrite into a v2 table with V1 write interfaces.
Physical plan node for overwrite into a v2 table with V1 write interfaces. Note that when this interface is used, the atomicity of the operation depends solely on the target data source.
Overwrites data in a table matched by a set of filters. Rows matching all of the filters will be deleted and rows in the output data set are appended.
This plan is used to implement SaveMode.Overwrite. The behavior of SaveMode.Overwrite is to truncate the table -- delete all rows -- and append the output data set. This uses the filter AlwaysTrue to delete all rows.
-
case class
OverwritePartitionsDynamicExec(table: SupportsWrite, writeOptions: CaseInsensitiveStringMap, query: SparkPlan, refreshCache: () ⇒ Unit) extends V2CommandExec with V2TableWriteExec with BatchWriteHelper with Product with Serializable
Physical plan node for dynamic partition overwrite into a v2 table.
Physical plan node for dynamic partition overwrite into a v2 table.
Dynamic partition overwrite is the behavior of Hive INSERT OVERWRITE ... PARTITION queries, and Spark INSERT OVERWRITE queries when spark.sql.sources.partitionOverwriteMode=dynamic. Each partition in the output data set replaces the corresponding existing partition in the table or creates a new partition. Existing partitions for which there is no data in the output data set are not modified.
- class PartitionReaderFromIterator[InternalRow] extends PartitionReader[InternalRow]
-
class
PartitionReaderWithPartitionValues extends PartitionReader[InternalRow]
A wrapper reader that always appends partition values to InternalRows produced by the input reader fileReader.
- class PartitionRecordReader[T] extends PartitionReader[T]
- case class RefreshTableExec(catalog: TableCatalog, ident: Identifier, invalidateCache: () ⇒ Unit) extends V2CommandExec with Product with Serializable
-
case class
RenameTableExec(catalog: TableCatalog, oldIdent: Identifier, newIdent: Identifier, invalidateCache: () ⇒ Option[StorageLevel], cacheTable: (DataFrame, Option[String], StorageLevel) ⇒ Unit) extends V2CommandExec with Product with Serializable
Physical plan node for renaming a table.
-
case class
ReplaceTableAsSelectExec(catalog: TableCatalog, ident: Identifier, partitioning: Seq[Transform], plan: LogicalPlan, query: SparkPlan, properties: Map[String, String], writeOptions: CaseInsensitiveStringMap, orCreate: Boolean, invalidateCache: (TableCatalog, Table, Identifier) ⇒ Unit) extends V2CommandExec with TableWriteExecHelper with Product with Serializable
Physical plan node for v2 replace table as select when the catalog does not support staging table replacement.
Physical plan node for v2 replace table as select when the catalog does not support staging table replacement.
A new table will be created using the schema of the query, and rows from the query are appended. If the table exists, its contents and schema should be replaced with the schema and the contents of the query. This is a non-atomic implementation that drops the table and then runs non-atomic CTAS. For an atomic implementation for catalogs with the appropriate support, see ReplaceTableAsSelectStagingExec.
- case class ReplaceTableExec(catalog: TableCatalog, ident: Identifier, tableSchema: StructType, partitioning: Seq[Transform], tableProperties: Map[String, String], orCreate: Boolean, invalidateCache: (TableCatalog, Table, Identifier) ⇒ Unit) extends V2CommandExec with Product with Serializable
-
case class
SetCatalogAndNamespaceExec(catalogManager: CatalogManager, catalogName: Option[String], namespace: Option[Seq[String]]) extends V2CommandExec with Product with Serializable
Physical plan node for setting the current catalog and/or namespace.
-
case class
ShowCurrentNamespaceExec(output: Seq[Attribute], catalogManager: CatalogManager) extends V2CommandExec with Product with Serializable
Physical plan node for showing current catalog/namespace.
-
case class
ShowNamespacesExec(output: Seq[Attribute], catalog: SupportsNamespaces, namespace: Seq[String], pattern: Option[String]) extends V2CommandExec with LeafExecNode with Product with Serializable
Physical plan node for showing namespaces.
-
case class
ShowPartitionsExec(output: Seq[Attribute], catalog: TableCatalog, table: SupportsPartitionManagement, partitionSpec: Option[ResolvedPartitionSpec]) extends V2CommandExec with LeafExecNode with Product with Serializable
Physical plan node for showing partitions.
-
case class
ShowTablePropertiesExec(output: Seq[Attribute], catalogTable: Table, propertyKey: Option[String]) extends V2CommandExec with Product with Serializable
Physical plan node for showing table properties.
-
case class
ShowTablesExec(output: Seq[Attribute], catalog: TableCatalog, namespace: Seq[String], pattern: Option[String]) extends V2CommandExec with LeafExecNode with Product with Serializable
Physical plan node for showing tables.
-
trait
SupportsV1Write extends SparkPlan
A trait that allows Tables that use V1 Writer interfaces to append data.
- abstract class TextBasedFileScan extends FileScan
-
sealed
trait
V1FallbackWriters extends V2CommandExec with SupportsV1Write
Some helper interfaces that use V2 write semantics through the V1 writer interface.
- case class V1ScanWrapper(v1Scan: V1Scan, translatedFilters: Seq[Filter], handledFilters: Seq[Filter]) extends Scan with Product with Serializable
-
abstract
class
V2CommandExec extends SparkPlan
A physical operator that executes run() and saves the result to prevent multiple executions.
A physical operator that executes run() and saves the result to prevent multiple executions. Any V2 commands that do not require triggering a spark job should extend this class.
-
class
V2SessionCatalog extends TableCatalog with SupportsNamespaces with SQLConfHelper
A TableCatalog that translates calls to the v1 SessionCatalog.
-
trait
V2TableWriteExec extends V2CommandExec with UnaryExecNode
The base physical plan for writing data into data source v2.
- case class WriteToDataSourceV2Exec(batchWrite: BatchWrite, query: SparkPlan) extends V2CommandExec with V2TableWriteExec with Product with Serializable
-
case class
WriteToDataSourceV2(batchWrite: BatchWrite, query: LogicalPlan) extends LogicalPlan with Product with Serializable
Deprecated logical plan for writing data into data source v2.
Deprecated logical plan for writing data into data source v2. This is being replaced by more specific logical plans, like org.apache.spark.sql.catalyst.plans.logical.AppendData.
- Annotations
- @deprecated
- Deprecated
(Since version 2.4.0) Use specific logical plans like AppendData instead
Value Members
- object DataWritingSparkTask extends Logging
- object FileTable
- object PushDownUtils extends PredicateHelper
-
object
TableCapabilityCheck extends (LogicalPlan) ⇒ Unit
Checks the capabilities of Data Source V2 tables, and fail problematic queries earlier.
- object V2ScanRelationPushDown extends Rule[LogicalPlan]