class DeltaTableBuilder extends AnyRef
:: Evolving ::
Builder to specify how to create / replace a Delta table. You must specify the table name or the path before executing the builder. You can specify the table columns, the partitioning columns, the location of the data, the table comment and the property, and how you want to create / replace the Delta table.
After executing the builder, an instance of DeltaTable is returned.
Scala example to create a Delta table with generated columns, using the table name:
val table: DeltaTable = DeltaTable.create() .tableName("testTable") .addColumn("c1", dataType = "INT", nullable = false) .addColumn( DeltaTable.columnBuilder("c2") .dataType("INT") .generatedAlwaysAs("c1 + 10") .build() ) .addColumn( DeltaTable.columnBuilder("c3") .dataType("INT") .comment("comment") .nullable(true) .build() ) .partitionedBy("c1", "c2") .execute()
Scala example to create a delta table using the location:
val table: DeltaTable = DeltaTable.createIfNotExists(spark) .location("/foo/`bar`") .addColumn("c1", dataType = "INT", nullable = false) .addColumn( DeltaTable.columnBuilder(spark, "c2") .dataType("INT") .generatedAlwaysAs("c1 + 10") .build() ) .addColumn( DeltaTable.columnBuilder(spark, "c3") .dataType("INT") .comment("comment") .nullable(true) .build() ) .partitionedBy("c1", "c2") .execute()
Java Example to replace a table:
DeltaTable table = DeltaTable.replace() .tableName("db.table") .addColumn("c1", "INT", false) .addColumn( DeltaTable.columnBuilder("c2") .dataType("INT") .generatedAlwaysBy("c1 + 10") .build() ) .execute();
- Annotations
- @Evolving()
- Since
1.0.0
- Alphabetic
- By Inheritance
- DeltaTableBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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
- def addColumn(col: StructField): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify a column.
- col
structField the column struct
- Annotations
- @Evolving()
- Since
1.0.0
- def addColumn(colName: String, dataType: DataType, nullable: Boolean): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify a column.
- colName
string the column name
- dataType
dataType the DDL data type
- nullable
boolean whether the column is nullable
- Annotations
- @Evolving()
- Since
1.0.0
- def addColumn(colName: String, dataType: String, nullable: Boolean): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify a column.
- colName
string the column name
- dataType
string the DDL data type
- nullable
boolean whether the column is nullable
- Annotations
- @Evolving()
- Since
1.0.0
- def addColumn(colName: String, dataType: DataType): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify a column.
- colName
string the column name
- dataType
dataType the DDL data type
- Annotations
- @Evolving()
- Since
1.0.0
- def addColumn(colName: String, dataType: String): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify a column.
- colName
string the column name
- dataType
string the DDL data type
- Annotations
- @Evolving()
- Since
1.0.0
- def addColumns(cols: StructType): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify columns with an existing schema.
- cols
structType the existing schema for columns
- Annotations
- @Evolving()
- Since
1.0.0
- 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()
- def clusterBy(colNames: String*): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify the columns to cluster the output on the file system.
Note: This should only include table columns already defined in schema.
- colNames
string* column names for clustering
- Annotations
- @Evolving() @varargs()
- Since
3.2.0
- def comment(comment: String): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify the table comment to describe the table.
- comment
string table comment
- Annotations
- @Evolving()
- Since
1.0.0
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def execute(): DeltaTable
:: Evolving ::
:: Evolving ::
Execute the command to create / replace a Delta table and returns a instance of DeltaTable.
- Annotations
- @Evolving()
- Since
1.0.0
- 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
- def location(location: String): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify the path to the directory where table data is stored, which could be a path on distributed storage.
- location
string the data location
- Annotations
- @Evolving()
- Since
1.0.0
- 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 partitionedBy(colNames: String*): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify the columns to partition the output on the file system.
Note: This should only include table columns already defined in schema.
- colNames
string* column names for partitioning
- Annotations
- @Evolving() @varargs()
- Since
1.0.0
- def property(key: String, value: String): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify a key-value pair to tag the table definition.
- key
string the table property key
- value
string the table property value
- Annotations
- @Evolving()
- Since
1.0.0
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tableName(identifier: String): DeltaTableBuilder
:: Evolving ::
:: Evolving ::
Specify the table name, optionally qualified with a database name [database_name.] table_name
- identifier
string the table name
- Annotations
- @Evolving()
- Since
1.0.0
- 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)