修改 Lake 資料庫
在本文中,您將瞭解如何使用資料庫設計工具,在 Azure Synapse Analytics 中修改現有的 Lake 資料庫。 資料庫設計工具可讓您輕鬆地建立和部署資料庫,而無須撰寫任何程式碼。
必要條件
- 若要建立 Lake 資料庫,必須具有 Synapse 工作區的 Synapse 系統管理員或 Synapse 參與者權限。
- 使用 [從資料湖] 選項建立資料表時,資料湖需要儲存體 Blob 資料參與者權限。
修改資料庫屬性
從 Azure Synapse Analytics 工作區 [首頁] 中樞,選取左側的 [資料] 索引標籤。 此時會開啟 [資料] 索引標籤,您會看見已存在於工作區的資料庫清單。
將滑鼠游標暫留在 [資料庫] 區段上,然後在您要修改的資料庫旁選取省略號 ...,再選擇 [開啟]。
此時會開啟 [資料庫設計工具] 索引標籤,並在畫布上載入您選取的資料庫。
選取索引標籤右上方的 [屬性] 圖示,即可開啟資料庫設計工具的 [屬性] 窗格。
- [名稱]:發佈資料庫後即無法編輯名稱,因此請確定您選擇的名稱正確。
- [描述] 可為您的資料庫提供描述,雖然是選擇性的,但可讓使用者瞭解資料庫的用途。
- [資料庫的儲存空間設定] 此區段包含資料庫中資料表的預設儲存體資訊。 此預設值會套用至資料庫中的每個資料表,除非其已在資料表本身覆寫。
- [連結服務] 是用來將資料儲存在 Azure Data Lake Storage 中的預設連結服務。 這會顯示與 Synapse 工作區相關聯的預設連結服務,但您可以將 [連結服務] 變更為您想要的任何 ADLS 儲存體帳戶。
- 輸入資料夾,用於使用檔案瀏覽器或透過鉛筆圖示手動編輯路徑,設定該連結服務中的預設容器和資料夾路徑。
- Azure Synapse 中的 [資料格式] Lake 資料庫支援以 Parquet 和分隔符號文字做為資料的儲存格式。
如要將資料表新增至資料庫,請選取 [+ 資料表] 按鈕。
- [自訂] 會將新資料表加入至畫布。
- [從範本] 會開啟資源庫,並讓您選取要在新增資料表時使用的資料庫範本。 如需詳細資訊,請參閱從資料庫範本建立 Lake 資料庫。
- [從資料湖] 可讓您使用已在 Lake 中的資料,匯入資料表結構描述。
選取 [自訂]。 新的資料表將會出現在名為 Table_1 的畫布上。
然後您可自訂 Table_1,包括資料表名稱、描述、儲存設定、資料行和關聯性。 請參閱下方的〈自訂資料庫中的資料表〉一節。
依序選取 [新增資料表]、[從資料湖],以從資料湖新增資料表。
此時會顯示 [從資料湖建立外部資料表]。 在窗格中填寫下列詳細資訊,然後選取 [繼續]。
- [外部資料表名稱] 是您針對目前所建立資料表提供的名稱。
- [連結服務] 為包含資料檔案所在 Azure Data Lake Storage 位置的連結服務。
- [輸入檔案或資料夾] 會使用檔案瀏覽器,在 Lake 上瀏覽並選取您要用來建立資料表的檔案。
- 在下個畫面中,Azure Synapse 會預覽檔案並偵測結構描述。
- 您將會進入 [新外部資料表] 頁面,並可在其中更新與資料格式相關的任何設定,以及 [預覽資料] 來檢查 Synapse 是否正確地識別檔案。
- 若您對設定感到滿意,請選取 [建立]。
- 您所選取名稱的新資料表將會新增至畫布,而 [資料表的儲存體設定] 區段會顯示您所指定的檔案。
自訂資料庫之後,即可將其發佈。 如果您搭配 Synapse 工作區使用 Git 整合,您必須認可變更並將其合併至共同作業分支。 深入瞭解 Azure Synapse 中的原始檔控制。 若您使用的是 Synapse 即時模式,則可選取 [發佈]。
發佈之前,會先驗證您的資料庫是否有錯誤。 任何找到的錯誤都會顯示在 [通知] 索引標籤中,並提供如何補救錯誤的指示。
發佈會在 Azure Synapse 中繼存放區中建立您的資料庫結構描述。 發佈後,其他 Azure 服務將可看到資料庫和資料表物件,並允許您資料庫中的中繼資料流入 Power BI 或 Microsoft Purview 等應用程式。
自訂資料庫內的資料表
資料庫設計工具可讓您完整自訂資料庫中的任何資料表。 當您選取資料表時,有三個可用的索引標籤,每個都包含與資料表結構描述或中繼資料相關的設定。
一般
[一般] 索引標籤包含資料表本身的特定資訊。
[名稱] 為資料表的名稱。 資料表名稱可以自訂為資料庫內的任何唯一值。 系統不允許多個資料表具有相同名稱。
[繼承自]:為選擇性項目,若資料表是從資料庫範本建立,就會出現這個值。 此值無法予以編輯,可告知使用者該資料表的衍生來源範本資料表。
[描述] 為資料表的描述。 若資料表是從資料庫範本建立的,則會包含此資料表所表示的概念描述。 此欄位可供編輯,並可進行變更以符合您商務需求的描述。
[顯示資料夾] 提供此資料表在資料庫範本中群組所屬商務區域資料夾的名稱。 若為自訂資料表,此值將會是「其他」。
此外,還有一個名為 [資料表儲存體設定] 的可摺疊區段,提供資料表所用基礎儲存體資訊的設定。
[繼承自資料庫預設值] 是一個核取方塊,可決定以下儲存體設定是否繼承自資料庫 [屬性] 索引標籤中設定的值,或為個別設定。 若您想要自訂儲存體值,請取消選取此方塊。
- [連結服務] 是用來將資料儲存在 Azure Data Lake Storage 中的預設連結服務。 如要變更,請挑選不同的 ADLS 帳戶。
- [輸入資料夾]:ADLS 中的資料夾,其中載入至此資料表的資料將會存留。 您可以瀏覽資料夾位置,或使用鉛筆圖示手動編輯。
- [資料格式] 為輸入資料夾中資料的資料格式,Azure Synapse 中的 Lake 資料庫,支援以 Parquet 和分隔符號文字做為資料的儲存體格式。 若資料格式不符合資料夾中的資料,資料表的查詢將會失敗。
針對分隔文字的 [資料格式],還有其他設定:
- [資料列標頭]:若資料具有資料列標頭,請勾選此方塊。
- 啟用資料中的多行如果資料在字串資料行中有多行,請勾選此方塊。
- 引用字元指定分隔文字檔的自訂引用字元。
- 逸出字元指定分隔文字檔的自訂逸出字元。
- [資料壓縮] 為資料使用的壓縮類型。
- [分隔符號] 為在資料檔案中使用的欄位分隔符號。 支援的值為:逗號 (,)、定位符號 (\t) 和直線符號 (|)。
- 分割區資料行,分割區資料行的清單將顯示在這裡。
- 可附加,如果您要從無伺服器 SQL 查詢 Dataverse 資料,請勾選此方塊。
針對 Parquet 資料有下列設定:
- [資料壓縮] 為資料使用的壓縮類型。
資料行
[資料行] 索引標籤會列出資料表的資料行並可予以修改。 此索引標籤上有兩個資料行清單:[標準資料行] 和 [分割資料行]。 [標準資料行] 是儲存資料的任何資料行和主索引鍵,除此之外不會用於資料分割。 [分割資料行] 也會儲存資料,但會根據資料行中包含的值,用來將基礎資料分割成資料夾。 各資料行具有下列屬性。
- [名稱] 為資料行的名稱。 在資料表中必須是唯一的。
- 索引鍵會指出資料表的資料行是否為主索引鍵 (PK) 及/或外部索引鍵 (FK)。 不適用於分割資料行。
- [描述] 為資料行的描述。 若資料行是從資料庫範本建立,則會看到此資料行所代表的概念描述。 此欄位可供編輯,並可進行變更以符合您商務需求的描述。
- [可 NULL 性] 會指出此資料行中是否可以有 Null 值。 不適用於分割資料行。
- [資料類型] 會根據 Spark 資料類型的可用清單,設定資料行的資料類型。
- [格式 / 長度] 可讓您自訂資料行的格式或長度上限,視資料類型而定。 日期和時間戳記資料類型具有格式下拉式清單,而其他類型 (例如字串) 則具有最大長度欄位。 並非所有資料類型都具有值,因為某些類型是固定長度。 頂端的 [資料行] 索引標籤是可用於與資料行互動的命令列。
- [依關鍵字篩選] 會將資料行清單篩選為符合指定關鍵字的項目。
- [+ 資料行] 可讓您加入新的資料行。 有三個可能的選項。
- [新增資料行] 會建立新的自訂標準資料行。
- [從範本] 會開啟探索窗格,可讓您從資料庫範本識別要包含在資料表上的資料行。 若您未使用資料庫範本來建立資料庫,則不會出現此選項。
- [分割資料行] 會新增自訂分割資料行。
- [複製] 會複製已選取的資料行。 複製的資料行一律與所選資料行的類型相同。
- [轉換類型] 用來將選取的標準資料行變更為分割資料行 (或反向操作)。 若您已選取多個不同類型的資料行,或選定資料行由於在資料行上設定 [PK] 或 [可 NULL 性] 旗標而不可供轉換,則此選項會呈現灰色。
- [刪除] 會將選定資料行從資料表中刪除。 這項動作無法復原。
您也可以使用雙垂直省略符號,藉由拖放的方式,重新排列資料行的順序,該雙垂直省略符號會在您將滑鼠游標懸停在資料行或按一下資料行時,顯示在資料行名稱的左側,如上圖所示。
分割資料行
分割資料行是用來根據這些資料行中的值,來分割資料庫中的實體資料。 分割資料行可讓您輕鬆地將磁碟上的資料分散到更高效能的區塊。 Azure Synapse 中的分割資料行一律位於資料表結構描述的尾端。 此外,在建立分割區資料夾時,會從上到下使用它們。 例如,若您的分割資料行是年和月,則會在 ADLS 中得到如下的結構:
其中 file1 和 file2 包含所有資料列,其中 Year 和 Month 的值分別為 2020 和 Jan。 當資料表中加入更多分割資料行時,就會將更多檔案新增至此階層,讓分割區的整體檔案大小變得更精簡。
Azure Synapse 不會藉由將分割資料行新增至資料表,來強制執行或建立此階層。 資料必須使用 Synapse Pipelines 或 Spark 筆記本載入資料表中,才能建立資料分割結構。
關聯性
[關聯性] 索引標籤可讓您指定資料庫中各資料表間的關聯性。 資料庫設計工具中的關聯性是參考資訊,不會對基礎資料強制執行任何限制。 其他 Microsoft 應用程式可讀取關聯性來加速轉換,或讓商務使用者深入瞭解資料表間的關聯性。 [關聯性] 窗格具有下列資訊。
- [來自 (資料表) 的關聯性]:當一或多個資料表具有連結至此資料表的外部索引鍵時。 這有時稱為父關聯性。
- [(資料表) 的關聯性]:當具有外部索引鍵的資料表與其他資料表連結時。 這有時稱為子關聯性。
- 這兩種關聯性類型都具有下列屬性。
- [從資料表]:關聯性中的父資料表或「單一」端。
- [從資料行]:關聯性是根據父資料表中的該資料行。
- [至資料表]:關聯性中的子資料表或「多數」端。
- [至資料行]:關聯性是根據子資料表中的該資料行。 頂端的 [關聯性] 索引標籤是可用於與關聯性互動的命令列
- [依關鍵字篩選] 會將資料行清單篩選為符合指定關鍵字的項目。
- [+ 關聯性] 可讓您加入新的關聯性。 有兩個選擇。
- [從資料表]:從您在處理的資料表,新增關聯性至不同的資料表。
- [至資料表]:從不同的資料表,新增關聯性至您在處理的資料表。
- [從範本] 會開啟探索窗格,讓您從資料庫範本中的關聯性中選擇要包含在資料庫中的關聯性。 若您未使用資料庫範本來建立資料庫,則不會出現此選項。
後續步驟
使用下列連結,繼續探索資料庫設計工具的功能。