@Generated public class TablesAPI extends Object
A table can be managed or external. From an API perspective, a __VIEW__ is a particular kind of table (rather than a managed or external table).
| Constructor and Description |
|---|
TablesAPI(ApiClient apiClient)
Regular-use constructor
|
TablesAPI(TablesService mock)
Constructor for mocks
|
| Modifier and Type | Method and Description |
|---|---|
TableInfo |
create(CreateTableRequest request)
Creates a new table in the specified catalog and schema.
|
void |
delete(DeleteTableRequest request)
Deletes a table from the specified parent catalog and schema.
|
void |
delete(String fullName) |
TableExistsResponse |
exists(ExistsRequest request)
Gets if a table exists in the metastore for a specific catalog and schema.
|
TableExistsResponse |
exists(String fullName) |
TableInfo |
get(GetTableRequest request)
Gets a table from the metastore for a specific catalog and schema.
|
TableInfo |
get(String fullName) |
TablesService |
impl() |
Iterable<TableInfo> |
list(ListTablesRequest request)
Gets an array of all tables for the current metastore under the parent catalog and schema.
|
Iterable<TableInfo> |
list(String catalogName,
String schemaName) |
Iterable<TableSummary> |
listSummaries(ListSummariesRequest request)
Gets an array of summaries for tables for a schema and catalog within the metastore.
|
Iterable<TableSummary> |
listSummaries(String catalogName) |
void |
update(UpdateTableRequest request)
Change the owner of the table.
|
public TablesAPI(ApiClient apiClient)
public TablesAPI(TablesService mock)
public TableInfo create(CreateTableRequest request)
To create an external delta table, the caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and the **EXTERNAL_USE_LOCATION** privilege on the external location. These privileges must always be granted explicitly, and cannot be inherited through ownership or **ALL_PRIVILEGES**.
Standard UC permissions needed to create tables still apply: **USE_CATALOG** on the parent catalog (or ownership of the parent catalog), **CREATE_TABLE** and **USE_SCHEMA** on the parent schema (or ownership of the parent schema), and **CREATE_EXTERNAL_TABLE** on external location.
The **columns** field needs to be in a Spark compatible format, so we recommend you use Spark to create these tables. The API itself does not validate the correctness of the column spec. If the spec is not Spark compatible, the tables may not be readable by Databricks Runtime.
NOTE: The Create Table API for external clients only supports creating **external delta tables**. The values shown in the respective enums are all values supported by Databricks, however for this specific Create Table API, only **table_type** **EXTERNAL** and **data_source_format** **DELTA** are supported. Additionally, column masks are not supported when creating tables through this API.
public void delete(String fullName)
public void delete(DeleteTableRequest request)
public TableExistsResponse exists(String fullName)
public TableExistsResponse exists(ExistsRequest request)
public TableInfo get(GetTableRequest request)
public Iterable<TableInfo> list(ListTablesRequest request)
NOTE: **view_dependencies** and **table_constraints** are not returned by ListTables queries.
NOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.
PAGINATION BEHAVIOR: When using pagination (max_results >= 0), a page may contain zero results while still providing a next_page_token. Clients must continue reading pages until next_page_token is absent, which is the only indication that the end of results has been reached.
public Iterable<TableSummary> listSummaries(String catalogName)
public Iterable<TableSummary> listSummaries(ListSummariesRequest request)
* summaries for tables (within the current metastore and parent catalog and schema), when the user is a metastore admin, or: * summaries for tables and schemas (within the current metastore and parent catalog) for which the user has ownership or the **SELECT** privilege on the table and ownership or **USE_SCHEMA** privilege on the schema, provided that the user also has ownership or the **USE_CATALOG** privilege on the parent catalog.
There is no guarantee of a specific ordering of the elements in the array.
PAGINATION BEHAVIOR: The API is by default paginated, a page may contain zero results while still providing a next_page_token. Clients must continue reading pages until next_page_token is absent, which is the only indication that the end of results has been reached.
public void update(UpdateTableRequest request)
public TablesService impl()
Copyright © 2026. All rights reserved.