外观
本页尚未翻译
本页内容仍为英文原文,源自官方文档 management/index。中文翻译正在分批进行中。
Management
Create, list, and drop the objects in a catalog, from Python, TypeScript, or SQL.
Use the SDKs or SQL to manage catalog objects, including tables, namespaces and views. The tables below provide a quick reference to the available methods; each object's guide covers its setup and behavior.
Some long-running operations also provide a submission method that returns a job. See the operation's guide for how to track completion.
Management APIs
说明
SQL is available through the Enterprise Flight SQL endpoint. See SQL.
Namespaces
| Python | TypeScript | SQL | |
|---|---|---|---|
| create | create_namespace | createNamespace | -- |
| list | list_namespaces | listNamespaces | -- |
| describe | describe_namespace | describeNamespace | -- |
| exists | namespace_exists | -- | -- |
| drop | drop_namespace | dropNamespace | -- |
See Namespaces.
Tables
| Python | TypeScript | SQL | |
|---|---|---|---|
| create | create_table | createTable | CREATE TABLE |
| create empty | create_table(schema=) | createEmptyTable | CREATE TABLE |
| open | open_table | openTable | -- |
| list | table_names, list_tables | tableNames, listTables | -- |
| exists | table_exists | -- | -- |
| rename | rename_table | renameTable | -- |
| clone | clone_table | cloneTable | -- |
| drop | drop_table, drop_table_async | dropTable, dropTableAsync | DROP TABLE |
| drop all | drop_all_tables | dropAllTables | -- |
See Tables for creating one and shaping its schema.
Materialized views
| Python | TypeScript | SQL | |
|---|---|---|---|
| create | create_materialized_view | createMaterializedView | CREATE MATERIALIZED VIEW |
| open | open_materialized_view | openMaterializedView | -- |
| list | list_materialized_views | listMaterializedViews | SHOW MATERIALIZED VIEWS |
| refresh | refresh | refresh | REFRESH MATERIALIZED VIEW |
| drop | drop_table | dropTable | DROP TABLE |
说明
Local list_materialized_views reads table schemas to find views. On Enterprise, it requests the server's view listing.
See Materialized views for creating one, and Refresh a materialized view for keeping it current.
Views
| Python | TypeScript | SQL | |
|---|---|---|---|
| create | create_view | createView | CREATE VIEW |
| list | list_views | listViews | -- |
| drop | drop_view, drop_view_async | dropView, dropViewAsync | DROP VIEW |
Enterprise Views exist only on an Enterprise cluster that enables them; the SDK methods send the view's SQL query to the deployment. See Views.
Functions
| Python | TypeScript | SQL | |
|---|---|---|---|
| create | create_function, create_function_async | -- | CREATE FUNCTION |
| get | get_function | -- | DESCRIBE FUNCTION |
| list | list_functions | -- | SHOW FUNCTIONS |
| drop | drop_function | -- | DROP FUNCTION |
Enterprise A function runs on the server, and only on a deployment that enables functions, so there is no local form. The TypeScript SDK has no function methods; use Python or SQL. See Functions.
Jobs
| Python | TypeScript | SQL | |
|---|---|---|---|
| list | list_jobs | listJobs | SHOW JOBS |
| open | open_job | openJob | -- |
| cancel | cancel_job | cancelJob | -- |
| errors | job.events | job.events | SHOW ERRORS |
See Job Framework.
Indexes
| Python | TypeScript | SQL | |
|---|---|---|---|
| create | create_index, create_index_async | createIndex, createIndexAsync | CREATE INDEX |
| list | list_indices | listIndices | -- |
| stats | index_stats | indexStats | -- |
| drop | drop_index | dropIndex | DROP INDEX |
说明
SQL CREATE INDEX covers one column and takes no user-chosen name: the server names it. For a multi-column or named index, use the SDK.
Indexes are a performance decision rather than a structural one, so they are covered under Maintenance.
Work within a namespace
Most connection-level operations take a namespace_path (namespacePath) to act inside a namespace rather than at the database root:
python
db.table_names(namespace_path=["prod", "events"])
tbl = db.open_table("clicks", namespace_path=["prod", "events"])typescript
await db.tableNames(["prod", "events"]);
const tbl = await db.openTable("clicks", ["prod", "events"]);sql
SELECT * FROM `prod$events`.clicksIn SQL the path is written as a $-joined schema instead; see Namespace for why it isn't dotted.
Delete catalog objects
注意
drop_table removes the table and every version of it. Table versioning does not survive the table being dropped, and neither drop_database nor drop_all_tables asks for confirmation.
Dropping a view removes only the saved query. Dropping a materialized view removes stored rows, because a materialized view is a table.