API列表

元数据管理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

DatabaseLocation。

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