本文介紹如何通過Realtime ComputeFlink部署JAR作業,實現將Paimon FileSystem Catalog遷移至DLF的操作流程。
前提條件
已建立Flink全託管工作空間,詳情請參見開通Realtime ComputeFlink版。
操作步驟
步驟一:建立JAR作業
單擊Flink全託管工作空間列表中的工作空間名稱,進入對應的工作空間。
在左側功能表列,選擇,進入作業營運頁面。
單擊部署作業,選擇JAR作業,在彈窗中填寫以下配置項。
參數
描述
本文樣本
部署模式
固定為批模式。
批模式
部署名稱
填寫對應的JAR作業英文名。
migrate_paimon
引擎版本
選擇Realtime Compute引擎版本。
vvr-8.0.11-flink-1.17
JAR URI
上傳paimon-flink-action JAR包。
上傳paimon-flink-action-1.3-SNAPSHOT-for-clone-20250909.jar包。若上傳過,可在下拉式功能表中選擇。
Entry Point Class
程式的入口類。
不填寫。
Entry Point Main Arguments
傳入參數,在主方法裡調用該參數。
此處不填寫。具體參數根據不同作業而定,詳見步驟二。
附加依賴檔案
指定要附加的依賴檔案的路徑或檔案名稱。
上傳paimon-ali-vvr-8.0-vvp-1.3-ali-SNAPSHOT-for-clone-20250909.jar包。若上傳過,可在下拉式功能表中選擇。
說明更多部署參數說明,請參見部署JAR作業。
單擊部署,完成JAR作業的建立。
步驟二:調整參數並啟動作業
Flink作業可支援遷移整個Catalog、整個資料庫或單個表。根據不同作業目的,調整Entry Point Main Arguments參數。
在作業營運列表,選擇剛建立的JAR作業,單擊詳情,查看部署詳情。
在部署詳情頁,單擊右上方的編輯,重新填寫
Entry Point Main Arguments參數。根據您的源表類型,選擇不同的方式:
clone --parallelism '<parallelism>' --database '<database-name>' --table '<table-name>' --catalog_conf 'metastore=filesystem' --catalog_conf "warehouse=<warehouse>" --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>' --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>' --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>' --target_database '<target-database-name>' --target_table '<target-table-name>' --target_catalog_conf 'metastore=rest' --target_catalog_conf 'warehouse=<target-warehouse>' --target_catalog_conf 'uri=<dlf.next.endpoint>' --target_catalog_conf 'token.provider=dlf' --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>' --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>' --clone_from 'paimon' --where '<filter-spec>'配置項說明如下:
配置項
描述
是否必填
備忘
parallelism
作業的並發度。
否
樣本:16
database-name
需要複製的FileSystem Catalog資料庫名。
否
樣本:my_database
table-name
需要複製的FileSystem Catalog資料表名。
否
樣本:my_table
warehouse
需要複製的FileSystem Catalog的OSS倉庫路徑。
是
格式為
oss://<bucket>/<object>。其中:bucket:表示您建立的OSS Bucket名稱。
object:表示您存放資料的路徑。
請在OSS管理主控台上查看您的bucket和object名稱。
fs.oss.endpoint
OSS服務的串連地址。
是
擷取方法請參見地區和Endpoint。
OSS 樣本:oss-cn-hangzhou-internal.aliyuncs.com。
OSS-HDFS 樣本:
cn-hangzhou.oss-dls.aliyuncs.com
fs.oss.accessKeyId
擁有OSS讀寫權限的阿里雲帳號或RAM帳號的Accesskey ID。
是
請使用已有AccessKey或者參考建立AccessKey重新建立。
說明為降低AccessKey泄露的風險,AccessKey Secret 只在建立時顯示一次,後續無法查看。請務必妥善保管。
fs.oss.accessKeySecret
擁有OSS讀寫權限的阿里雲帳號或RAM帳號的Accesskey secret。
是
target-database-name
複製的DLF資料庫名。
否
樣本:target_database
target-table-name
複製的DLF資料表名。
否
樣本:targety_table
target-warehouse
複製的DLF資料目錄(Catalog)名稱。
是
dlf.next.endpoint
DLF服務的Endpoint。
是
詳情請參見服務存取點。
樣本:cn-hangzhou-vpc.dlf.aliyuncs.com
dlf.access-key-id
訪問DLF服務所需的Access Key ID。
是
請使用已有AccessKey或者參考建立AccessKey重新建立。
說明為降低AccessKey泄露的風險,AccessKey Secret 只在建立時顯示一次,後續無法查看。請務必妥善保管。
dlf.access-key-secret
訪問DLF服務所需的Access Key Secret。
是
clone_from
複製的源表類型。
是
'paimon'
filter-spec
複製時的分區過濾條件。
否
dt = '2024-10-01'
重要若需遷移整個資料庫,請勿設定
table-name和target-table-name。若需遷移整個資料目錄,請勿設定
database-name和target-database-name。整個資料目錄或資料庫遷移時可以選擇排除部分表,通過
--excluded_tables <excluded-tables-spec>設定。樣本:my_db.my_tbl,my_db2.my_tbl2。單表遷移時請勿設定。
完成參數配置後,單擊部署詳情頁的儲存。
在作業營運頁面,單擊該JAR作業的啟動,保持預設參數,啟動作業。
步驟三:驗證作業結果
當作業狀態變成已完成時,登入DLF 控制台,檢查是否遷移成功。
若是整個Catalog遷移:檢查DLF中的Catalog結構以及內部的庫、表是否與FileSystem Catalog保持一致。
若是整個資料庫遷移:檢查DLF中的庫、表結構是否與FileSystem Catalog保持一致。
若是單個資料表遷移:檢查DLF中的表結構是否與FileSystem Catalog保持一致。