如何在Serverless StarRocks中通過Paimon REST訪問DLF Catalog。
前提條件
建立DLF Catalog
詳情請參見DLF 快速入門。
建立StarRocks帳號與授權
DLF的存取控制是RAM層級的。預設情況下,所有StarRocks使用者均不具備DLF的任何許可權,因此您必須建立一個和RAM使用者同名的內部使用者,並為其授予相應的許可權。
建立RAM使用者。
使用阿里雲帳號或Resource Access Management員登入RAM控制台。
建立一個新的RAM使用者或選擇一個已有RAM使用者。建立RAM使用者,請參見建立RAM使用者並授權。
說明該RAM使用者的名稱需符合StarRocks的使用者命名規則,即只包含字母、數字、底線,不能包含虛線、句號。
在DLF中為該RAM使用者授權。
在Serverless StarRocks中建立一個與該RAM同名的使用者。賦予該使用者建立External Catalog以及查看所有Catalog的許可權,並將該使用者與RAM使用者關聯。
在執行個體列表頁面,單擊已建立執行個體操作列的串連執行個體,詳情請參見通過EMR StarRocks Manager串連StarRocks執行個體。
指定使用者名稱為admin或StarRocks超級管理員,串連StarRocks執行個體。
在EMR StarRocks Manager頁面的左側功能表列,選擇資訊安全中心 > 使用者管理,單擊添加使用者。
在彈出的對話方塊中,配置以下資訊,單擊確定。
使用者來源:選擇RAM使用者。
使用者名稱:選擇上一步授權的RAM使用者。
密碼:自訂。
角色:預設public。
添加使用者成功後,為該使用者授權。
在使用者管理頁面,單擊目標使用者操作列的授權。
在許可權管理頁簽,單擊添加許可權。
在添加許可權面板中,配置以下參數,單擊確定。
資源:選擇相應資源。
許可權配置:勾選需要授權的許可權。
說明此處StarRocks Manager中授權資料庫與授權許可權的內容只包含StarRocks內表。要想修改DLF資料目錄的存取權限,只能在資料湖構建控制台修改對應同名RAM使用者的許可權。
(可選)驗證使用者是否關聯成功。
因上一步操作有10~20秒的延遲,您可使用該使用者登入StarRocks Manager,在SQL Editor的查詢列表頁面,單擊
表徵圖,建立SQL查詢。通過SQL Editor執行以下命令,查看目前使用者關聯的Ram User ID,不為空白時說明關聯成功。show property;
在StarRocks中串連Catalog
這裡僅用於建立與DLF Catalog的映射串連,建立或刪除Catalog僅影響映射關係,不會對DLF中的實際資料產生影響。
使用該RAM使用者登入StarRocks Manager,建立或查看Catalog,即可訪問到DLF外表。
在SQL Editor的查詢列表頁面,單擊
表徵圖,建立SQL查詢。輸入以下SQL,單擊運行,建立External Catalog。
CREATE EXTERNAL CATALOG `paimon_catalog` PROPERTIES ( 'type' = 'paimon', 'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com', 'paimon.catalog.type' = 'rest', 'paimon.catalog.warehouse' = 'xxx_test', 'token.provider' = 'dlf' );參數說明如下。
參數
說明
樣本
type
必填,StarRocks的Catalog類型,DLF當前只支援
paimon。paimon
uri
必填,格式為
http://[region-id]-vpc.dlf.aliyuncs.com。http://cn-hangzhou-vpc.dlf.aliyuncs.com
paimon.catalog.type
必填,Paimon的Catalog類型,DLF情境填寫固定值
rest。rest
paimon.catalog.warehouse
必填,Paimon的Catalog名稱,可從DLF控制台上擷取。
xxx_test
token.provider
必填,Rest服務提供者,DLF固定填
dlf。dlf
