-
Notifications
You must be signed in to change notification settings - Fork 175
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for Iceberg Table Materialization (#1170)
* Add materializations of table and dynamic table. * Add the method to tell something is iceberg format and pipe that through to relation object * Finish create macro and fix alters. * Finish todo items and begin cleaning code. * revert dynamic table changes. * Fix the drop by fixing snowflake__show_iceberg_relations * Transient needs sophisticated handling based on what user specifies for transient manually. * Try to figure out what the right None semantics are. * Revert to original statement. * Fix the transient behavior by passing table_type again. * Rename object_format config param to table_format * Migrate Jinja macros to Python. * All classes are frozen * Clean up the metadata queries that power is_iceberg column generation * Fix Python models generation argument * Add changelog. * Try to fix duplication of join record issues. * Use the RelationConfig protocol for type checking. * Fix transient semantics. * Add functional tests. * Fix test. * Fix test. * Fix test and remove strip calls * Add view test case. * Code review comments. * I'm using too new a version of mypy for Self. * Add a behavior flag for iceberg table materialization. * Flip order of flag. * Adjust test. --------- Co-authored-by: Mila Page <[email protected]>
- Loading branch information
1 parent
3fbc074
commit 49623d7
Showing
9 changed files
with
339 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
kind: Features | ||
body: Add support for Iceberg table materializations. | ||
time: 2024-09-11T00:18:06.780586-07:00 | ||
custom: | ||
Author: versusfacit | ||
Issue: "321" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
from dbt_common.dataclass_schema import StrEnum # doesn't exist in standard library until py3.11 | ||
|
||
|
||
class TableFormat(StrEnum): | ||
""" | ||
Snowflake docs refers to this an 'Object Format.' | ||
Data practitioners and interfaces refer to this as 'Table Format's, hence the term's use here. | ||
""" | ||
|
||
DEFAULT = "default" | ||
ICEBERG = "iceberg" | ||
|
||
def __str__(self): | ||
return self.value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.