本文介紹資料湖構建(DLF)中 Format Table 的概念、建立方式及基本操作。
Format Table 簡介
在 DLF 中,Format Table 是 Apache Paimon 對傳統 Hive 相容表的統一抽象。DLF 將使用標準檔案格式(Parquet、ORC、CSV 或 JSON)儲存資料的 Hive 相容表歸類為 Format Table,支援通過 Spark、Flink 等計算引擎進行讀寫操作。
您可以通過以下方式建立 Format Table:
-
通過 DLF 控制台建立,儲存路徑由 DLF 自動產生。
-
通過 SQL 建立的標準檔案格式表(如 Spark SQL 的
USING Parquet或 Flink SQL 的type='format-table')。
DLF Format Table 特性:
-
資料管理:資料由DLF完全管理,包括中繼資料和實際資料檔案。
-
儲存系統:資料存放區路徑由DLF基於UUID自動產生,使用者無需手動指定儲存路徑。
-
刪除行為:刪除表時,預設保留資料1天以降低誤刪風險,超過1天后資料會被徹底刪除。
建立資料表
通過控制台建立
登入資料湖構建控制台。
-
在資料目錄列表頁面,單擊Catalog名稱,進入Catalog詳情頁。
-
在数据库列表中,單擊資料庫名稱,進入表列表頁。
-
在表列表中,單擊新建数据表。
-
配置以下資訊,單擊確定。
配置項
說明
表格式
選擇Format 表。
数据表名称
必填,資料庫下不可重名。
数据表描述
可選,輸入描述資訊。
字段信息
定義表中的列資訊,包括列名稱、是否為主鍵、是否非空、是否為分區欄位、資料類型、長度/類型、描述及操作。
表自定义属性
file.format:指定檔案格式。目前支援Parquet、ORC、CSV和JSON格式。可添加自訂屬性,在表建立過程中會覆蓋DLF中繼資料服務對應的預設參數,適用的配置項詳見Paimon官方文檔。
通過 SQL 建立
Format表是由DLF管理的Paimon表,DLF會自動產生基於UUID的儲存路徑,並在後台自動進行表最佳化與維護,您只需專註於商務邏輯即可。
-
Flink SQL
CREATE TABLE my_csv_table ( a INT, b STRING ) WITH ( 'type'='format-table', 'file.format'='csv' ); -
Spark SQL
CREATE TABLE my_csv_table ( a INT, b STRING ) USING CSV
進階配置
-
支援純值分區路徑
預設情況下,分區路徑採用
key=value格式(例如year=2025)。如果你的儲存目錄僅包含分區值(例如table-path/2025/xxxx.csv),必須顯式開啟此支援。設定參數:
format-table.partition-path-only-value: true。 -
設定檔案壓縮
使用
format-table.file.compression參數控制輸出檔案的壓縮演算法。若未指定,系統使用以下預設值:檔案類型
預設
parquet
snappy
avro/orc
zstd
csv/json
none(不壓縮)
查看資料表
-
在数据库列表中,單擊資料庫名稱,可查看錶列表。
-
在表列表中,單擊表名稱,可查看錶欄位。
-
單擊表详情頁簽,可查看資料表基本資料、欄位列表及分區定義。
-
單擊权限頁簽,可為使用者或角色授予資料表相關許可權。詳情請參見資料授權管理。
刪除資料表
表被刪除後,系統預設將表內資料保留1天,以降低誤刪除風險。超過1天后,資料將被徹底刪除。
在資料庫列表中,單擊資料庫名稱,可查看錶列表。
在表列表中,單擊操作列的刪除。
在彈出的提示框中,單擊確定,完成資料表刪除。