我使用Azure ETL數據磚。我讀/寫數據和原始階段/牧師文件夾。我寫dataframe路徑(例如:/ mnt / datalake /策劃/ ....)。在最後一步,我從路徑,讀取數據,轉換為dataframe並編寫SQL Azure DB / Azure突觸DB。
我看到人們還使用腳本創建數據庫和表的數據磚本身是這樣的(創建表默認的名校使用δ位置“/ tmp /δ/人),和讀/寫數據。
我我我不創建數據庫和表的磚。每種方法的優點和缺點是什麼。我應該使用一個或另一個嗎?任何見解/文件會很有幫助。謝謝
當寫入另一個數據庫(一個典型的RDBMS或一個多節點一個突觸,雪花,…)你需要複製的數據存儲(數據湖等)到數據庫。
複製後您可以使用數據庫。
當你創建一個表在磚(火花),實際上你創建一個語義視圖中的數據存儲。所以沒有必要複製和DB的場景。
這些“表”可以使用火花或一些SQL查詢工具像磚SQL Azure突觸Serverless,轉眼間,Trino, Dremio等等。
的利弊取決於你的用例。如果你已經有DB,你真的必須有這個數據庫中的數據,那麼你去複製場景。
數據庫也可以高度優化(物化視圖,使用索引統計數據,緩存等)。
但是最主要的缺點是,你必須複製數據和經常數據庫不支持非結構化數據(json等)。
同時,數據庫必須運行在線查詢和經常需要管理,可昂貴
使用´的主要優勢大數據的sql工具的直接數據湖之上:不需要額外的數據移動,有大量的選項不同的價格範圍。(幾乎)沒有係統管理和支付你使用。
我們使用的混合:一些數據複製到物理數據庫,其他數據是由初版SQL Azure突觸Serverless或磚。
當寫入另一個數據庫(一個典型的RDBMS或一個多節點一個突觸,雪花,…)你需要複製的數據存儲(數據湖等)到數據庫。
複製後您可以使用數據庫。
當你創建一個表在磚(火花),實際上你創建一個語義視圖中的數據存儲。所以沒有必要複製和DB的場景。
這些“表”可以使用火花或一些SQL查詢工具像磚SQL Azure突觸Serverless,轉眼間,Trino, Dremio等等。
的利弊取決於你的用例。如果你已經有DB,你真的必須有這個數據庫中的數據,那麼你去複製場景。
數據庫也可以高度優化(物化視圖,使用索引統計數據,緩存等)。
但是最主要的缺點是,你必須複製數據和經常數據庫不支持非結構化數據(json等)。
同時,數據庫必須運行在線查詢和經常需要管理,可昂貴
使用´的主要優勢大數據的sql工具的直接數據湖之上:不需要額外的數據移動,有大量的選項不同的價格範圍。(幾乎)沒有係統管理和支付你使用。
我們使用的混合:一些數據複製到物理數據庫,其他數據是由初版SQL Azure突觸Serverless或磚。