全部產品
Search
文件中心

Data Lake Formation:CLI參考

更新時間:Jun 19, 2026

本文詳細介紹了DLF CLI的安裝、配置及常用命令的使用方法,協助您通過命令列方式高效地管理和操作DLF中的資料。

環境準備

ECS執行個體要求:

  • 需與DLF執行個體位於同一地區。DLF支援地區,請參見服務存取點。

  • 必須部署在DLF授權的VPC內。如未授權,請參見配置VPC白名單。

  • 需安裝JDK 11或以上版本。

安裝步驟

  1. 下載dlf-cli-20250818163820.tar.gz檔案。

  2. 使用 scp 命令將tar包上傳至目標ECS執行個體的目標目錄。

    scp dlf-cli-20250818163820.tar.gz username@ecs-ip:/path/to/destination
  3. 登入ECS執行個體,進入目標目錄,使用以下命令解壓tar包。

    tar -xzvf dlf-cli-20250818163820.tar.gz
  4. 使用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

  5. (可選)通過執行 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>]

參數說明

參數名

類型

是否必填

描述

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--page_token

字串

否

分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。

--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>

參數說明

參數名

類型

是否必填

描述

--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>]

參數說明

參數名

類型

是否必填

描述

--role_name

字串

是

角色的唯一標識名稱。

--display_name

字串

是

角色的顯示名稱,用於使用者介面展示。

--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 : success

alter - 更新角色資訊

更新指定角色(Role)的顯示名稱或描述資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:UpdateRole

update

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf role alter \
--role_principal <role_principal> \
--display_name <display_name> \
[--description <description>] 

參數說明

參數名

類型

是否必填

描述

--role_principal

字串

是

角色主體標識,用於唯一確定需要更新的角色。

--display_name

字串

是

新的顯示名稱,用於使用者介面展示。

--description

字串

否

新的描述資訊,用於說明角色的用途或許可權範圍(可選)。

樣本

./dlf-cli/bin/dlf role alter \
--role_principal 'acs:dlf::104568******:role/engineer' \
--display_name 'engineer role'

返回結果

2025-07-08 10:00:54 : success

drop - 刪除角色

刪除指定的角色(Role)。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DeleteRole

delete

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf role drop \
--role_principal <role_principal>

參數說明

參數名

類型

是否必填

描述

--role_principal

字串

是

角色主體標識,用於唯一確定一個角色。

樣本

./dlf-cli/bin/dlf role drop \
--role_principal 'acs:dlf::104568******:role/test_viewer'

返回結果

2025-07-08 10:00:54 : success

listUsers - 擷取與角色關聯的使用者列表

擷取與指定角色(Role)關聯的使用者列表。支援分頁查詢,並返回與角色綁定的使用者資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListRoleUsers

get

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf role list_users \
--role_principal <role_principal> \
[--max_results <max_results>] \
[--page_token <page_token>] 

參數說明

參數名

類型

是否必填

描述

--role_principal

字串

是

角色主體標識,用於唯一確定目標角色。

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--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>

參數說明

參數名

類型

是否必填

描述

--role_principal

字串

是

角色主體標識,用於唯一確定目標角色。

--user_principals

字串

是

使用者主體識別欄位表,多個使用者以逗號分隔(如 '["user1","user2","user3"]')。

樣本

./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 : success

revokeUsers - 取消使用者與角色的關聯

取消指定使用者與角色(Role)的關聯。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:RevokeRoleFromUsers

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf role revoke_users \
--role_principal <role_principal> \
--user_principals <user_principals>

參數說明

參數名

類型

是否必填

描述

--role_principal

字串

是

角色主體標識,用於唯一確定目標角色。

--user_principals

字串

是

使用者主體識別欄位表,多個使用者以逗號分隔(如 '["user1","user2","user3"]')。

樣本

./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 : success

user命令

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>] 

參數說明

參數名

類型

是否必填

描述

--user_name

字串

否

根據使用者名稱篩選使用者,支援模糊比對。

--user_type

字串

否

根據使用者類型篩選使用者(如RAM_USER、RAM_ROLE)。

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--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>] 

參數說明

參數名

類型

是否必填

描述

--user_principal

字串

是

使用者主體標識,用於唯一確定目標使用者。

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--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名稱,用於指定許可權所屬的Catalog。

--resource_type

字串

是

資源類型,可選值為 catalog、database、table、function 或 view。

--database

字串

否

資料庫名稱,僅當 resource_type 為 database 或其子資源時需要填寫。

--table

字串

否

表名稱,僅當 resource_type 為 table 或其子資源時需要填寫。

--principal

字串

否

主體標識(使用者或角色),用於篩選特定主體的許可權資訊。

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--page_token

字串

否

分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。

樣本

./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名稱,用於指定許可權所屬的Catalog。

--permissions

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 : success

revoke - 取消授權

取消指定主體(使用者或角色)的資源許可權。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:BatchRevokePermissions

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf permission revoke \
--catalog [catalogName]  \
--permissions '[]'

參數說明

參數名

類型

是否必填

描述

--catalog

字串

是

Catalog名稱,用於指定許可權所屬的Catalog。

--permissions

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 : success

catalog命令

help - 擷取catalog支援的命令

./dlf-cli/bin/dlf catalog help

list - 擷取catalog列表

擷取catalog列表,支援分頁查詢。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListCatalogs

get

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf catalog list \
[--max_results <max_results>] \
[--page_token <page_token>]

參數說明

參數名

類型

是否必填

描述

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--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名稱,用於唯一確定目標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

字串

是

Catalog名稱。

--options

JSON字串

是

Catalog的配置選項,以JSON字串格式提供,包含屬性如描述等。

樣本

./dlf-cli/bin/dlf catalog create \
--catalog test-cli \
--options '{"comment": "test"}'

返回結果

2025-07-07 17:45:04 : success

alter - 更新catalog資訊

更新指定Catalog的資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:AlterCatalog

update

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf catalog alter \
--catalog <catalog name> \
--removals '[]' \
--updates '{}'

參數說明

參數名

類型

是否必填

描述

--catalog

字串

是

Catalog名稱,用於唯一標識目標Catalog。

--removals

JSON字串

否

需要移除的屬性名稱列表,以JSON數組格式提供(如'["key1", "key2"]')。

--updates

JSON字串

否

需要更新的屬性及其值,以JSON對象格式提供(如 '{"key1": "value1"}')。

樣本

./dlf-cli/bin/dlf catalog alter \
--catalog test-cli \
--removals '[]' \
--updates '{"comment": "new comment", "k1": "v1"}'

返回結果

2025-07-07 17:45:04 : success

drop - 刪除catalog

需滿足以下條件,否則刪除將失敗:

  • Catalog下所有表及自建資料庫已刪除。

  • 庫表已刪除24小時。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropCatalog

delete

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf catalog drop \
--catalog <catalog name>

參數說明

參數名

類型

是否必填

描述

--catalog

字串

是

Catalog名稱,用於唯一標識需要刪除的目標Catalog。

樣本

./dlf-cli/bin/dlf catalog drop \
--catalog test-cli

返回結果

2025-07-07 17:45:04 : success

get_token - 擷取單個catalog的臨時訪問憑證

擷取指定 Catalog 的臨時訪問憑證。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:GetCatalogToken

get

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf catalog get_token \
--catalog <catalog name>

參數說明

參數名

類型

是否必填

描述

--catalog

字串

是

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 list

list - 擷取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名稱,用於指定目標Catalog。

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--page_token

字串

否

分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。

樣本

./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>

參數說明

參數名

類型

是否必填

描述

--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>

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

資料庫的全名,格式為 <catalogName>.<databaseName>,用於唯一標識新建立的資料庫。

--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 : success

alter - 更新database資訊

更新指定資料庫(Database)的配置資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:AlterDatabase

update

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf database alter \
--full_name <catalogName.databaseName> \
--removals <removals> \
--updates <updates>

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

資料庫的全名,格式為 <catalogName>.<databaseName>,用於唯一標識目標資料庫。

--removals

JSON字串

否

需要移除的屬性名稱列表,以 JSON 數組格式提供(如 '["key1", "key2"]')。

--updates

JSON字串

否

需要更新的屬性及其值,以 JSON 對象格式提供(如 '{"key1": "value1"}')。

樣本

./dlf-cli/bin/dlf database alter \
--full_name test-cli.test_db \
--removals '["k1"]' \
--updates '{"k2":"v3"}'

返回結果

2025-07-08 11:08:26 : success

drop - 刪除database

刪除指定的資料庫(Database)。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropDatabase

delete

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf database drop \
--full_name <catalogName.databaseName> 

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

資料庫的全名,格式為 <catalogName>.<databaseName>,用於唯一標識需要刪除的目標資料庫。

樣本

./dlf-cli/bin/dlf database drop \
--full_name test-cli.test_db

返回結果

2025-07-08 11:09:26 : success

table命令

help - 擷取table支援的命令

./dlf-cli/bin/dlf table help

list - 擷取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名稱,用於指定目標Catalog。

--database

字串

是

資料庫名稱,用於指定目標資料庫。

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--page_token

字串

否

分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。

樣本

./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> 

參數說明

參數名

類型

是否必填

描述

--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>

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

表的全名,格式為 <catalogName>.<databaseName>.<tableName>,用於唯一標識新建立的表。

--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 : success

alter - 更新table資訊

更新指定表(Table)的配置資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:AlterTable

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf table alter \
--full_name <catalogName.databaseName.tableName> \
--changes <changes>

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

表的全名,格式為 <catalogName>.<databaseName>.<tableName>,用於唯一標識目標表。

--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 : success

drop - 刪除table

刪除指定的表(Table)。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropTable

delete

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf table drop \
--full_name <catalogName.databaseName.tableName>

參數說明

參數名

類型

是否必填

描述

--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 : success

get_snapshot - 擷取表的最新快照資訊

擷取指定表(Table)的最新快照(Snapshot)資訊。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:GetTableSnapshot

get

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf table get_snapshot \
--full_name <catalogName.databaseName.tableName>

參數說明

參數名

類型

是否必填

描述

--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>

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

表的全名,格式為 <catalogName>.<databaseName>.<tableName>,用於唯一標識目標表。

--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 : success

list_branches - 擷取分支名稱列表

擷取指定表(Table)的分支名稱列表。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ListBranches

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf table list_branches \
--full_name <catalogName.databaseName.tableName> 

參數說明

參數名

類型

是否必填

描述

--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>] 

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

表的全名,格式為 <catalogName>.<databaseName>.<tableName>,用於唯一標識目標表。

--branch

字串

是

新建立的分支名稱。

--from_tag

字串

否

選擇性參數,指定從哪個標籤(Tag)建立分支。如果未指定,則預設從當前主分支建立。

樣本

./dlf-cli/bin/dlf table create_branch \
--full_name test_paimon.default.test_yt \
--branch stream

返回結果

2025-07-08 13:56:41 : success

forward_branch - 分支向前推進

將指定表(Table)的分支向前推進到最新狀態。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:ForwardBranch

create

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf table forward_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName>

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

表的全名,格式為 <catalogName>.<databaseName>.<tableName>,用於唯一標識目標表。

--branch

字串

是

需要向前推進的目標分支名稱。

樣本

./dlf-cli/bin/dlf table forward_branch \
--full_name test_paimon.default.test_yt \
--branch stream

返回結果

2025-07-08 13:56:41 : success

drop_branch - 刪除分支

刪除指定表(Table)的分支。

RAM存取控制

操作

存取層級

資源類型

條件關鍵字

關聯操作

dlf:DropBranch

*全部資源

*

無

無

用法

./dlf-cli/bin/dlf table drop_branch \
--full_name <catalogName.databaseName.tableName> \
--branch <branchName>

參數說明

參數名

類型

是否必填

描述

--full_name

字串

是

表的全名,格式為 <catalogName>.<databaseName>.<tableName>,用於唯一標識目標表。

--branch

字串

是

需要刪除的目標分支名稱。

樣本

./dlf-cli/bin/dlf table drop_branch \
--full_name test_paimon.default.test_yt \
--branch stream

返回結果

2025-07-08 14:02:19 : success

partition命令

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 名稱,用於指定目標 Catalog。

--identifier

字串

是

表的標識符,格式為 <databaseName>.<tableName>,用於唯一標識目標表。

--max_results

整數

否

每頁返回的最大結果數量,預設值為系統預設值。

--page_token

字串

否

分頁標記,用於擷取下一頁資料。首次調用無需填寫,後續根據傳回值使用。

樣本

./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
}