管理DLF Catalog
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務(wù)造成影響,請務(wù)必仔細(xì)閱讀。
配置DLF Catalog后,您可以在實時計算開發(fā)控制臺直接訪問DLF實例中的表,無需再手動注冊DLF表,提高作業(yè)開發(fā)的效率且保證數(shù)據(jù)的正確性。本文為您介紹如何創(chuàng)建、查看、使用及刪除DLF Catalog。
背景信息
阿里云數(shù)據(jù)湖構(gòu)建(Data Lake Formation,簡稱DLF)是阿里云官方提供的一款統(tǒng)一元數(shù)據(jù)管理的產(chǎn)品。您可以方便地借助DLF產(chǎn)品來管理創(chuàng)建的表格,這些表格的格式可以是開源格式,例如Iceberg、Hudi、Delta、Parquet、ORC或Avro等。詳情請參見產(chǎn)品簡介。
本文將從以下方面為您介紹如何管理DLF Catalog:
前提條件
已開通阿里云數(shù)據(jù)湖構(gòu)建服務(wù)。如果您沒有開通,則可以在DLF產(chǎn)品首頁,單擊立即開通。
使用限制
僅Flink計算引擎vvr-4.0.12-flink-1.13及以上版本支持配置DLF Catalog。
Flink在DLF Catalog下僅支持管理Iceberg和Hudi兩種數(shù)據(jù)湖格式。
創(chuàng)建DLF Catalog
支持UI與SQL命令兩種方式配置DLF Catalog,推薦使用UI方式配置DLF Catalog。
UI方式
進入元數(shù)據(jù)管理頁面。
登錄實時計算控制臺。
單擊目標(biāo)工作空間操作列下的控制臺。
單擊元數(shù)據(jù)管理。
在元數(shù)據(jù)管理頁面,單擊創(chuàng)建Catalog。
單擊DLF后,單擊下一步。
創(chuàng)建DLF Catalog。
配置Catalog信息。
配置項
說明
是否必填
備注
catalogname
DLF Catalog名稱。
是
請?zhí)顚憺樽远x的英文名。
access.key.id
訪問OSS服務(wù)所需的阿里云Access Key。
是
獲取方法請參見獲取AccessKey。
access.key.secret
訪問OSS服務(wù)所需的阿里云Access Secret。
是
獲取方法請參見獲取AccessKey。
warehouse
DLF Catalog中表默認(rèn)的OSS存放路徑,OSS服務(wù)中所指定的數(shù)倉目錄。
是
支持OSS和OSS-HDFS兩種服務(wù)。
OSS路徑格式為
oss://<bucket>/<object>
。OSS-HDFS路徑格式為
oss://<bucket>.<oss-hdfs-endpoint>/<object>
。
其中:
bucket:表示您創(chuàng)建的OSS Bucket名稱。您可以在OSS管理控制臺上查看。
object:表示您存放數(shù)據(jù)的路徑。您可以在OSS管理控制臺上查看。
oss-hdfs-endpoint:表示OSS-HDFS服務(wù)Endpoint。您可以在OSS管理控制臺Bucket的概覽頁面的訪問端口中查看HDFS服務(wù)的Endpoint信息。
說明僅Flink計算引擎VVR 8.0.3及以上版本支持該參數(shù)配置為OSS-HDFS路徑。
oss.endpoint
阿里云對象存儲服務(wù)OSS的Endpoint。OSS的 endpoint 地址,例如
oss-cn-hangzhou-internal.aliyuncs.com
是
支持OSS和OSS-HDFS兩種服務(wù)。
OSS服務(wù)Endpoint,詳情參見訪問域名和數(shù)據(jù)中心。
OSS-HDFS服務(wù)Endpoint,您可以在OSSBucket概覽頁面的訪問端口中查看HDFS服務(wù)的Endpoint信息。
說明推薦您為oss.endpoint參數(shù)配置OSS的VPC Endpoint。例如,如果您選擇的地域為cn-hangzhou地域,則oss.endpoint需要配置為oss-cn-hangzhou-internal.aliyuncs.com。
如果您需要跨VPC訪問OSS,則請參見如何訪問跨VPC的其他服務(wù)?
dlf.endpoint
表示阿里云DLF服務(wù)的Endpoint。
是
詳情請參見已開通的地域和訪問域名。
說明推薦您為dlf.endpoint參數(shù)配置DLF的VPC Endpoint。例如,如果您選擇的地域為cn-hangzhou地域,則dlf.endpoint參數(shù)需要配置為dlf-vpc.cn-hangzhou.aliyuncs.com。
如果您需要跨VPC訪問DLF,則請參見如何訪問跨VPC的其他服務(wù)?。
dlf.region-id
阿里云DLF服務(wù)的地域名,DLF所在區(qū)域。
是
詳情請參見已開通的地域和訪問域名。
說明請和dlf.endpoint選擇的地域保持一致。
更多配置
設(shè)置其他DLF配置,例如指定多個DLF Catalog,配置多個DLF Catalog請換行分隔。
否
例如:
dlf.catalog.id:my_catalog
。單擊確定。
創(chuàng)建完成后,元數(shù)據(jù)區(qū)域下即可查看新建Catalog。
SQL方式
在查詢腳本文本編輯區(qū)域,輸入配置DLF Catalog的命令。
CREATE CATALOG <yourcatalogname> WITH ( 'type' = 'dlf', 'access.key.id' = '<YourAliyunAccessKeyId>', 'access.key.secret' = '<YourAliyunAccessKeySecret>', 'warehouse' = '<YourAliyunOSSLocation>', 'oss.endpoint' = '<YourAliyunOSSEndpoint>', 'dlf.region-id' = '<YourAliyunDLFRegionId>', 'dlf.endpoint' = '<YourAliyunDLFEndpoint>' );
參數(shù)
說明
是否必填
備注
yourcatalogname
自定義DLF Catalog名稱。
是
請?zhí)顚憺樽远x的英文名。
重要參數(shù)替換為您的Catalog名稱后,需要去掉尖括號(<>),否則語法檢查會報錯。
type
類型。
是
固定值為dlf。
access.key.id
阿里云賬號的AccessKey ID。
是
獲取方法請參見獲取AccessKey。
access.key.secret
阿里云賬號的AccessKey Secret。
是
獲取方法請參見獲取AccessKey。
warehouse
DLF Catalog中表默認(rèn)的OSS存放路徑。
是
格式為oss://<bucket>/<object>。其中:
bucket:表示您創(chuàng)建的OSS Bucket名稱。
object:表示您存放數(shù)據(jù)的路徑。
說明請在OSS管理控制臺上查看您的bucket和object名稱。
oss.endpoint
阿里云對象存儲服務(wù)OSS的Endpoint。
是
請詳情參見訪問域名和數(shù)據(jù)中心。
說明推薦您為oss.endpoint參數(shù)配置OSS的VPC Endpoint。例如,如果您選擇的地域為cn-hangzhou地域,則oss.endpoint需要配置為oss-cn-hangzhou-internal.aliyuncs.com。
如果您需要跨VPC訪問OSS,則請參見如何訪問跨VPC的其他服務(wù)?
dlf.endpoint
阿里云DLF服務(wù)的Endpoint。
是
詳情請參見已開通的地域和訪問域名。
說明推薦您為dlf.endpoint參數(shù)配置DLF的VPC Endpoint。例如,如果您選擇的地域為cn-hangzhou地域,則dlf.endpoint參數(shù)需要配置為dlf-vpc.cn-hangzhou.aliyuncs.com。
如果您需要跨VPC訪問DLF,則請參見如何訪問跨VPC的其他服務(wù)?。
dlf.region-id
阿里云DLF服務(wù)的地域名。
是
詳情請參見已開通的地域和訪問域名。
說明請和dlf.endpoint選擇的地域保持一致。
選中創(chuàng)建Catalog的代碼后,單擊左側(cè)代碼行數(shù)上的運行。
在左側(cè)元數(shù)據(jù)區(qū)域,查看創(chuàng)建的Catalog。
查看DLF Catalog
DLF Catalog創(chuàng)建成功后,您可以通過以下步驟查看DLF元數(shù)據(jù)。
進入元數(shù)據(jù)管理頁面。
登錄實時計算控制臺。
單擊目標(biāo)工作空間操作列下的控制臺。
單擊元數(shù)據(jù)管理。
在Catalog列表頁面,查看Catalog名稱和類型。
說明如果您需要查看目標(biāo)Catalog下的數(shù)據(jù)庫和表,請單擊查看。
使用DLF Catalog
管理DLF數(shù)據(jù)庫
在查詢腳本文本編輯區(qū)域,輸入如下語句,選中代碼后單擊運行。創(chuàng)建或者刪除完成后,你可以在SQL開發(fā)頁面左側(cè),單擊元數(shù)據(jù)進行確認(rèn)。
創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE dlf.dlf_testdb;
刪除數(shù)據(jù)庫
DROP DATABASE dlf.dlf_testdb;
管理DLF表
創(chuàng)建表
通過連接器創(chuàng)建
SQL方式
在查詢腳本文本編輯區(qū)域,輸入如下語句,選中代碼后單擊運行。創(chuàng)建完成后,你可以在SQL開發(fā)頁面左側(cè),單擊元數(shù)據(jù),就可以查看到您創(chuàng)建的表。
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' );
UI方式
進入元數(shù)據(jù)管理頁面。
登錄實時計算控制臺。
單擊目標(biāo)工作空間操作列下的控制臺。
單擊元數(shù)據(jù)管理。
單擊目標(biāo)Catalog名稱對應(yīng)操作列的查看。
單擊目標(biāo)數(shù)據(jù)庫名稱對應(yīng)操作列的查看。
單擊創(chuàng)建表。
在使用內(nèi)置連接器連接頁簽,單擊連接方式,選擇表類型。
單擊下一步。
填寫建表語句并配置相關(guān)參數(shù)信息。代碼示例如下。
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' );
單擊確定。
快速創(chuàng)建相同表結(jié)構(gòu)的表(該方式僅Iceberg表支持)
在查詢腳本文本編輯區(qū)域,輸入如下語句,選中代碼后單擊運行。
CREATE TABLE iceberg_table_like LIKE iceberg_table;
刪除表
DROP TABLE iceberg_table;
修改Iceberg表結(jié)構(gòu)
在查詢腳本文本編輯區(qū)域輸入如下命令,選中代碼后單擊運行。
操作 | 代碼示例 |
更改表屬性 |
|
重命名 |
|
更改列名字 |
說明 僅實時計算引擎VVR 8.0.7及以上版本支持。 |
更改數(shù)據(jù)類型 |
更改列的類型需要符合以下規(guī)則:
說明 僅實時計算引擎VVR 8.0.7及以上版本支持。 |
寫入數(shù)據(jù)
INSERT INTO dlf.dlf_testdb.iceberg VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
INSERT INTO dlf.dlf_testdb.hudi VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
讀取數(shù)據(jù)
SELECT * FROM dlf.dlf_testdb.iceberg LIMIT 2;
SELECT * FROM dlf.dlf_testdb.hudi LIMIT 2;
刪除DLF Catalog
刪除DLF Catalog不會影響已運行的作業(yè),但會導(dǎo)致使用該Catalog下表的作業(yè),在上線或重啟時報無法找到該表的錯誤,請您謹(jǐn)慎操作。
支持UI與SQL命令兩種方式刪除DLF Catalog,推薦使用UI方式刪除DLF Catalog。
UI方式
進入元數(shù)據(jù)管理頁面。
登錄實時計算控制臺。
單擊目標(biāo)工作空間操作列下的控制臺。
單擊元數(shù)據(jù)管理。
在Catalog列表頁面,單擊目標(biāo)Catalog名稱對應(yīng)操作列的刪除。
在彈出的提示頁面中,單擊刪除。
在左側(cè)元數(shù)據(jù)下,查看目標(biāo)Catalog是否已被刪除。
SQL方式
在查詢腳本文本編輯區(qū)域,輸入以下命令。
DROP CATALOG ${catalog_name}
其中,catalog_name為您要刪除的在實時計算開發(fā)控制臺上顯示的DLF Catalog名稱。
選中刪除Catalog的命令,鼠標(biāo)右鍵選擇運行。
在左側(cè)元數(shù)據(jù)區(qū)域,查看目標(biāo)Catalog是否已刪除。
相關(guān)文檔
Iceberg連接器的使用方法,詳情請參見Iceberg。
Hudi連接器的使用方法,詳情請參見Hudi。
如果內(nèi)置的Catalog無法滿足您的業(yè)務(wù)需求,您可以使用自定義Catalog,詳情請參見管理自定義Catalog。