Table Options¶
Table options control how Fabricks creates and manages physical Delta tables across steps. Use these options to define properties, layout, constraints, identity, retention, and more. Options are generally provided under table_options
at the job level (and may also be set as step defaults in your runtime config).
Common options¶
- identity: Enables a Delta identity column on the target table. If
identity: true
, the identity column is auto-created when the table is created. - liquid_clustering: Enables Delta Liquid Clustering where supported by the Databricks runtime.
- partition_by: List of partition columns (e.g.,
[date_id, country]
). - zorder_by: Columns used for Z-Ordering (improves data skipping).
- cluster_by: Logical clustering keys (materialization depends on runtime features).
- bloomfilter_by: Columns to maintain Bloom filters on (where supported).
- constraints: Map of table constraints (e.g.,
primary key(__key)
). - properties: Arbitrary Delta table properties (key/value pairs).
- comment: Table comment/description.
- calculated_columns: Map of computed columns populated on write.
- retention_days: Table VACUUM retention period (days).
- powerbi: true to apply Power BI–specific metadata (if supported).
Option matrix (types • defaults • compatibility)¶
Option | Type | Default | Applies to modes | Notes |
---|---|---|---|---|
identity | boolean | false | append, complete, update | Creates a Delta identity column on table create. |
liquid_clustering | boolean | false | append, complete, update | Requires Databricks runtime support. |
partition_by | array[string] | — | append, complete, update | Low-cardinality columns recommended. |
zorder_by | array[string] | — | append, complete, update | Improves data skipping on frequently filtered columns. |
cluster_by | array[string] | — | append, complete, update | Logical clustering; materialization depends on runtime features. |
bloomfilter_by | array[string] | — | append, complete, update | Use selectively for point-lookups. |
constraints | map[string,string] | — | append, complete, update | E.g., primary key(__key) . |
properties | map[string,string] | — | append, complete, update | Arbitrary Delta table properties. |
comment | string | — | append, complete, update | Table description. |
calculated_columns | map[string,string] | — | append, complete, update | Computed at write time. |
retention_days | integer | — | append, complete, update | VACUUM retention (days). |
powerbi | boolean | false | append, complete, update | Applies Power BI–specific metadata where supported. |
Notes: - table_options are ignored in memory mode (view-only). - Defaults may also be set at step level in your runtime and overridden per job.
Minimal example¶
- job:
step: gold
topic: fact
item: option
options:
mode: complete
table_options:
identity: true
cluster_by: [monarch]
properties:
delta.enableChangeDataFeed: true
comment: Strength lies in unity
Extended example¶
- job:
step: gold
topic: sales
item: curated
options:
mode: update
change_data_capture: scd1
table_options:
identity: true
partition_by: [date_id]
zorder_by: [customer_id, product_id]
bloomfilter_by: [order_id]
constraints:
primary_key: "primary key(__key)"
properties:
delta.minReaderVersion: 2
delta.minWriterVersion: 5
delta.enableChangeDataFeed: true
comment: "Curated sales model with CDC"
retention_days: 30
calculated_columns:
ingestion_date: "current_date()"
Notes and guidance¶
- Scope:
table_options
apply to physical table modes (append
,complete
,update
). They do not apply tomemory
mode (view-only). - Identity: When
identity: true
is enabled, the identity column is defined at create time - See Identity. - Layout vs performance: Start with
partition_by
on low-cardinality columns; addzorder_by
for frequently filtered high-cardinality columns. Use Bloom filters selectively for point-lookups. - Defaults: You can specify step-level defaults in your runtime config and override them per job.
Related topics¶
- Steps: Bronze • Silver • Gold
- Data quality checks: Checks & Data Quality
- Custom logic integration: Extenders, UDFs & Parsers
- Runtime configuration: Runtime