DeltaColumnBuilder¶
DeltaColumnBuilder
is a builder interface to create columns programmatically.
DeltaColumnBuilder
is created using DeltaTable.columnBuilder utility.
In the end, DeltaColumnBuilder
is supposed to be built.
io.delta.tables Package¶
DeltaColumnBuilder
belongs to io.delta.tables
package.
import io.delta.tables.DeltaColumnBuilder
Creating Instance¶
DeltaColumnBuilder
takes the following to be created:
-
SparkSession
(Spark SQL) - Column Name
Operators¶
Build StructField¶
build(): StructField
Creates a StructField
(Spark SQL) (possibly with some field metadata)
comment¶
comment(
comment: String): DeltaColumnBuilder
dataType¶
dataType(
dataType: DataType): DeltaColumnBuilder
dataType(
dataType: String): DeltaColumnBuilder
generatedAlwaysAs¶
generatedAlwaysAs(
expr: String): DeltaColumnBuilder
Registers the Generation Expression of this field
generatedAlwaysAsIdentity¶
generatedAlwaysAsIdentity(): DeltaColumnBuilder // (1)!
generatedAlwaysAsIdentity(
start: Long,
step: Long): DeltaColumnBuilder
- Uses the defaults
Sets the following:
Property | Value | Default Value |
---|---|---|
identityStart | start | 1 |
identityStep | step | 1 |
identityAllowExplicitInsert | false | (undefined) |
generatedByDefaultAsIdentity¶
generatedByDefaultAsIdentity(): DeltaColumnBuilder // (1)!
generatedByDefaultAsIdentity(
start: Long,
step: Long): DeltaColumnBuilder
- Uses the defaults
Sets the following:
Property | Value | Default Value |
---|---|---|
identityStart | start | 1 |
identityStep | step | 1 |
identityAllowExplicitInsert | true | (undefined) |
nullable¶
nullable(
nullable: Boolean): DeltaColumnBuilder
Generation Expression¶
generationExpr: Option[String] = None
DeltaColumnBuilder
uses generationExpr
internal registry for the generatedAlwaysAs expression.
When requested to build a StructField, DeltaColumnBuilder
registers generationExpr
under delta.generationExpression key in the metadata (of this field).
identityAllowExplicitInsert¶
identityAllowExplicitInsert: Option[Boolean] = None
identityAllowExplicitInsert
flag is used to indicate a call to the following methods:
Method | Value |
---|---|
generatedAlwaysAsIdentity | false |
generatedByDefaultAsIdentity | true |
identityAllowExplicitInsert
is used to build a StructField.