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.
Creating Instance¶
DeltaColumnBuilder takes the following to be created:
-
SparkSession(Spark SQL) - Column Name
Operators¶
Build StructField¶
Creates a StructField (Spark SQL) (possibly with some field metadata)
comment¶
dataType¶
generatedAlwaysAs¶
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¶
Generation Expression¶
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 flag is used to indicate a call to the following methods:
| Method | Value |
|---|---|
| generatedAlwaysAsIdentity | false |
| generatedByDefaultAsIdentity | true |
identityAllowExplicitInsert is used to build a StructField.