Skip to main content

metastores

Creates, updates, deletes, gets or lists a metastores resource.

Overview

Namemetastores
TypeResource
Iddatabricks_workspace.catalog.metastores

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
namestringThe user-specified name of the metastore.
default_data_access_config_idstringUnique identifier of the metastore's (Default) Data Access Configuration.
global_metastore_idstringGlobally unique metastore ID across clouds and regions, of the form `cloud:region:metastore_id`.
metastore_idstringUnique identifier of metastore.
storage_root_credential_idstringUUID of storage credential to access the metastore storage_root.
delta_sharing_organization_namestringThe organization name of a Delta Sharing entity, to be used in Databricks-to-Databricks Delta Sharing as the official name.
storage_root_credential_namestringName of the storage credential to access the metastore storage_root.
cloudstring
created_atintegerTime at which this metastore was created, in epoch milliseconds.
created_bystringUsername of metastore creator.
delta_sharing_recipient_token_lifetime_in_secondsintegerThe lifetime of delta sharing recipient token in seconds.
delta_sharing_scopestringThe scope of Delta Sharing enabled for the metastore. (INTERNAL, INTERNAL_AND_EXTERNAL)
external_access_enabledbooleanWhether to allow non-DBR clients to directly access entities under the metastore.
ownerstringThe owner of the metastore.
privilege_model_versionstringPrivilege model version of the metastore, of the form `major.minor` (e.g., `1.0`).
regionstringCloud region which the metastore serves (e.g., `us-west-2`, `westus`).
storage_rootstringThe storage root URL for metastore
updated_atintegerTime at which the metastore was last modified, in epoch milliseconds.
updated_bystringUsername of user who last modified the metastore.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectid, deployment_nameGets a metastore that matches the supplied ID. The caller must be a metastore admin to retrieve this
listselectdeployment_namemax_results, page_tokenGets an array of the available metastores (as MetastoreInfo objects). The caller must be an admin
createinsertdeployment_name, nameCreates a new metastore based on a provided name and optional storage root path. By default (if the
update_assignmentupdateworkspace_id, deployment_nameUpdates a metastore assignment. This operation can be used to update metastore_id or
updateupdateid, deployment_nameUpdates information for a specific metastore. The caller must be a metastore admin. If the owner
assignreplaceworkspace_id, deployment_name, metastore_id, default_catalog_nameCreates a new metastore assignment. If an assignment for the same workspace_id exists, it will be
unassigndeleteworkspace_id, metastore_id, deployment_nameDeletes a metastore assignment. The caller must be an account administrator.
deletedeleteid, deployment_nameforceDeletes a metastore. The caller must be a metastore admin.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
deployment_namestringThe Databricks Workspace Deployment Name (default: dbc-abcd0123-a1bc)
idstringUnique ID of the metastore.
metastore_idstringQuery for the ID of the metastore to delete.
workspace_idintegerA workspace ID.
forcebooleanForce deletion even if the metastore is not empty. Default is false.
max_resultsintegerMaximum number of metastores to return. - when set to a value greater than 0, the page length is the minimum of this value and a server configured value; - when set to 0, the page length is set to a server configured value (recommended); - when set to a value less than 0, an invalid parameter error is returned; - If not set, all the metastores are returned (not recommended). - Note: The number of returned metastores might be less than the specified max_results size, even zero. The only definitive indication that no further metastores can be fetched is when the next_page_token is unset from the response.
page_tokenstringOpaque pagination token to go to next page based on previous query.

SELECT examples

Gets a metastore that matches the supplied ID. The caller must be a metastore admin to retrieve this

SELECT
name,
default_data_access_config_id,
global_metastore_id,
metastore_id,
storage_root_credential_id,
delta_sharing_organization_name,
storage_root_credential_name,
cloud,
created_at,
created_by,
delta_sharing_recipient_token_lifetime_in_seconds,
delta_sharing_scope,
external_access_enabled,
owner,
privilege_model_version,
region,
storage_root,
updated_at,
updated_by
FROM databricks_workspace.catalog.metastores
WHERE id = '{{ id }}' -- required
AND deployment_name = '{{ deployment_name }}' -- required
;

INSERT examples

Creates a new metastore based on a provided name and optional storage root path. By default (if the

INSERT INTO databricks_workspace.catalog.metastores (
name,
external_access_enabled,
region,
storage_root,
deployment_name
)
SELECT
'{{ name }}' /* required */,
{{ external_access_enabled }},
'{{ region }}',
'{{ storage_root }}',
'{{ deployment_name }}'
RETURNING
name,
default_data_access_config_id,
global_metastore_id,
metastore_id,
storage_root_credential_id,
delta_sharing_organization_name,
storage_root_credential_name,
cloud,
created_at,
created_by,
delta_sharing_recipient_token_lifetime_in_seconds,
delta_sharing_scope,
external_access_enabled,
owner,
privilege_model_version,
region,
storage_root,
updated_at,
updated_by
;

UPDATE examples

Updates a metastore assignment. This operation can be used to update metastore_id or

UPDATE databricks_workspace.catalog.metastores
SET
default_catalog_name = '{{ default_catalog_name }}',
metastore_id = '{{ metastore_id }}'
WHERE
workspace_id = '{{ workspace_id }}' --required
AND deployment_name = '{{ deployment_name }}' --required;

REPLACE examples

Creates a new metastore assignment. If an assignment for the same workspace_id exists, it will be

REPLACE databricks_workspace.catalog.metastores
SET
metastore_id = '{{ metastore_id }}',
default_catalog_name = '{{ default_catalog_name }}'
WHERE
workspace_id = '{{ workspace_id }}' --required
AND deployment_name = '{{ deployment_name }}' --required
AND metastore_id = '{{ metastore_id }}' --required
AND default_catalog_name = '{{ default_catalog_name }}' --required;

DELETE examples

Deletes a metastore assignment. The caller must be an account administrator.

DELETE FROM databricks_workspace.catalog.metastores
WHERE workspace_id = '{{ workspace_id }}' --required
AND metastore_id = '{{ metastore_id }}' --required
AND deployment_name = '{{ deployment_name }}' --required
;