全部產品
Search
文件中心

Dataphin:建立及管理元表

更新時間:Oct 01, 2025

元表是通過資料管理的跨儲存類型表,開發過程中所用到的輸入表、輸出表、維表可以通過建立元表進行建立和管理。本文為您介紹如何建立及管理元表。

功能優勢

元表具有以下優勢:

  • 安全可靠:通過元表可以有效避免直接編寫原生Flink DDL語句導致的敏感資訊泄露問題。

  • 提升效率和體驗:通過一次建表,可多次引用。您無需重複編寫DDL語句,無需進行繁雜的輸入、輸出、維表映射。簡化開發,提升效率和體驗。

  • 資產血緣:通過元表可以維護上下遊的資產血緣資訊。

元表作用

使用元表,您可以實現以下應用情境:

  • 平台化:統一維護所有即時元表和相關Schema資訊。

  • 資產化:統一配置和管理即時研發過程中的表。

元表頁面介紹

image

地區

描述

操作欄

支援儲存、提交、去發布、重新整理、編輯鎖、定位操作。

元表基本資料

元表的基本資料,包括元表的名稱、資料來源類型、資料來源名稱、來源表名稱、Connector名稱。

說明

當元表資料來源類型選擇為Hive, 且來源表選擇為Hudi表時,Connectordp-hudi

操作元表結構

支援搜尋表欄位、添加欄位、Flink DDL匯出、排序和解析操作。添加欄位支援以下方式。

元表欄位列表

為您展示系統解析到的元表欄位。包括序號、欄位名、是否中繼資料、Flink欄位類型、原始欄位類型、描述以及支援編輯和刪除操作。

配置元表

支援配置元表的屬性和查看元錶的歷史版本。

  • 元表屬性:包括基本資料、元表參數配置、調試測試組態。具體操作,請參見配置元表屬性

  • 歷史版本:包括版本號碼、提交人、提交時間、生產狀態。具體操作,請參見Realtime Compute表歷史版本

操作步驟

步驟一:建立元表

  1. 在Dataphin首頁,在頂部功能表列選擇研發 > 資料開發

  2. 在頂部功能表列選擇專案後,在左側導覽列選擇資料處理 > 表管理

  3. 單擊表管理列表中的image建立表徵圖,開啟建立表對話方塊。

  4. 建立表對話方塊,配置參數。

    參數

    描述

    表類型

    選擇元表。

    元表名稱

    填寫元表的名稱。命名規則如下:

    • 僅支援英文字母大小寫、數字、底線(_),且不能以數字開頭。

    • 不能超過64個字元。

    資料來源

    來源表

    輸入或選擇來源表。

    說明

    當資料來源選擇為Hive時,還可選擇Hudi表。在來源表下拉式清單中,Hudi表後有image表徵圖標識。

    當資料來源選擇為Log ServiceDataHubKafkaElasticsearchRedisRabbitMQ時,不支援配置來源表。

    選擇目錄

    預設選擇為表管理。同時您也可以在表管理頁面建立目標檔案夾後,選擇該目標檔案夾為元表的目錄。操作方法如下:

    1. 在頁面左側表管理列表上方單擊image表徵圖,開啟建立檔案夾對話方塊。

    2. 建立檔案夾對話方塊中輸入檔案夾名稱並根據需要選擇目錄位置。

    3. 單擊確定

    描述

    填寫簡單的描述,1000個字元以內。

  5. 單擊確定,完成元表的建立。

步驟二:添加欄位

Dataphin元表支援以下三種添加欄位方式:

通過SQL匯入的方式添加欄位

  1. 在即時元表頁面,單擊+添加欄位,選擇SQL匯入

  2. SQL匯入對話方塊中,編寫SQL代碼。

    說明
    • Dataphin將根據您的資料來源類型提示對應的參考樣本,您可在視窗中單擊參考樣本image查看對應程式碼範例。

    • 完成代碼編寫後,您可單擊格式化image,一鍵調整您的代碼的格式。

    • 若您勾選同時匯入with參數中的參數值with的參數中的值將一併匯入。

    MySQL資料來源程式碼範例如下:

    create table import_table (
      retailer_code INT comment ''
      ,qty_order VARCHAR comment ''
      ,cig_bar_code INT comment ''
      ,org_code INT comment ''
      ,sale_reg_code INT comment ''
      ,order_date TIMESTAMP comment ''
      ,PRIMARY KEY(retailer_code)
    ) with (
      'connector' = 'mysql'
      ,'url' = 'jdbc'
      ,'table-name' = 'ads'
      ,'username' = 'dataphin'
    );
  3. 單擊確定,完成欄位的添加。

通過大量匯入的方式添加欄位

  1. 在即時元表頁面,單擊+添加欄位,選擇大量匯入

  2. 大量匯入對話方塊中,根據大量匯入格式編寫SQL代碼。

    • 大量匯入格式

      欄位名||欄位類型||描述||是否主鍵||是否中繼資料
    • 樣本

      ID||INT||描述||false||false
      name||INT||描述||false||false
  3. 單擊確定,完成欄位的添加。

通過單行添加的方式添加欄位

  1. 在即時元表頁面,單擊+添加欄位,選擇單行添加

  2. 單行添加對話方塊中,配置參數。

    參數

    描述

    是否中繼資料

    預設為否,若選擇,則無需填寫是否主鍵及原始欄位類型,需要選擇Flink SQL欄位類型。

    欄位名

    輸入欄位名稱。

    僅支援英文字母大小寫、數字、底線(_)、半形句號(.),且不能以數字開頭。

    是否主鍵

    請根據業務需求選擇該欄位是否為主鍵。

    說明
    • 若您的資料來源為Kafka且Connector為Kafka時,則選擇是否訊息鍵。

    • 若您的資料來源為HBase時,則選擇RowKey。

    欄位類型和原始欄位類型

    • HBase沒有原始欄位類型,需要選擇Flink SQL欄位類型。此外,若該欄位不是RowKey,則需填寫列簇。

    • 若元表的Flink SQL欄位類型與原始欄位類型為多對一,則需選擇Flink SQL欄位類型。由Flink SQL欄位類型映射出原始欄位類型,此時原始欄位類型只作展示,無法進行編輯,例如Kafka。

    • 如果此種資料來源的Flink SQL欄位類型與原始欄位類型為一對多,則先選擇原始欄位類型,選擇原始欄位類型後允許編輯,可手動添加精度,例如MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Hive等資料來源。

  3. 單擊確定,完成欄位的添加。

步驟三:配置元表屬性

  1. 完成元表建立後,單擊右側屬性按鈕,可以配置元表基本資料元表參數引用資訊和修改調試測試資料表。

    參數

    描述

    基本資料

    元表名稱

    預設為所建立的元表名稱,不支援修改。

    資料來源

    預設為所建立的資料來源類型。

    資料來源參數

    不同計算引擎支援不同資料來源,不同資料來源所需配置參數不同。更多資訊,詳情請參見附錄:元表資料來源配置參數

    描述

    請輸入對元表的描述,1000個字元以內。

    元表參數

    參數名稱

    根據資料來源類型提供不同的元表參數,您可以下拉擷取該資料來源支援的元表參數及其對應的說明,也可以手動填寫。若需新增參數,您可以單擊添加參數。

    參數個數不超過50個,參數名稱只能是數字、英文字母大小寫、底線(_)、短劃線(-)、半形句號(.)、半形冒號(:)、正斜線(/)。

    參數值

    參數值根據參數類型提供可選項,無可選項則需手動輸入,不支援單引號。例如:參數名稱:address,參數值:寧波。

    操作

    您可單擊image刪除對應參數。

    引用資訊

    Flink任務名

    將為您展示引用此元表的Flink任務名稱。

    說明

    草稿態任務不計入引用資訊。

    任務調試時預設讀取

    設定任務調試時預設讀取的資料表,支援選擇生產表和開發表。

    如果選擇可讀取生產表,調試時可讀取對應的生產表資料,存在資料泄漏風險,請謹慎操作。

    若設定了任務調試時預設讀取生產表,則需申請個人帳號的開發及生產資料來源許可權。如何申請資料來源許可權,請參見申請資料來源許可權

    說明

    Hive表、Paimon表暫不支援調試。

    開發環境測試時讀取

    設定任務測試時預設讀取的資料表,支援選擇生產表和開發表。

    如果選擇可讀取生產表,測試時可讀取對應的生產表資料,存在資料泄漏風險,請謹慎操作。

    若設定了開發環境測試時預設讀取生產表,則需申請個人帳號的開發及生產資料來源許可權。如何申請資料來源許可權,請參見申請資料來源許可權

    開發環境測試時寫入

    支援選擇當前來源表和其他測試表,如果選擇其他測試表,則需要選擇相應的表。

  2. 單擊確定

步驟四:提交或發布元表

  1. 單擊元表頁面左上方功能表列的提交

  2. 提交備忘對話方塊中,填寫備忘資訊。

  3. 單擊確定並提交

image

如果專案的模式為Dev-Prod,則您需要發布元表至生產環境。具體操作,請參見管理髮布任務

附錄:元表資料來源配置參數

資料來源

配置

描述

MaxCompute

  • 來源表

  • blinkType

來源表:資料的來源表。

blinkType:支援選擇odps或continuous-odps。

  • odps:作為source表為全量讀取,可作為sink表。

  • continuous-odps:作為source表進行增量讀取,不可以作為sink表。

  • Tablestore

  • StarRocks

  • Lindorm(寬表)

  • Hologres

  • ClickHouse

  • AnalyticDB for PostgreSQL

  • AnalyticDB for MySQL 3.0

  • Doris

  • Hive

  • Paimon

  • RocketMQ

  • PolarDB-X(原DRDS)

  • Aliyun HBase

來源表

來源表:資料的來源表。

SAP HAHA

  • 來源表

  • 更新時間欄位

來源表:資料的來源表。

更新時間欄位:在下拉選項中選擇SAP HAHA表中為更新時間的欄位(timestamp類型),或者填寫HANA SQL時間字串運算式,例如concat(column_date,column_time)

  • Log Service

  • DataHub

來源topic

來源topic:資料的來源topic。

  • MySQL

  • PostgreSQL

  • Oracle

  • TiDB

  • OceanBase

  • MongoDB

  • Microsoft SQL Server

  • 來源表

  • 讀取方式

  • 來源表:資料的來源表。

  • 讀取方式:支援選擇JDBC讀寫表或CDC Source表。

    • JDBC讀寫表:使用JDBC支援表查詢,表寫入,用於流寫,批讀寫等。

    • CDC Source表:增量流式讀取。

Kafka

  • 來源topic

  • connector

  • 訊息體格式

  • 來源表:資料的來源表。

  • connector:支援選擇kafka或upsert-kafka。

  • 訊息體格式:支援csv、jsonavro、avro-confluent、debezium-json、canal-json、canal-json-insert、maxwell-json、ogg-json、dataphin-canal-json、raw、protobuf或自訂輸入。

  • 主鍵訊息格式:connector選擇upsert-kafka時,需要配置主鍵訊息格式。支援csv、json、avro、avro-confluent、debezium-json、protobuf或自訂輸入。

    重要
    • dataphin-canal-json用於處理即時整合到kafka的資料。

    • 自訂輸入時,請確保自訂的資料格式已經打包成jar包,並上傳附加依賴檔案到Flink任務上,否則可能導致代碼無法正常引用或運行。

Hudi

  • 來源表

  • Hudi表類型

  • 來源表:資料的來源表。

  • Hudi表類型 :支援選擇MERGE_ON_READ或COPY_ON_WRITE。

    • MERGE_ON_READ:寫入更新延遲較低,讀取延遲較高。

    • COPY_ON_WRITE:寫入更新延遲較高,讀取延遲較低。

Elasticsearch

  • connector

  • index

  • typeName

  • connector:支援選擇Elasticsearch、Elasticsearch-6、Elasticsearch-7。

    • 作為source表或dim表時,請選擇Elasticsearch。

      說明

      只支援Elasticsearch。

    • 作為sink表時,請選擇Elasticsearch-6或Elasticsearch-7。

  • index:請輸入或選擇來源index。

  • typeName:請輸入或選擇typeName。

Redis

RabbitMQ

  • 交換器

  • 隊列

  • 路由標籤

  • 交換器:輸入或選擇交換器。

  • 隊列:輸入或選擇隊列。

  • 路由標籤(非必填):輸入routingKey。

後續步驟

完成元表建立後,您可以基於元表開發即時任務。更多資訊,請參見: