DB1To3
Contributor

Given the lack of flexibility in the naming of schema and tables, I decided to fall back on external volumes.  NOTE: I will not use these external volumes for any of the structured tables in the gold/presentation layer (even though I really dislike the rigid names over there too).  I will ONLY use external volumes for lower layers that have a smaller audience (silver/bronze/temp/etc).


The nice thing about external volumes is that I can still put any table format in there (delta/parquet), I'm not restricted to the three arbitrarly naming levels, and I'm no longer restricted to lowercase object names either.  I suppose we'll lose some UC governance features and other things. But in any case, most of those can be better accommodated in the gold layer when needed.   I think it is common for customers to do something slightly different when it comes to storing data in the lower medallion layers.

Below is what is possible after we have escaped the rigid managed table environment, and start hosting our bronze in Volumes.  It unshackles us from the arbitrary naming strategies needed when creating UC managed tables.


 

%sql

-- Querying a Delta file from Volumes

SELECT * FROM delta.`/Volumes/prod_catalog/default/my_ext_volume/bronze/NorthAmerica/Erp01/ExecutiveSummary/OutsideSales`;
 
 



View solution in original post