本文詳細介紹了DLF CLI的安裝、配置及常用命令的使用方法,協助您通過命令列方式高效地管理和操作DLF中的資料。
環境準備
ECS執行個體要求:
安裝步驟
使用
scp命令將tar包上傳至目標ECS執行個體的目標目錄。scp dlf-cli-20250818163820.tar.gz username@ecs-ip:/path/to/destination登入ECS執行個體,進入目標目錄,使用以下命令解壓tar包。
tar -xzvf dlf-cli-20250818163820.tar.gz使用
vim命令編輯dlf-cli/conf/dlf-cli.properties設定檔,配置以下參數。vim dlf-cli/conf/dlf-cli.properties參數
描述
樣本
uri訪問DLF Rest Catalog Server的URI,格式為
http://[region-id]-vpc.dlf.aliyuncs.com。詳見服務存取點中的Region ID。http://cn-hangzhou-vpc.dlf.aliyuncs.com
dlf.region詳見服務存取點中的Region ID。
cn-hangzhou
dlf.access-key-id阿里雲帳號或者RAM使用者的AccessKey ID。
說明RAM使用者或RAM角色需要有訪問相應API的許可權,詳情請參見RAM授權Action參考。
-
dlf.access-key-secret阿里雲帳號或者RAM使用者的AccessKey Secret。
-
dlf.open-api-endpoint訪問 DLF OpenAPI 的 Endpoint。詳見服務存取點。
若不填,則預設從 uri 推導。
dlfnext.cn-hangzhou.aliyuncs.com
(可選)通過執行
echo $JAVA_HOME命令檢查JAVA_HOME是否已正確設定。如果返回為空白或不是JDK 11的安裝路徑,則需要重新設定JAVA_HOME。export JAVA_HOME=<JDK_11_PATH>樣本如下:
[root@iZxxxZ lib]# export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.25.0.9-2.0.1.1.al8.x86_64 [root@iZxxxZ lib]# echo $JAVA_HOME /usr/lib/jvm/java-11-openjdk-11.0.25.0.9-2.0.1.1.al8.x86_64
授權資訊
RAM存取控制
下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:
操作:是指具體的許可權點。
存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。
資源類型:是指操作中支援授權的資源類型。具體說明如下:
對於必選的資源類型,用前面加 * 表示。
對於不支援資源級授權的操作,用
全部資源表示。
條件關鍵字:是指雲產品自身定義的條件關鍵字。
關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:詳見具體API | 詳見具體API | *全部資源
| 無 | 無 |
RAM存取控制更新通常需要1分鐘左右生效。
ACL許可權管理
詳情請參考資料授權管理。
role命令
list - 擷取角色列表
擷取所有角色(Role)的名稱列表,支援分頁查詢和條件式篩選。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListRoles | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role list \
[--max_results <max_results>] \
[--page_token <page_token>] \
[--role_name <role_name>]參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
| 字串 | 否 | 根據角色名稱過濾結果,支援模糊比對。 |
樣本
./dlf-cli/bin/dlf role list返回結果
2025-07-07 17:12:02 : {
"nextPageToken" : null,
"roles" : [{
"createdAt" : 1744428101414,
"createdBy" : "xxxx",
"description" : "super_administrator(system role)",
"displayName" : "super_administrator",
"isPredefined" : "true",
"roleName" : "super_administrator",
"rolePrincipal" : "xxxx",
"updatedAt" : 1744428101414,
"updatedBy" : "xxxx",
"users" : [{
"createdAt" : 1747744999611,
"createdBy" : "xxx",
"displayName" : "xxx",
"type" : "RAM_USER",
"updatedAt" : 1747744999611,
"updatedBy" : "xxxx",
"userId" : "207384147744632137",
"userName" : "xxxx",
"userPrincipal" : "xxxx"
}]
}]
}get - 擷取角色的詳細資料
擷取指定角色(Role)的詳細資料,支援根據角色主體查詢角色詳情。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:GetRole | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role get \
--role_principal <role_principal>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 角色主體標識,用於唯一確定一個角色。 |
樣本
./dlf-cli/bin/dlf role get \
--role_principal 'acs:dlf::104568******:role/engineer' 返回結果
2025-07-07 17:12:02 : {
"createdAt" : 1749435901626,
"createdBy" : "xxxx",
"description" : null,
"displayName" : null,
"isPredefined" : "false",
"roleName" : "engineer",
"rolePrincipal" : "xxxx",
"updatedAt" : 1750404792198,
"updatedBy" : "xxxx",
"users" : [ {
"createdAt" : 1744428101252,
"createdBy" : "",
"displayName" : "xxxx",
"type" : "RAM_USER",
"updatedAt" : 1744428101252,
"updatedBy" : "",
"userId" : "xxxx",
"userName" : "xxxx",
"userPrincipal" : "xxxx"
}]
}create - 建立角色
建立一個新的角色(Role),支援指定角色名稱、顯示名稱和描述資訊。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:CreateRole | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role create \
--role_name <role_name> \
--display_name <display_name> \
[--description <description>]參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 角色的唯一標識名稱。 |
| 字串 | 是 | 角色的顯示名稱,用於使用者介面展示。 |
| 字串 | 否 | 角色的描述資訊,用於說明角色的用途或許可權範圍(可選)。 |
樣本
./dlf-cli/bin/dlf role create \
--role_name 'test_viewer' \
--display_name 'test viewer' \
--description 'test for viewer'返回結果
2025-07-07 17:14:30 : successalter - 更新角色資訊
更新指定角色(Role)的顯示名稱或描述資訊。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:UpdateRole | update | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role alter \
--role_principal <role_principal> \
--display_name <display_name> \
[--description <description>] 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 角色主體標識,用於唯一確定需要更新的角色。 |
| 字串 | 是 | 新的顯示名稱,用於使用者介面展示。 |
| 字串 | 否 | 新的描述資訊,用於說明角色的用途或許可權範圍(可選)。 |
樣本
./dlf-cli/bin/dlf role alter \
--role_principal 'acs:dlf::104568******:role/engineer' \
--display_name 'engineer role'返回結果
2025-07-08 10:00:54 : successdrop - 刪除角色
刪除指定的角色(Role)。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:DeleteRole | delete | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role drop \
--role_principal <role_principal>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 角色主體標識,用於唯一確定一個角色。 |
樣本
./dlf-cli/bin/dlf role drop \
--role_principal 'acs:dlf::104568******:role/test_viewer'返回結果
2025-07-08 10:00:54 : successlistUsers - 擷取與角色關聯的使用者列表
擷取與指定角色(Role)關聯的使用者列表。支援分頁查詢,並返回與角色綁定的使用者資訊。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListRoleUsers | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role list_users \
--role_principal <role_principal> \
[--max_results <max_results>] \
[--page_token <page_token>] 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 角色主體標識,用於唯一確定目標角色。 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf role list_users \
--role_principal 'acs:dlf::1045689747920334:role/engineer'返回結果
2025-07-08 09:59:58 : {
"nextPageToken" : null,
"users" : [ {
"createdAt" : 1744428101252,
"createdBy" : "",
"displayName" : "dw_test",
"type" : "RAM_USER",
"updatedAt" : 1744428101252,
"updatedBy" : "",
"userId" : "205775142194523069",
"userName" : "dw_test",
"userPrincipal" : "acs:ram::1045689747920334:user/dw_test"
} ]
}grantUsers - 將角色授予使用者
將指定角色(Role)授予一個或多個使用者。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:GrantRoleToUsers | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role grant_users \
--role_principal <role_principal> \
--user_principals <user_principals>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 角色主體標識,用於唯一確定目標角色。 |
| 字串 | 是 | 使用者主體識別欄位表,多個使用者以逗號分隔(如 |
樣本
./dlf-cli/bin/dlf role grant_users \
--role_principal 'acs:dlf::1045689747920334:role/engineer' \
--user_principals '["acs:ram::104568******:user/starrocks_test"]'返回結果
2025-07-08 10:00:54 : successrevokeUsers - 取消使用者與角色的關聯
取消指定使用者與角色(Role)的關聯。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:RevokeRoleFromUsers | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf role revoke_users \
--role_principal <role_principal> \
--user_principals <user_principals>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 角色主體標識,用於唯一確定目標角色。 |
| 字串 | 是 | 使用者主體識別欄位表,多個使用者以逗號分隔(如 |
樣本
./dlf-cli/bin/dlf role revoke_users \
--role_principal 'acs:dlf::1045689747920334:role/engineer' \
--user_principals '["acs:ram::1045689747920334:user/starrocks_test"]'返回結果
2025-07-08 10:14:37 : successuser命令
list - 擷取使用者列表
擷取使用者列表,支援根據使用者名稱、使用者類型等條件式篩選,並提供分頁查詢功能。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListUsers | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf user list \
[--user_name <user_name>] \
[--user_type <user_type>] \
[--max_results <max_results>] \
[--page_token <page_token>] 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 否 | 根據使用者名稱篩選使用者,支援模糊比對。 |
| 字串 | 否 | 根據使用者類型篩選使用者(如 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf user list \
--user_name 'starrocks_test' \
--user_type 'RAM_USER'返回結果
2025-07-08 10:24:00 : {
"nextPageToken" : null,
"users" : [ {
"createdAt" : 1744428101252,
"createdBy" : "",
"displayName" : "starrocks_test",
"type" : "RAM_USER",
"updatedAt" : 1744428101252,
"updatedBy" : "",
"userId" : "xxxxx",
"userName" : "starrocks_test",
"userPrincipal" : "acs:ram::104568******:user/starrocks_test"
} ]
}list_role - 擷取使用者關聯的角色列表
擷取指定使用者關聯的角色(Role)列表。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListUserRoles | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf user list_role \
--user_principal <user_principal> \
[--max_results <max_results>] \
[--page_token <page_token>] 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 使用者主體標識,用於唯一確定目標使用者。 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf user list_role \
--user_principal 'acs:ram::104568******:user/starrocks_test'返回結果
2025-07-15 13:18:45 : {
"nextPageToken" : null,
"roles" : [{
"createdAt" : 1749435901626,
"createdBy" : "acs:ram::104568******:root",
"description" : null,
"displayName" : "enginer role",
"isPredefined" : "false",
"roleName" : "engineer",
"rolePrincipal" : "acs:dlf::104568******:role/engineer",
"updatedAt" : 1751960724469,
"updatedBy" : "acs:ram::104568******:root",
"users" : null
}]
}permission命令
list - 擷取許可權列表
擷取指定資源類型的許可權列表。支援根據資源類型(如 catalog、database、table 等)和相關條件式篩選許可權資訊,並提供分頁查詢功能。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListPermissions | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf permission list \
--catalog <catalogName> \
--resource_type '' \
[--database <database>] \
[--table <table>] \
[--principal <principal>] \
[--max_results <max_results>] \
[--page_token <page_token>] 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於指定許可權所屬的Catalog。 |
| 字串 | 是 | 資源類型,可選值為 |
| 字串 | 否 | 資料庫名稱,僅當 |
| 字串 | 否 | 表名稱,僅當 |
| 字串 | 否 | 主體標識(使用者或角色),用於篩選特定主體的許可權資訊。 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf permission list \
--catalog test_paimon \
--resource_type database \
--database default返回結果
2025-07-08 10:51:31 : {
"nextPageToken" : null,
"permissions" : [ {
"access" : "ALTER",
"columns" : null,
"database" : "default",
"function" : null,
"principal" : "acs:ram::104568******:user/bennett-test",
"resourceType" : "DATABASE",
"table" : null,
"view" : null
}, {
"access" : "SELECT",
"columns" : null,
"database" : "default",
"function" : null,
"principal" : "acs:ram::104568******:user/bennett-test",
"resourceType" : "DATABASE_ALL",
"table" : null,
"view" : null
} ]
}grant - 授權
為指定主體(使用者或角色)授權。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:BatchGrantPermissions | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf permission grant \
--catalog <catalogName> \
--permissions '[]'參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於指定許可權所屬的Catalog。 |
| JSON字串 | 是 | 許可權配置的JSON字串數組,包含訪問類型(access)、資料庫名稱(database)、使用者資源(principal)、許可權資源類型(resourceType),詳情請參見Permission。 {"access" : "SELECT", "database" : "default", "principal" : "acs:ram::104568******:user/starrocks_test", "resourceType" : "DATABASE"} |
樣本
./dlf-cli/bin/dlf permission grant \
--catalog test_paimon \
--permissions '[{"access" : "SELECT", "database" : "default", "principal" : "acs:ram::104568******:user/starrocks_test", "resourceType" : "DATABASE"}]'返回結果
2025-07-08 10:53:41 : successrevoke - 取消授權
取消指定主體(使用者或角色)的資源許可權。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:BatchRevokePermissions | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf permission revoke \
--catalog [catalogName] \
--permissions '[]'參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於指定許可權所屬的Catalog。 |
| JSON字串 | 是 | 許可權配置的JSON字串,包含主體、資源類型、資源名稱及許可權列表等資訊。 |
樣本
./dlf-cli/bin/dlf permission revoke \
--catalog test_paimon \
--permissions '[{"access" : "SELECT", "database" : "default", "principal" : "acs:ram::104568******:user/starrocks_test", "resourceType" : "DATABASE"}]'返回結果
2025-07-08 10:53:41 : successcatalog命令
help - 擷取catalog支援的命令
./dlf-cli/bin/dlf catalog helplist - 擷取catalog列表
擷取catalog列表,支援分頁查詢。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListCatalogs | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf catalog list \
[--max_results <max_results>] \
[--page_token <page_token>]參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf catalog list返回結果
2025-07-07 17:24:47 : {
"catalogs" : [ {
"createdAt" : 1748335426553,
"createdBy" : "xxxx",
"id" : "xxxxx",
"name" : "xxxx",
"options" : {
"storage.data.redundancy.type" : "LRS",
"comment" : "xxxx"
},
"owner" : "xxxx",
"status" : "RUNNING",
"type" : "PAIMON",
"updatedAt" : 1748350097424,
"updatedBy" : "xxxx"
}, {
"createdAt" : 1747885240095,
"createdBy" : "xxxx",
"id" : "xxxx",
"name" : "xxxx",
"options" : {
"catalog.data.token.minExpireSeconds" : "43200",
"storage.data.redundancy.type" : "LRS",
"comment" : "xxxx",
"catalog.data.token.isTable" : "true",
"catalog.data.token.maxExpireSeconds" : "43200"
},
"owner" : "xxxx",
"status" : "RUNNING",
"type" : "PAIMON",
"updatedAt" : 1751846858724,
"updatedBy" : "acs:ram::104568******:root"
} ],
"nextPageToken" : null
}get - 擷取單個catalog詳情
擷取指定 Catalog 的詳細資料。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:GetCatalog | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf catalog get \
--catalog <catalog name>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於唯一確定目標Catalog。 |
樣本
./dlf-cli/bin/dlf catalog get \
--catalog test_paimon返回結果
2025-07-08 10:56:51 : {
"createdAt" : 1747982344641,
"createdBy" : "acs:ram::104568******:root",
"id" : "clg-paimon-802dcc2xxxxx",
"name" : "test_paimon",
"options" : {
"storage.data.redundancy.type" : "LRS",
"comment" : ""
},
"owner" : "acs:ram::104568******:root",
"status" : "RUNNING",
"type" : "PAIMON",
"updatedAt" : 1747982348385,
"updatedBy" : "acs:ram::104568******:root"
}create - 建立catalog
建立catalog。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:CreateCatalog | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf catalog create \
--catalog <catalog name> \
--options '{}'參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱。 |
| JSON字串 | 是 | Catalog的配置選項,以JSON字串格式提供,包含屬性如描述等。 |
樣本
./dlf-cli/bin/dlf catalog create \
--catalog test-cli \
--options '{"comment": "test"}'返回結果
2025-07-07 17:45:04 : successalter - 更新catalog資訊
更新指定Catalog的資訊。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:AlterCatalog | update | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf catalog alter \
--catalog <catalog name> \
--removals '[]' \
--updates '{}'參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於唯一標識目標Catalog。 |
| JSON字串 | 否 | 需要移除的屬性名稱列表,以JSON數組格式提供(如 |
| JSON字串 | 否 | 需要更新的屬性及其值,以JSON對象格式提供(如 |
樣本
./dlf-cli/bin/dlf catalog alter \
--catalog test-cli \
--removals '[]' \
--updates '{"comment": "new comment", "k1": "v1"}'返回結果
2025-07-07 17:45:04 : successdrop - 刪除catalog
需滿足以下條件,否則刪除將失敗:
Catalog下所有表及自建資料庫已刪除。
庫表已刪除24小時。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:DropCatalog | delete | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf catalog drop \
--catalog <catalog name>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於唯一標識需要刪除的目標Catalog。 |
樣本
./dlf-cli/bin/dlf catalog drop \
--catalog test-cli返回結果
2025-07-07 17:45:04 : successget_token - 擷取單個catalog的臨時訪問憑證
擷取指定 Catalog 的臨時訪問憑證。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:GetCatalogToken | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf catalog get_token \
--catalog <catalog name>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於唯一確定目標Catalog。 |
樣本
./dlf-cli/bin/dlf catalog get_token \
--catalog test_paimon返回結果
2025-08-18 16:58:38 : {
"expiresAtMillis" : 1755550718000,
"token" : {
"fs.oss.accessKeyId" : "STS.xxx",
"fs.oss.accessKeySecret" : "xxx",
"fs.oss.securityToken" : "xxx",
"fs.oss.endpoint" : "xxx",
"fs.oss.bucket.name" : "clg-paimon-xxx"
}
}database命令
help - 擷取database支援的命令
./dlf-cli/bin/dlf database listlist - 擷取catalog下的database名稱列表
擷取指定Catalog下的資料庫(Database)名稱列表。支援分頁查詢。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListDatabases | list | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf database list \
--catalog [catalogName] \
[--max_results <max_results>] \
[--page_token <page_token>]參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於指定目標Catalog。 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf database list \
--catalog test-cli返回結果
2025-07-08 10:59:26 : {
"elements" : [ "default", "system", "test_db" ],
"nextPageToken" : null
}get - 擷取database詳情
擷取指定資料庫(Database)的詳細資料。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:GetDatabase | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf database get \
--full_name <catalogName.databaseName>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 資料庫的全名,格式為 |
樣本
./dlf-cli/bin/dlf database get \
--full_name test-cli.default返回結果
2025-07-08 11:03:51 : {
"id" : "db-9605ccda-cf07-4a74-a137-3c166590177e",
"name" : "default",
"location" : "oss://clg-paimon-b1af75fab07c4dfb9c0e2205a41740c6/db-9605ccda-cf07-4a74-a137-3c166590177e.db",
"options" : { },
"owner" : "acs:ram::1045689747920334:root",
"createdAt" : 1751882013752,
"createdBy" : "acs:ram::1045689747920334:root",
"updatedAt" : 1751882013752,
"updatedBy" : "acs:ram::1045689747920334:root"
}create - 建立database
建立一個新的資料庫(Database)。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:CreateDatabase | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf database create \
--full_name <catalogName.databaseName> \
--options <options>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 資料庫的全名,格式為 |
| JSON字串 | 是 | 資料庫的配置選項,以 JSON字串 格式提供,包含屬性如儲存位置、描述資訊等。 |
樣本
./dlf-cli/bin/dlf database create \
--full_name test-cli.test_db \
--options '{"k1":"v1","k2":"v2"}'返回結果
2025-07-08 11:07:34 : successalter - 更新database資訊
更新指定資料庫(Database)的配置資訊。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:AlterDatabase | update | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf database alter \
--full_name <catalogName.databaseName> \
--removals <removals> \
--updates <updates>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 資料庫的全名,格式為 |
| JSON字串 | 否 | 需要移除的屬性名稱列表,以 JSON 數組格式提供(如 |
| JSON字串 | 否 | 需要更新的屬性及其值,以 JSON 對象格式提供(如 |
樣本
./dlf-cli/bin/dlf database alter \
--full_name test-cli.test_db \
--removals '["k1"]' \
--updates '{"k2":"v3"}'返回結果
2025-07-08 11:08:26 : successdrop - 刪除database
刪除指定的資料庫(Database)。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:DropDatabase | delete | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf database drop \
--full_name <catalogName.databaseName> 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 資料庫的全名,格式為 |
樣本
./dlf-cli/bin/dlf database drop \
--full_name test-cli.test_db返回結果
2025-07-08 11:09:26 : successtable命令
help - 擷取table支援的命令
./dlf-cli/bin/dlf table helplist - 擷取database下的table名稱列表
擷取指定資料庫(Database)下的表(Table)名稱列表。支援分頁查詢。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListTables | list | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table list \
--catalog <catalogName> \
--database <databaseName> \
[--max_results <max_results>] \
[--page_token <page_token>]參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog名稱,用於指定目標Catalog。 |
| 字串 | 是 | 資料庫名稱,用於指定目標資料庫。 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf table list \
--catalog test-cli \
--database test_db返回結果
2025-07-08 11:27:39 : {
"elements" : [ "test_table" ],
"nextPageToken" : null
}get - 擷取table詳情
擷取指定表(Table)的詳細資料。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:GetTable | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table get \
--full_name <catalogName.databaseName.tableName> 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
樣本
./dlf-cli/bin/dlf table get \
--full_name test-cli.test_db.test_table返回結果
2025-07-08 11:29:13 : {
"id" : "tbl-d2a8e203-xxxxxx",
"name" : "test_table",
"path" : "oss://clg-paimon-b1af75xxxxxx/db-2788b0b9-xxxxxx.db/tbl-d2a8e203-xxxxxx",
"isExternal" : false,
"schemaId" : 0,
"schema" : {
"fields" : [ {
"id" : 0,
"name" : "f0",
"type" : "INT NOT NULL"
}, {
"id" : 1,
"name" : "f1",
"type" : "INT NOT NULL"
} ],
"partitionKeys" : [ "f0" ],
"primaryKeys" : [ "f0", "f1" ],
"options" : {
"bucket" : "-2",
"path" : "oss://clg-paimon-b1af75xxxxxx/db-2788b0b9-xxxxxx.db/tbl-d2a8e203-xxxxxx",
"manifest.merge-min-count" : "10",
"manifest.delete-file-drop-stats" : "true",
"data-file.thin-mode" : "true",
"partition.legacy-name" : "false",
"write-only" : "true",
"metastore.partitioned-table" : "true"
},
"comment" : "comment"
},
"owner" : "acs:ram::104568******:root",
"createdAt" : 1751944703679,
"createdBy" : "acs:ram::104568******:root",
"updatedAt" : 1751944703679,
"updatedBy" : "acs:ram::104568******:root"
}create - 建立table
建立一個新的表(Table)。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:CreateTable | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table create \
--full_name <catalogName.databaseName.tableName> \
--schema <schema>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
| JSON字串 | 是 | 表的模式(Schema)配置,以JSON字串格式提供,包含欄位定義、類型等資訊。 |
樣本
./dlf-cli/bin/dlf table create \
--full_name test-cli.test_db.test_table \
--schema '{"fields" : [ {"id" : 0, "name" : "f0", "type" : "INT NOT NULL" }, {"id" : 1, "name" : "f1", "type" : "INT NOT NULL" } ], "partitionKeys" : [ "f0" ], "primaryKeys" : [ "f0", "f1" ], "options" : { }, "comment" : "comment" }'返回結果
2025-07-08 11:18:23 : successalter - 更新table資訊
更新指定表(Table)的配置資訊。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:AlterTable | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table alter \
--full_name <catalogName.databaseName.tableName> \
--changes <changes>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
| JSON字串 | 是 | 表的變更內容,以JSON數組格式提供,包含需要添加、修改或刪除的欄位及屬性。 |
樣本
./dlf-cli/bin/dlf table alter \
--full_name test-cli.test_db.test_table \
--changes '[{"action":"setOption", "key" : "snapshot.time-retained", "value" : "2h" }, {"action":"updateComment","comment" : "hahaha" }]'返回結果
2025-07-08 11:35:18 : successdrop - 刪除table
刪除指定的表(Table)。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:DropTable | delete | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table drop \
--full_name <catalogName.databaseName.tableName>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
樣本
./dlf-cli/bin/dlf table drop \
--full_name test-cli.test_db.test_table返回結果
2025-07-08 11:35:18 : successget_snapshot - 擷取表的最新快照資訊
擷取指定表(Table)的最新快照(Snapshot)資訊。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:GetTableSnapshot | get | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table get_snapshot \
--full_name <catalogName.databaseName.tableName>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
樣本
./dlf-cli/bin/dlf table get_snapshot --full_name test_paimon.default.test_yt返回結果
2025-07-08 11:42:32 : {
"snapshot" : {
"version" : 3,
"id" : 14,
"schemaId" : 0,
"baseManifestList" : "manifest-list-e97f6ae4-xxxxxx",
"baseManifestListSize" : 1041,
"deltaManifestList" : "manifest-list-e97f6ae4-xxxxxx",
"deltaManifestListSize" : 989,
"changelogManifestList" : null,
"commitUser" : "morax_d51dfc0b-xxxxxx",
"commitIdentifier" : 5,
"commitKind" : "COMPACT",
"timeMillis" : 1749807238526,
"logOffsets" : { },
"totalRecordCount" : 3,
"deltaRecordCount" : -5,
"changelogRecordCount" : 0,
"watermark" : -9223372036854775808
},
"recordCount" : 3,
"fileSizeInBytes" : 799,
"fileCount" : 1,
"lastFileCreationTime" : 1749807176914
}rollback - 復原table
將指定表(Table)復原到某個歷史快照(Snapshot)版本。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:RollbackTable | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table rollback \
--full_name <catalogName.databaseName.tableName> \
--instant <instant>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
| 字串 | 是 | 復原的目標快照常量。內部參數及描述,請參見Instant。 |
樣本
./dlf-cli/bin/dlf table rollback \
--full_name test_paimon.default.test_yt \
--instant '{"type":"snapshot", "snapshotId": 13}'返回結果
2025-07-08 11:46:56 : successlist_branches - 擷取分支名稱列表
擷取指定表(Table)的分支名稱列表。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListBranches | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table list_branches \
--full_name <catalogName.databaseName.tableName> 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
樣本
./dlf-cli/bin/dlf table list_branches \
--full_name test_paimon.default.test_yt返回結果
2025-07-08 13:57:46 : [ "stream" ]create_branch - 建立分支
為指定表(Table)建立一個新的分支。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:CreateBranch | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table create_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName> \
[--from_tag <tagName>] 參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
| 字串 | 是 | 新建立的分支名稱。 |
| 字串 | 否 | 選擇性參數,指定從哪個標籤(Tag)建立分支。如果未指定,則預設從當前主分支建立。 |
樣本
./dlf-cli/bin/dlf table create_branch \
--full_name test_paimon.default.test_yt \
--branch stream返回結果
2025-07-08 13:56:41 : successforward_branch - 分支向前推進
將指定表(Table)的分支向前推進到最新狀態。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ForwardBranch | create | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table forward_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
| 字串 | 是 | 需要向前推進的目標分支名稱。 |
樣本
./dlf-cli/bin/dlf table forward_branch \
--full_name test_paimon.default.test_yt \
--branch stream返回結果
2025-07-08 13:56:41 : successdrop_branch - 刪除分支
刪除指定表(Table)的分支。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:DropBranch | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf table drop_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName>參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | 表的全名,格式為 |
| 字串 | 是 | 需要刪除的目標分支名稱。 |
樣本
./dlf-cli/bin/dlf table drop_branch \
--full_name test_paimon.default.test_yt \
--branch stream返回結果
2025-07-08 14:02:19 : successpartition命令
list - 擷取分區列表
擷取分區列表。
RAM存取控制
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:ListPartitions | list | *全部資源
| 無 | 無 |
用法
./dlf-cli/bin/dlf partition list \
--catalog <catalogName> \
--identifier <identifier> \
[--max_results <max_results>] \
[--page_token <page_token>]參數說明
參數名 | 類型 | 是否必填 | 描述 |
| 字串 | 是 | Catalog 名稱,用於指定目標 Catalog。 |
| 字串 | 是 | 表的標識符,格式為 |
| 整數 | 否 | 每頁返回的最大結果數量,預設值為系統預設值。 |
| 字串 | 否 | 分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。 |
樣本
./dlf-cli/bin/dlf partition list \
--catalog 'baoma_poc' \
--identifier 'default.pk_ctas_tbl'返回結果
2025-07-08 14:08:09 : {
"elements" : [ {
"spec" : {
"p" : "1"
},
"recordCount" : 1,
"fileSizeInBytes" : 684,
"fileCount" : 1,
"lastFileCreationTime" : 1748345335406,
"done" : false
} ],
"nextPageToken" : null
}