中繼資料管理API提供對資料庫、表、分區和視圖等中繼資料對象的統一操作與管理能力,支援使用者高效地建立、查詢、更新和刪除中繼資料,滿足多樣化的資料管理需求。
授權資訊
RAM存取控制
下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:
操作:是指具體的許可權點。
存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。
資源類型:是指操作中支援授權的資源類型。具體說明如下:
對於必選的資源類型,用前面加 * 表示。
對於不支援資源級授權的操作,用
全部資源表示。
條件關鍵字:是指雲產品自身定義的條件關鍵字。
關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
dlf:詳見具體API | 詳見具體API | *全部資源
| 無 | 無 |
RAM存取控制更新通常需要1分鐘左右生效。
ACL許可權管理
詳情請參考資料授權管理。
資料庫API
ListDatabases - 擷取資料庫列表
擷取資料目錄中資料庫列表。
RAM存取控制
傳回值
名稱 | 類型 | 描述 | 樣本值 |
| array | 資料目錄的資料庫名稱數組。無法保證數組元素順序。 | [test_db1, test_db2] |
database | string | 資料庫名稱。 | test_db1 |
樣本
List<String> databases = restApi.listDatabases();ListDatabasesPaged - 分頁擷取資料庫列表
分頁查詢資料目錄中資料庫列表,可以根據資料庫名稱匹配。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
maxResults | integer | 否 | 一次返回的個數, 如果未提供,如果未設定,則設定為伺服器配置的值。當設定為大於 0 的值時,則取此值和伺服器配置值中的最小值。 | 10 |
pageToken | string | 否 | 分頁的開始位置,第一次填寫null,後續的填寫上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken 為空白字串,那麼說明無資料了。 | db_test |
databaseNamePattern | string | 否 | 資料庫名稱的sql LIKE右模糊模式(%)。如果未設定或為空白,將返回所有資料庫 | db_test% |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
- | object | 返回資料。 | |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
name | string | 是 | 名稱。 | db_demo |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
當前API暫無返回參數。 | |||
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回404,表示資料庫不存在。 |
ForbiddenException | REST請求返回403,表示目前使用者沒有擷取資料庫。 |
樣本
api.dropDatabase(name);AlterDatabase - 變更資料庫
更新資料目錄中某個資料庫的資訊。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
name | string | 是 | 名稱。 | db_demo |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表標識符。 | ||
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表標識符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
當前API暫無傳回值。 | |||
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回404,表示表不存在。 |
ForbiddenException | REST請求返回403,表示目前使用者沒有刪除當前表的許可權。 |
樣本
Identifier identifier = Identifier.create("test_db", "new_table");
restApi.dropTable(identifier);RenameTable - 重新命名表
重新命名表。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
fromIdentifier | 是 | 原表標識符。 | ||
toIdentifier | 是 | 目標表標識符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
當前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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表描述符。 | ||
| array | 是 | 表變更資訊列表。 | |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表標識符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
getTableResponse | 表詳情資訊。 |
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回404,表示表不存在。 |
ForbiddenException | REST請求返回403,表示目前使用者沒有擷取當前表的許可權。 |
樣本
Identifier identifier = Identifier.create("test_db", "test_table");
GetTableResponse response = restApi.getTable(identifier);ListTables - 查詢表列表
用於查詢資料湖表的名稱列表。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
databaseName | string | 是 | 資料庫名稱。 | test_db |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
databaseName | string | 是 | 資料庫名稱。 | test_db |
maxResults | string | 否 | 每頁大小,實際生效值為傳入值與服務端預設值之間的最小值。 | 10 |
pageToken | string | 否 | 翻頁Token,從返回結果返回,無則傳null,如果返回的 NextPageToken為空白字串,那麼說明無資料了。 | 2cb472ec1bf84f8d92f9c4baa0d21c19aa |
tableNamePattern | string | 否 | SQL風格的表右模糊比對模式(%),不傳將返回所有表。 | test_table% |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
- | object | 返回資料。 | |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
databaseName | string | 是 | 資料庫名稱。 | test_db |
maxResults | string | 否 | 每頁大小,實際生效值為傳入值與服務端預設值之間的最小值。 | 10 |
pageToken | string | 否 | 翻頁Token,從返回結果返回,無則傳空,如果返回的NextPageToken為空白字串,那麼說明無資料了。 | 2cb472ec1bf84f8d92f9c4baa0d21c19aa |
tableNamePattern | string | 否 | SQL風格的表右模糊比對模式(%),不傳將返回所有表。 | test_table% |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
- | object | 返回資料。 | |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表標識符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
TableSnapshot | 錶快照資訊。 |
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回 404,表示表或者最新的快照不存在。 |
ForbiddenException | REST請求返回 403,表示目前使用者沒有擷取當前表的許可權。 |
樣本
Identifier identifier = Identifier.create("test_db", "test_table");
restApi.loadSnapshot(identifier)GetVersionSnapshot - 擷取某個版本的快照
根據版本資訊擷取表的快照。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表標識符。 | ||
version | String | 是 | 版本資訊。 | "Latest", "EARLIEST","1" |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
Snapshot | 錶快照資訊。 |
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回404, 表示表或者最新的快照不存在。 |
ForbiddenException | REST請求返回403,表示目前使用者沒有擷取當前表的許可權。 |
樣本
Identifier identifier = Identifier.create("test_db", "test_table");
String version = "Latest";
restApi.loadSnapshot(identifier, version);ListSnapshotsPaged - 分頁查詢快照列表
用於查詢資料湖表的快照列表資訊。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表標識符。 | ||
maxResults | string | 否 | 每頁大小, 實際生效值為傳入值與服務端預設值之間的最小值。 | 10 |
pageToken | string | 否 | 翻頁Token,從返回結果返回,無則傳空,如果返回的 NextPageToken為空白字串,那麼說明無資料了。 | 1 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
| array | 錶快照資訊列表。 | |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表描述符。 | ||
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表描述符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表描述符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表標識符。 | ||
maxResults | string | 否 | 每頁大小,實際生效值為傳入值與服務端預設值之間的最小值。 | 10 |
pageToken | string | 否 | 翻頁Token,從返回結果返回,無則傳空,如果返回的 NextPageToken為空白字串,那麼說明無資料了。 | 2cb472ec1bf84f8d92f9c4baa0d21c19aa |
partitionNamePattern | string | 否 | SQL風格的表右模糊比對模式,不傳將返回所有表。 | year=2025% |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
- | object | 返回資料。 | |
| array | 分區詳情列表。 | |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 表描述符。 | ||
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
databaseName | string | 是 | 資料庫名稱。 | db_demo |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
| array | 視圖名稱列表。 | |
view | string | 視圖名稱。 | view_demo |
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回404,表示視圖不存在。 |
ForbiddenException | REST請求返回403,表示目前使用者沒有擷取視圖的許可權。 |
樣本
List<String> viewNames = api.listViews(name);ListViewsPaged - 分頁查詢檢視列表
分頁擷取資料庫中視圖列表。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
databaseName | string | 是 | 資料庫名稱。 | db_demo |
maxResults | integer | 否 | 一次返回的個數, 如果未提供,如果未設定,則設定為伺服器配置的值。當設定為大於 0 的值時,則取此值和伺服器配置值中的最小值。 | 10 |
pageToken | string | 否 | 分頁的開始位置,第一次填寫null,後續的填寫上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken為空白字串,那麼說明無資料了。 | view_test |
viewNamePattern | string | 否 | 視圖名稱的sql LIKE右模糊模式(%)。如果未設定或為空白,將返回所有視圖。 | view_tes% |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
- | object | 返回資料。 | |
| 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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
databaseName | string | 是 | 資料庫名稱。 | db_demo |
maxResults | integer | 否 | 一次返回的個數,如果未提供,如果未設定,則設定為伺服器配置的值。當設定為大於 0 的值時,則取此值和伺服器配置值中的最小值。 | 10 |
pageToken | string | 否 | 分頁的開始位置,第一次填寫null,後續的填寫上一次的 response 中返回的 NextPageToken,如果返回的 NextPageToken 為空白字串,那麼說明無資料了。 | view_test |
viewNamePattern | string | 否 | 視圖名稱的sql LIKE右模糊模式(%)。如果未設定或為空白,將返回所有視圖。 | view_tes% |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
- | PagedList | 返回資料。 | |
| array | 視圖詳情列表。 | [view_demo] |
viewDetail | 視圖詳情。 | ||
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 視圖描述符。 | ||
schema | 是 | 視圖結構。 |
異常說明
類型 | 描述 |
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存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 視圖描述符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
id | string | 視圖ID。 | |
name | string | 視圖名稱。 | |
schema | 視圖結構。 |
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回404,表示資料庫不存在。 |
ForbiddenException | REST請求返回403,表示目前使用者沒有擷取資料庫的許可權。 |
樣本
Identifier identifier = new Identifier(databaseName, "my_view");
GetViewResponse response = api.getView(identifier);DropView - 刪除視圖
刪除資料庫中某個視圖。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
identifier | 是 | 視圖描述符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
當前API暫無返回參數。 | |||
異常說明
類型 | 描述 |
NoSuchResourceException | REST請求返回404,表示資料庫不存在。 |
ForbiddenException | REST請求返回403,表示目前使用者沒有擷取資料庫的許可權。 |
樣本
Identifier identifier = new Identifier(databaseName, "my_view");
api.dropView(identifier);RenameView - 重新命名視圖
重新命名資料庫中某個視圖。
RAM存取控制
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
fromView | 是 | 原視圖描述符。 | ||
toView | 是 | 更新後視圖描述符。 |
傳回值
名稱 | 類型 | 描述 | 樣本值 |
當前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);