我正在將整個雪花資料庫復制到 S3 中,以便通過 Athena 查看。我想保留架構/層次結構,以便相應的查詢不會改變。在 S3 中為此正確組織了所有檔案,如下所示
資料庫/架構/檔案夾/表/{parquet 檔案}
當我用 Glue 爬行時,它們最終都在同一級別的一個資料庫中。在 Athena 中是否可以有類似的檔案夾結構?
現在雅典娜的所有查詢都像
Select *
FROM database.table
我想擁有
Select *
FROM database.schema.folder.table
uj5u.com熱心網友回復:
Athena中唯一可用的表邏輯分組是 a database,正如您所指出的,Athena 中沒有層次結構、模式或檔案夾的概念。
資料庫和模式構成雪花中的命名空間。如果您的意圖是簡單地擁有一個類似的命名空間,您可以做的是將 Snowflake 資料庫d1和模式名稱結合起來,s1在 Athena 中創建一個扁平化的邏輯分組d1_s1。然后你可以這樣做:
SELECT * FROM d1_s1.table
此外,資料庫名稱中唯一可以使用的特殊字符是下劃線,因此實際上沒有其他方法可以保留結構或現有查詢。至少,這種方式格式足夠接近,應該很容易以編程方式修復現有查詢(例如,使用正則運算式替換a.b.c為a_b.c)。
但是,仍然會有差異。例如, Snowflake 資料庫和模式的授權管理方式不同。Schemas 也有managed access. 這在雅典娜是不可能的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/452635.html
