全部产品
Search
文档中心

数据湖 OpenLake:元数据API使用

更新时间:Oct 21, 2026

元数据管理API提供对数据库、表、分区和视图等元数据对象的统一操作与管理能力,支持用户高效地创建、查询、更新和删除元数据,满足多样化的数据管理需求。

授权信息

RAM访问控制

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

dlf:详见具体API

详见具体API

*全部资源

*

无

无

说明

RAM访问控制更新通常需要1分钟左右生效。

ACL权限管理

详情请参考数据授权管理。

数据库API

ListDatabases - 获取数据库列表

获取数据目录中数据库列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListDatabases

list

*全部资源

*

无

无

返回值

名称

类型

描述

示例值

  • databases

array

数据目录的数据库名称数组。无法保证数组元素顺序。

[test_db1, test_db2]

database

string

数据库名称。

test_db1

示例

List<String> databases = restApi.listDatabases();

ListDatabasesPaged - 分页获取数据库列表

分页查询数据目录中数据库列表,可以根据数据库名称匹配。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListDatabases

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

maxResults

integer

否

一次返回的个数, 如果未提供,如果未设置,则设置为服务器配置的值。当设置为大于 0 的值时,则取此值和服务器配置值中的最小值。

10

pageToken

string

否

分页的开始位置,第一次填写null,后续的填写上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken 为空字符串,那么说明无数据了。

db_test

databaseNamePattern

string

否

数据库名称的sql LIKE右模糊模式(%)。如果未设置或为空,将返回所有数据库

db_test%

返回值

名称

类型

描述

示例值

-

object

返回数据。

  • elements

array

数据目录的数据库名称数组。无法保证数组元素顺序。

[test_db1, test_db2]

database

string

数据库名称。

test_db1

nextPageToken

string

下一次分页查询的起始位置。

test_db1

示例

  • 获取全部数据库列表

    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listDatabasesPaged(10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根据数据库名称匹配分页获取数据库列表

    PagedList<String> pagedDatabases = restApi.listDatabasesPaged(10, null, "test_db%");

CreateDatabase - 新增数据库

在数据目录中创建一个新的元数据库。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateDatabase

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

name

string

否

名称。

db_demo

properties

map

否

配置参数结构体。

返回值

名称

类型

描述

示例值

当前API暂无返回参数。

异常说明

类型

描述

AlreadyExistsException

REST请求返回409, 表示数据库已经存在。

ForbiddenException

REST请求返回403,表示当前用户没有创建数据库的权限。

示例

Map<String, String> properties = new HashMap();
properties.put("k1", "v1");
api.createDatabase("db_demo", properties);

GetDatabase - 获取数据库

从在数据目录中获取某个元数据库。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetDatabase

get

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

name

string

是

名称。

db_demo

返回值

名称

类型

描述

示例值

-

object

返回数据。

id

string

数据库ID。

6b168495-4a4f-48a5-be43-c258d6ce0715

name

string

数据库名称。

db_demo

location

string

Database的Location。

options

map

配置参数结构体。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取数据库。

示例

 GetDatabaseResponse response = api.getDatabase(name);

DropDatabase - 删除数据库

从数据目录中删除一个数据库。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropDatabase

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

name

string

是

名称。

db_demo

返回值

名称

类型

描述

示例值

当前API暂无返回参数。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取数据库。

示例

api.dropDatabase(name);

AlterDatabase - 变更数据库

更新数据目录中某个数据库的信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:AlterDatabase

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

name

string

是

名称。

db_demo

  • removals

array

否

需要删除的配置列表。

k1

removal

string

需要删除的配置。

updates

map

否

需要更新的配置键值对。

返回值

名称

类型

描述

示例值

当前API暂无返回参数。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取数据库。

示例

List<String> removals = new ArrayList<>();
removals.add(“k1”)
Map<String, String> updates = new HashMap<>();
updates.put("k2", "v2")
api.alterDatabase(name, removals, updates);

表API

CreateTable - 创建表

创建表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateTable

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表标识符。

schema

Schema

是

表结构。

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

AlreadyExistsException

REST请求返回409,表示表已经存在。

ForbiddenException

REST请求返回403,表示当前用户没有创建表的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
Schema schema =
            new Schema(
                    Lists.newArrayList(
                            new DataField(0, "pk", DataTypes.INT()),
                            new DataField(1, "col1", DataTypes.STRING()),
                            new DataField(2, "col2", DataTypes.STRING())),
                    Collections.emptyList(),
                    Collections.emptyList(),
                    Maps.newHashMap(),
                    "");
restApi.createTable(identifier, schema);

DropTable - 删除表

删除表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropTable

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表标识符。

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有删除当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "new_table");
restApi.dropTable(identifier);

RenameTable - 重命名表

重命名表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:RenameTable

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

fromIdentifier

Identifier

是

原表标识符。

toIdentifier

Identifier

是

目标表标识符。

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示原表不存在。

AlreadyExistsException

REST请求返回409,表示目标表已存在。

ForbiddenException

REST请求返回403,表示当前用户没有修改当前表的权限。

示例

Identifier fromIdentifier = Identifier.create("test_db", "old_table");
Identifier toIdentifier = Identifier.create("test_db", "new_table");
restApi.renameTable(fromIdentifier, toIdentifier);

AlterTable - 变更表

根据标识符变更表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:AlterTable

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

  • changes

array

是

表变更信息列表。

schemaChange

SchemaChange

是

表变更信息。

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有修改当前表的权限。

示例

ArrayList<SchemaChange> schemaChanges = Lists.newArrayList(
                SchemaChange.addColumn("col2", DataTypes.DATE()),
                SchemaChange.addColumn("col3", DataTypes.STRING(), "col3 field"));
restApi.alterTable(
                identifier,
                schemaChanges);

GetTable - 获取表详情

获取数据湖中表的详细信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetTable

get

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表标识符。

返回值

名称

类型

描述

示例值

getTableResponse

GetTableResponse

表详情信息。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
GetTableResponse response = restApi.getTable(identifier);

ListTables - 查询表列表

用于查询数据湖表的名称列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListTables

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

databaseName

string

是

数据库名称。

test_db

返回值

名称

类型

描述

示例值

  • tables

array

表名称列表。

[test_table1, test_table2]

table

string

表名称。

test_table

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有查看当前库的权限。

示例

String databaseName = "test_db";
List<String> tables = restApi.listTables(databaseName);

ListTablesPaged - 分页获取表名称列表

分页查询数据湖中表列表,可以根据表名称匹配。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListTables

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

databaseName

string

是

数据库名称。

test_db

maxResults

string

否

每页大小,实际生效值为传入值与服务端默认值之间的最小值。

10

pageToken

string

否

翻页Token,从返回结果返回,无则传null,如果返回的 NextPageToken为空字符串,那么说明无数据了。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

tableNamePattern

string

否

SQL风格的表右模糊匹配模式(%),不传将返回所有表。

test_table%

返回值

名称

类型

描述

示例值

-

object

返回数据。

  • pagedTables

array

表名称列表。

table

string

表名称。

test_table

nextPageToken

string

翻页Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有查看当前库的权限。

示例

  • 获取全部表列表

    String databaseName = "db_test";
    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listTablesPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根据表名称匹配分页获取表列表

    String databaseName = "test_db";
    PagedList<String> pagedTables = restApi.listTablesPaged(databaseName, 10, pageToken, "test_table%");

ListTableDetailsPaged - 分页获取表详情列表

分页查询数据湖中表详情列表,可以根据表名称匹配。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListTableDetails

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

databaseName

string

是

数据库名称。

test_db

maxResults

string

否

每页大小,实际生效值为传入值与服务端默认值之间的最小值。

10

pageToken

string

否

翻页Token,从返回结果返回,无则传空,如果返回的NextPageToken为空字符串,那么说明无数据了。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

tableNamePattern

string

否

SQL风格的表右模糊匹配模式(%),不传将返回所有表。

test_table%

返回值

名称

类型

描述

示例值

-

object

返回数据。

  • pagedTableDetails

array

表详情列表。

tableDetail

表详情。

nextPageToken

string

翻页Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有查看当前库的权限。

示例

  • 获取全部表详情

    String databaseName = "test_db";
    int maxResults = 10;
    List<GetTableResponse> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listTablesPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根据表名称匹配分页获取表

    String databaseName = "test_db";
    PagedList<GetTableResponse> pagedTableDetails = restApi.listTablesPaged(databaseName, 10, pageToken, "test_table%");

GetTableSnapshot - 获取表的最新快照信息

获取数据湖中表最新快照信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetTableSnapshot

get

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表标识符。

返回值

名称

类型

描述

示例值

TableSnapshot

TableSnapshot

表快照信息。

异常说明

类型

描述

NoSuchResourceException

REST请求返回 404,表示表或者最新的快照不存在。

ForbiddenException

REST请求返回 403,表示当前用户没有获取当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
restApi.loadSnapshot(identifier)

GetVersionSnapshot - 获取某个版本的快照

根据版本信息获取表的快照。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetVersionSnapshot

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表标识符。

version

String

是

版本信息。

"Latest", "EARLIEST","1"

返回值

名称

类型

描述

示例值

Snapshot

Snapshot

表快照信息。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404, 表示表或者最新的快照不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
String version = "Latest";
restApi.loadSnapshot(identifier, version);

ListSnapshotsPaged - 分页查询快照列表

用于查询数据湖表的快照列表信息。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListSnapshots

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表标识符。

maxResults

string

否

每页大小, 实际生效值为传入值与服务端默认值之间的最小值。

10

pageToken

string

否

翻页Token,从返回结果返回,无则传空,如果返回的 NextPageToken为空字符串,那么说明无数据了。

1

返回值

名称

类型

描述

示例值

  • elements

array

表快照信息列表。

snapshot

Snapshot

表快照信息。

nextPageToken

string

翻页Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有查看当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
int maxResults = 10;
List<Snapshot> results = new ArrayList<>();
Map<String, String> queryParams = Maps.newHashMap();
String pageToken = null;
do {
  PagedResponse<Snapshot> response = restApi.listSnapshotsPaged(identifier, maxResults, pageToken);
  pageToken = response.getNextPageToken();
  if (response.data() != null) {
    results.addAll(response.data());
  }
  if (pageToken == null || response.data() == null || response.data().isEmpty()) {
    break;
  }
} while (StringUtils.isNotEmpty(pageToken));

RollbackTable - 回滚表

回滚数据库中的表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:RollbackTable

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

instant

Instant

是

回滚实例信息。

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示表或者回滚的快照或者标签不存在。

ForbiddenException

REST请求返回403,表示当前用户没有回滚当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
Instant instant = Instant.snapshot(snapshotId)
restApi.rollbackTo(identifier, instant);

CreateBranch - 创建表分支

创建数据库中表分支。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateBranch

create

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

branch

string

是

分支。

test_branch

fromTag

string

否

标签。

test_tag

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据表或标签不存在。

AlreadyExistsException

REST请求返回409,表示分支已经存在。

ForbiddenException

REST请求返回403,表示当前用户没有创建分支的权限。

示例

Identifier identifier = Identifier.create("test_db", "new_table");
restCatalog.createBranch(tableIdentifier, "test_branch", "tag_test");

DropBranch - 删除表分支

根据名称删除数据库中的表分支。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropBranch

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

branch

string

是

分支名。

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示分支不存在。

ForbiddenException

REST请求返回403,表示当前用户没有删除当前分支的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
restApi.dropBranch(identifier, "branch_test");

ForwardBranch - Forward表分支

Forward表分支。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ForwardBranch

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

branch

string

是

分支名。

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示分支不存在。

ForbiddenException

REST请求返回403,表示当前用户没有删除当前分支的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
restApi.fastForward(identifier, "branch_test");

ListBranches - 获取表分支列表

用于查询数据库中表分支列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListBranches

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

返回值

名称

类型

描述

示例值

  • branches

array

表名称列表。

[test_branch1, test_branch2]

branch

string

表名称。

test_branch

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有查看当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "test_table");
List<String> branches = restApi.listBranches(identifier);

分区API

ListPartitions - 获取分区列表

获取分区列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListPartitions

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

返回值

名称

类型

描述

示例值

  • partitions

array

分区详情列表。

partition

string

分区详情。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "new_table");
List<Partition> tables = restApi.listPartitions(identifier);

ListPartitionsPaged - 分页获取分区列表

分页查询分区列表,可以根据分区名称匹配。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListPartitions

list

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表标识符。

maxResults

string

否

每页大小,实际生效值为传入值与服务端默认值之间的最小值。

10

pageToken

string

否

翻页Token,从返回结果返回,无则传空,如果返回的 NextPageToken为空字符串,那么说明无数据了。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

partitionNamePattern

string

否

SQL风格的表右模糊匹配模式,不传将返回所有表。

year=2025%

返回值

名称

类型

描述

示例值

-

object

返回数据。

  • pagedPartitions

array

分区详情列表。

partition

Partition

分区详情。

nextPageToken

string

翻页Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有当前表的权限。

示例

  • 获取全部分区详情列表

    Identifier identifier = Identifier.create("test_db", "new_table");
    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<Partition> response = restApi.listPartitionsPaged(identifier, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根据分区名称匹配分页获取分区详情列表

    Identifier identifier = Identifier.create("test_db", "new_table");
    PagedList<Partition> pagedPartitions = restApi.listPartitionsPaged(identifier, 10, pageToken, "year=2025%");

MarkDonePartitions - 标记完成分区

标记完成分区。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:MarkDonePartitions

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

表描述符。

  • partitions

array

是

待标记完成的分区列表。

partition

Map

是

待标记完成的分区。

{"year":"1025", "month": "05"}

返回值

名称

类型

描述

示例值

当前API暂无返回值。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据表不存在。

ForbiddenException

REST请求返回403,表示当前用户没有当前表的权限。

示例

Identifier identifier = Identifier.create("test_db", "new_table");
List<Map<String, String>> partitions = new ArrayList<>();
LinkedHashMap<String, String> partition = new LinkedHashMap<>();
partition.put("year", "2025");
partition.put("month", "05");
restApi.markDonePartitions(identifier, partitions);

视图API

ListViews - 查询视图列表

获取数据库中视图列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListViews

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

databaseName

string

是

数据库名称。

db_demo

返回值

名称

类型

描述

示例值

  • views

array

视图名称列表。

view

string

视图名称。

view_demo

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示视图不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取视图的权限。

示例

 List<String> viewNames = api.listViews(name);

ListViewsPaged - 分页查询视图列表

分页获取数据库中视图列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListViews

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

databaseName

string

是

数据库名称。

db_demo

maxResults

integer

否

一次返回的个数, 如果未提供,如果未设置,则设置为服务器配置的值。当设置为大于 0 的值时,则取此值和服务器配置值中的最小值。

10

pageToken

string

否

分页的开始位置,第一次填写null,后续的填写上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken为空字符串,那么说明无数据了。

view_test

viewNamePattern

string

否

视图名称的sql LIKE右模糊模式(%)。如果未设置或为空,将返回所有视图。

view_tes%

返回值

名称

类型

描述

示例值

-

object

返回数据。

  • elements

array

视图名称列表。

[view_demo]

view

string

视图名称。

view_demo

nextPageToken

string

翻页Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示视图不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取视图的权限。

示例

  • 获取全部表列表

    String databaseName = "db_test";
    int maxResults = 10;
    List<String> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<String> response = restApi.listViewsPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根据表名称匹配分页获取表列表

    String databaseName = "test_db";
    PagedList<String> pagedViews = restApi.listViewsPaged(databaseName, 10, null, "test_v%");

ListViewDetailsPaged - 分页查询视图详细信息列表

分页查询数据库中的视图详细信息列表。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:ListViewDetails

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

databaseName

string

是

数据库名称。

db_demo

maxResults

integer

否

一次返回的个数,如果未提供,如果未设置,则设置为服务器配置的值。当设置为大于 0 的值时,则取此值和服务器配置值中的最小值。

10

pageToken

string

否

分页的开始位置,第一次填写null,后续的填写上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken 为空字符串,那么说明无数据了。

view_test

viewNamePattern

string

否

视图名称的sql LIKE右模糊模式(%)。如果未设置或为空,将返回所有视图。

view_tes%

返回值

名称

类型

描述

示例值

-

PagedList

返回数据。

  • elements

array

视图详情列表。

[view_demo]

viewDetail

GetViewResponse

视图详情。

nextPageToken

string

下一页开头的Token。

2cb472ec1bf84f8d92f9c4baa0d21c19aa

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示视图不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取视图详情的权限。

示例

  • 获取全部表列表

    String databaseName = "db_test";
    int maxResults = 10;
    List<GetViewResponse> results = new ArrayList<>();
    Map<String, String> queryParams = Maps.newHashMap();
    String pageToken = null;
    do {
      PagedResponse<GetViewResponse> response = restApi.listViewDetailsPaged(databaseName, 10, pageToken, null);
      pageToken = response.getNextPageToken();
      if (response.data() != null) {
        results.addAll(response.data());
      }
      if (pageToken == null || response.data() == null || response.data().isEmpty()) {
        break;
      }
    } while (StringUtils.isNotEmpty(pageToken));
  • 根据表名称匹配分页获取表列表

    String databaseName = "test_db";
    PagedList<GetViewResponse> pagedViewDetails = restApi.listViewDetailsPaged(databaseName, 10, null, "test_v%");

CreateView - 创建视图

在数据库中创建一个视图。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:CreateView

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

视图描述符。

schema

ViewSchema

是

视图结构。

异常说明

类型

描述

AlreadyExistsException

REST请求返回409,表示视图已经存在。

ForbiddenException

REST请求返回403,表示当前用户没有创建视图的权限。

示例

Identifier identifier = new Identifier(databaseName, "my_view");
RowType rowType = RowType.builder().field("str",DataTypes.STRING()).build();
String query = "SELECT * FROM OTHER_TABLE";
Map<String, String> option = new HashMap<>();
Map<String, String> dialects = new HashMap<>();
dialects.put("spark", "SELECT * FROM SPARK_TABLE");
ViewSchema schema =
        new ViewSchema(
                rowType.getFields(),
                query,
                dialects,
                "comment",
                option));
api.createView(identifier, schema);

GetView - 获取视图

获取数据库中某个视图详情。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:GetView

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

视图描述符。

返回值

名称

类型

描述

示例值

id

string

视图ID。

name

string

视图名称。

schema

ViewSchema

视图结构。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取数据库的权限。

示例

Identifier identifier = new Identifier(databaseName, "my_view");
GetViewResponse response = api.getView(identifier);

DropView - 删除视图

删除数据库中某个视图。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:DropView

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

identifier

Identifier

是

视图描述符。

返回值

名称

类型

描述

示例值

当前API暂无返回参数。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示数据库不存在。

ForbiddenException

REST请求返回403,表示当前用户没有获取数据库的权限。

示例

Identifier identifier = new Identifier(databaseName, "my_view");
api.dropView(identifier);

RenameView - 重命名视图

重命名数据库中某个视图。

RAM访问控制

操作

访问级别

资源类型

条件关键字

关联操作

dlf:RenameView

*全部资源

*

无

无

请求参数

名称

类型

必填

描述

示例值

fromView

Identifier

是

原视图描述符。

toView

Identifier

是

更新后视图描述符。

返回值

名称

类型

描述

示例值

当前API暂无返回参数。

异常说明

类型

描述

NoSuchResourceException

REST请求返回404,表示视图不存在。

AlreadyExistsException

REST请求返回409,表示视图已经存在。

ForbiddenException

REST请求返回403,表示当前用户没有重命名视图的权限。

示例

Identifier fromView = new Identifier(databaseName, "from_view");
Identifier toView = new Identifier(databaseName, "to_view");
api.renameView(fromView, toView);