Pular para o conteúdo principal

CLI do Unity Catalog (legado)

important

Essa documentação foi descontinuada e pode não estar atualizada.

Esta informação se aplica ao legado Databricks CLI versões 0.18 e abaixo. Databricks recomenda que o senhor use a versão mais recente do Databricks CLI 0.205 ou o acima. Consulte O que é a CLI do Databricks? Para encontrar sua versão do site Databricks CLI, execute databricks -v.

Para migrar de Databricks CLI versão 0.18 ou abaixo para Databricks CLI versão 0.205 ou acima, consulte Databricks CLI migration.

nota

A CLI do Unity Catalog é Experimental.

O Unity Catalog CLI requer o Databricks CLI (legado) 0.17.0 ou acima, configurado com autenticação. Para atualizar a CLI da Databricks ou para listar a versão instalada, consulte Atualizar a CLI.

Os valores de opção e amostra de campo nos exemplos a seguir são apenas para fins ilustrativos.

Use a CLI do Unity Catalog para trabalhar com ele:

  • Unity Catalog recursos como metastores, credenciais de armazenamento, locais externos, catálogos, esquemas, tabelas e suas permissões.
  • Delta Sharing recurso, como compartilhamentos, destinatários e provedores.

O senhor executa Unity Catalog CLI subcomandos anexando-os a databricks unity-catalog. Esses subcomandos chamam a API do Unity Catalog, que também inclui a API Delta Sharing.

Para exibir a documentação de uso, execute databricks unity-catalog --help.

Saída:

Usage: databricks unity-catalog [OPTIONS] COMMAND [ARGS]...

Utility to interact with Databricks Unity Catalog.

Options:
-v, --version 0.17.1
-h, --help Show this message and exit.

Commands:
catalogs
external-locations
lineage
metastores
permissions
providers
recipients
schemas
shares
storage-credentials
tables

Metástores

Use o subcomando unity-catalog metastores para trabalhar com metastores.

Para exibir a documentação de uso, execute databricks unity-catalog metastores --help.

Crie uma metastore

Para exibir a documentação de uso, execute databricks unity-catalog metastores create --help. Consulte também Criar um metastore do Unity Catalog.

Bash
databricks unity-catalog metastores create --name my-metastore \
--region us-west-2 \
--storage-root s3://my-bucket/abcdefghij

Se o senhor não especificar a região, o metastore será criado na região atual do site workspace.

Saída:

JSON
{
"name": "my-metastore",
"storage_root": "s3://my-bucket/abcdefghij/12a345b6-7890-1cd2-3456-e789f0a12b34",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656112029354,
"created_by": "someone@example.com",
"updated_at": 1656112029354,
"updated_by": "someone@example.com",
"delta_sharing_enabled": false,
"owner": "someone@example.com",
"region": "us-west-2",
"cloud": "aws",
"global_metastore_id": "aws:us-west-2:12a345b6-7890-1cd2-3456-e789f0a12b34",
"delta_sharing_scope": "INTERNAL",
"privilege_model_version": "0.1"
}
nota

A criação de um metastore não associa automaticamente o metastore a um workspace ou a uma credencial de armazenamento. Para concluir essa tarefa, consulte Vincular um metastore a um workspace, Criar uma credencial de armazenamento e Atualizar as configurações de um metastore.

Vincular um metastore a um workspace

Se executar esse comando em um site workspace que já tenha um metastore atribuído, o senhor atualizará o metastore atribuído desse site workspace.

Para exibir a documentação de uso, execute databricks unity-catalog metastores assign --help.

Bash
databricks unity-catalog metastores assign --workspace-id 1234567890123456 \
--metastore-id 12a345b6-7890-1cd2-3456-e789f0a12b34 \
--default-catalog-name main

Para obter o ID do workspace, consulte nomes de instâncias, URLs e IDs do espaço de trabalho.

Para obter o ID do metastore, execute databricks unity-catalog metastores get-summary. Para obter um exemplo, consulte Obter informações resumidas sobre o metastore atual.

Saída:

JSON
{}

Consulte também Criar um metastore do Unity Catalog.

Atualizar as configurações de uma metastore

Para exibir a documentação de uso, execute databricks unity-catalog metastores update --help.

Bash
databricks unity-catalog metastores update --id 12a345b6-7890-1cd2-3456-e789f0a12b34 \
--json-file update-metastore.json

Para obter o ID do metastore, execute databricks unity-catalog metastores get-summary. Para obter um exemplo, consulte Obter informações resumidas sobre o metastore atual.

update-metastore.json:

JSON
{
"storage_root_credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34"
}

Para obter o ID da credencial da raiz do armazenamento, consulte Obter informações sobre uma credencial de armazenamento.

Saída:

JSON
{
"name": "my-metastore",
"storage_root": "s3://my-bucket/abcdefghij/12a345b6-7890-1cd2-3456-e789f0a12b34",
"default_data_access_config_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656365260817,
"created_by": "someone@example.com",
"updated_at": 1656366434069,
"updated_by": "someone@example.com",
"delta_sharing_enabled": true,
"owner": "someone@example.com",
"delta_sharing_recipient_token_lifetime_in_seconds": 86400,
"region": "us-west-2",
"storage_root_credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"cloud": "aws",
"global_metastore_id": "aws:us-west-2:12a345b6-7890-1cd2-3456-e789f0a12b34",
"delta_sharing_scope": "INTERNAL_AND_EXTERNAL",
"privilege_model_version": "0.1"
}

Listar metástores disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog metastores list --help.

Bash
databricks unity-catalog metastores list

Saída:

JSON
{
"metastores": [
{
"name": "my-metastore",
"storage_root": "s3://my-bucket/abcdefghij/12a345b6-7890-1cd2-3456-e789f0a12b34",
"default_data_access_config_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656365260817,
"created_by": "someone@example.com",
"updated_at": 1656366434069,
"updated_by": "someone@example.com",
"delta_sharing_enabled": true,
"owner": "someone@example.com",
"delta_sharing_recipient_token_lifetime_in_seconds": 86400,
"region": "us-west-2",
"storage_root_credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"cloud": "aws",
"global_metastore_id": "aws:us-west-2:12a345b6-7890-1cd2-3456-e789f0a12b34",
"delta_sharing_scope": "INTERNAL_AND_EXTERNAL",
"privilege_model_version": "0.1"
},
{
"...": "..."
}
]
}

Obter informações sobre um metastore

Para exibir a documentação de uso, execute databricks unity-catalog metastores get --help.

Bash
databricks unity-catalog metastores get --id 12a345b6-7890-1cd2-3456-e789f0a12b34

Para obter o ID do metastore, execute databricks unity-catalog metastores get-summary. Para obter um exemplo, consulte Obter informações resumidas sobre o metastore atual.

Saída:

JSON
{
"name": "my-metastore",
"storage_root": "s3://my-bucket/abcdefghij/12a345b6-7890-1cd2-3456-e789f0a12b34",
"default_data_access_config_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656365260817,
"created_by": "someone@example.com",
"updated_at": 1656366434069,
"updated_by": "someone@example.com",
"delta_sharing_enabled": true,
"owner": "someone@example.com",
"delta_sharing_recipient_token_lifetime_in_seconds": 86400,
"region": "us-west-2",
"storage_root_credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"cloud": "aws",
"global_metastore_id": "aws:us-west-2:12a345b6-7890-1cd2-3456-e789f0a12b34",
"delta_sharing_scope": "INTERNAL_AND_EXTERNAL",
"privilege_model_version": "0.1"
}

Obter informações resumidas sobre o metastore atual

Para exibir a documentação de uso, execute databricks unity-catalog metastores get-summary --help.

Bash
databricks unity-catalog metastores get-summary

Saída:

JSON
{
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"name": "my-metastore",
"default_data_access_config_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"storage_root_credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"cloud": "aws",
"region": "us-west-2",
"global_metastore_id": "aws:us-west-2:12a345b6-7890-1cd2-3456-e789f0a12b34",
"storage_root_credential_name": "my-storage-root-credential"
}

Obter a atribuição atual do metastore para um workspace

Para exibir a documentação de uso, execute databricks unity-catalog metastores get-assignment --help.

Bash
databricks unity-catalog metastores get-assignment

Saída:

JSON
{
"workspace_id": 1234567890123456,
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"default_catalog_name": "main"
}

Desvincular um metastore de um workspace

Para exibir a documentação de uso, execute databricks unity-catalog metastores unassign --help.

Bash
databricks unity-catalog metastores unassign --workspace-id 1234567890123456 \
--metastore-id 12a345b6-7890-1cd2-3456-e789f0a12b34

Para obter o ID do workspace, consulte nomes de instâncias, URLs e IDs do espaço de trabalho.

Para obter o ID do metastore, execute databricks unity-catalog metastores get-summary. Para obter um exemplo, consulte Obter informações resumidas sobre o metastore atual.

Saída:

JSON
{}

Excluir uma metastore

atenção

Antes de excluir um metastore, o senhor deve excluir qualquer espaço de trabalho que use o metastore ou remover o link do metastore para esse espaço de trabalho. Entre em contato com o suporte do Databricks para obter assistência na remoção de links de metastore do espaço de trabalho.

Para exibir a documentação de uso, execute databricks unity-catalog metastores delete --help.

Para excluir o metastore à força, use a opção --force.

Bash
databricks unity-catalog metastores delete --id 12a345b6-7890-1cd2-3456-e789f0a12b34

Para obter o ID do metastore, execute databricks unity-catalog metastores get-summary. Para obter um exemplo, consulte Obter informações resumidas sobre o metastore atual.

Se a operação for bem-sucedida, nenhum resultado será retornado.

Credenciais de armazenamento

Use o subcomando unity-catalog storage-credentials para trabalhar com credenciais de armazenamento. Consulte Criar uma credencial de armazenamento para se conectar ao AWS S3.

Para exibir a documentação de uso, execute databricks unity-catalog storage-credentials --help.

Crie uma credencial de armazenamento

Para exibir a documentação de uso, execute databricks unity-catalog storage-credentials create --help.

Consulte também Criar uma credencial de armazenamento para se conectar ao AWS S3.

Bash
databricks unity-catalog storage-credentials create --json-file create-storage-credential.json

create-storage-credential.json:

JSON
{
"name": "my-storage-root-credential",
"aws_iam_role": {
"role_arn": "arn:aws:iam::123456789012:role/my-role"
}
}

Saída:

JSON
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"name": "my-storage-root-credential",
"aws_iam_role": {
"role_arn": "arn:aws:iam::123456789012:role/my-role",
"unity_catalog_iam_arn": "arn:aws:iam::414351767826:role/my-role",
"external_id": "12a345b6-7890-1cd2-3456-e789f0a12b34"
},
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656366379705,
"created_by": "someone@example.com",
"updated_at": 1656366379705,
"updated_by": "someone@example.com",
"used_for_managed_storage": true
}

Atualizar as configurações de uma credencial de armazenamento

Para exibir a documentação de uso, execute databricks unity-catalog storage-credentials update --help.

Bash
databricks unity-catalog storage-credentials update --name my-storage-root-credential
--json-file update-storage-credential.json

update-storage-credential.json:

JSON
{
"name": "my-storage-root-credential-2",
"aws_iam_role": {
"role_arn": "arn:aws:iam::123456789012:role/my-role"
}
}

Saída:

JSON
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"name": "my-storage-root-credential-2",
"aws_iam_role": {
"role_arn": "arn:aws:iam::123456789012:role/my-role",
"unity_catalog_iam_arn": "arn:aws:iam::414351767826:role/my-role",
"external_id": "12a345b6-7890-1cd2-3456-e789f0a12b34"
},
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656366379705,
"created_by": "someone@example.com",
"updated_at": 1656366379705,
"updated_by": "someone@example.com",
"used_for_managed_storage": true
}

Listar as credenciais de armazenamento disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog storage-credentials list --help.

Bash
databricks unity-catalog storage-credentials list

Saída:

JSON
"storage_credentials": [
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"name": "my-storage-root-credential",
"aws_iam_role": {
"role_arn": "arn:aws:iam::123456789012:role/my-role",
"unity_catalog_iam_arn": "arn:aws:iam::123456789012:role/my-role",
"external_id": "12a345b6-7890-1cd2-3456-e789f0a12b34"
},
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656366379705,
"created_by": "someone@example.com",
"updated_at": 1656366379705,
"updated_by": "someone@example.com",
"used_for_managed_storage": true
},
{
"...": "..."
}
]

Obter informações sobre uma credencial de armazenamento

Para exibir a documentação de uso, execute databricks unity-catalog storage-credentials get --help.

Bash
databricks unity-catalog storage-credentials get --name my-storage-root-credential

Saída:

JSON
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"name": "my-storage-root-credential",
"aws_iam_role": {
"role_arn": "arn:aws:iam::123456789012:role/my-storage-root-credential",
"unity_catalog_iam_arn": "arn:aws:iam::414351767826:role/my-role",
"external_id": "12a345b6-7890-1cd2-3456-e789f0a12b34"
},
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656353829777,
"created_by": "someone@example.com",
"updated_at": 1656353829777,
"updated_by": "someone@example.com"
}

Excluir uma credencial de armazenamento

Para exibir a documentação de uso, execute databricks unity-catalog storage-credentials delete --help.

Para excluir forçosamente a credencial de armazenamento, use a opção --force.

Bash
databricks unity-catalog storage-credentials delete --name my-storage-root-credential

Se a operação for bem-sucedida, nenhum resultado será retornado.

Localizações externas

Use o subcomando unity-catalog external-locations para trabalhar com locais externos. Consulte Criar um local externo para conectar o armazenamento em nuvem à Databricks.

Para exibir a documentação de uso, execute databricks unity-catalog external-locations --help.

Crie um local externo

Para exibir a documentação de uso, execute databricks unity-catalog external-locations create --help. Consulte também Criar um local externo para conectar o armazenamento em nuvem à Databricks.

Bash
databricks unity-catalog external-locations create --name my-external-location \
--url s3://my-bucket/abcdefghij \
--storage-credential-name my-storage-root-credential

Saída:

JSON
{
"name": "my-external-location",
"url": "s3://my-bucket/abcdefghij",
"credential_name": "my-storage-root-credential",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656370003059,
"created_by": "someone@example.com",
"updated_at": 1656370003059,
"updated_by": "someone@example.com",
"read_only": false
}

Valide um local externo e um par de credenciais

Para exibir a documentação de uso, execute databricks unity-catalog external-locations validate --help.

Valide uma localização externa, URL e par de credenciais antes de criá-los.

Bash
databricks unity-catalog external-locations validate --url s3://my-bucket/abcdefghij \
--cred-name my-storage-root-credential

Saída:

JSON
{
"isDir": true,
"results": [
{
"operation": "READ",
"result": "PASS"
},
{
"operation": "LIST",
"result": "PASS"
},
{
"operation": "WRITE",
"result": "PASS"
},
{
"operation": "DELETE",
"result": "PASS"
}
]
}

Valide um nome de local externo e um par de credenciais depois de criá-los

Bash
databricks unity-catalog external-locations validate --name my-external-location \
--cred-name my-storage-root-credential

Saída:

JSON
{
"isDir": true,
"results": [
{
"operation": "READ",
"result": "PASS"
},
{
"operation": "LIST",
"result": "PASS"
},
{
"operation": "WRITE",
"result": "PASS"
},
{
"operation": "DELETE",
"result": "PASS"
}
]
}

Atualizar as configurações de um local externo

Para exibir a documentação de uso, execute databricks unity-catalog external-locations update --help.

Bash
databricks unity-catalog external-locations update --name my-external-location \
--json-file update-external-location.json

udpate-external-location.json:

JSON
{
"name": "my-external-location-2"
}

Saída:

JSON
{
"name": "my-external-location-2",
"url": "s3://my-bucket/abcdefghij",
"credential_name": "my-storage-root-credential",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656370003059,
"created_by": "someone@example.com",
"updated_at": 1656370379651,
"updated_by": "someone@example.com",
"read_only": false
}

Listar locais externos disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog external-locations list --help.

Bash
databricks unity-catalog external-locations list

Saída:

JSON
{
"external_locations": [
{
"name": "my-external-location",
"url": "s3://my-bucket/abcdefghij",
"credential_name": "my-storage-root-credential",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656370003059,
"created_by": "someone@example.com",
"updated_at": 1656370379651,
"updated_by": "someone@example.com",
"read_only": false
},
{
"...": "..."
}
]
}

Obter informações sobre um local externo

Para exibir a documentação de uso, execute databricks unity-catalog external-locations get --help.

Bash
databricks unity-catalog external-locations get --name my-external-location

Saída:

JSON
{
"name": "my-external-location",
"url": "s3://my-bucket/abcdefghij",
"credential_name": "my-storage-root-credential",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"credential_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656370003059,
"created_by": "someone@example.com",
"updated_at": 1656370003059,
"updated_by": "someone@example.com",
"read_only": false
}

Excluir um local externo

Para exibir a documentação de uso, execute databricks unity-catalog external-locations delete --help.

Para excluir forçosamente o local externo, use a opção --force.

Bash
databricks unity-catalog external-locations delete --name my-external-location

Se a operação for bem-sucedida, nenhum resultado será retornado.

Catálogos

Use o subcomando unity-catalog catalogs para trabalhar com catálogos.

Para exibir a documentação de uso, execute databricks unity-catalog catalogs --help.

Para exibir a documentação de uso, execute databricks unity-catalog catalogs create --help. Consulte também Criar catálogos.

Bash
databricks unity-catalog catalogs create --name my-catalog

Saída:

JSON
{
"name": "my-catalog",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656113178995,
"created_by": "someone@example.com",
"updated_at": 1656113178995,
"updated_by": "someone@example.com",
"catalog_type": "MANAGED_CATALOG"
}

Para exibir a documentação de uso, execute databricks unity-catalog catalogs update --help.

Bash
databricks unity-catalog catalogs update --name my-catalog \
--json-file update-catalog.json

update-catalog.json:

JSON
{
"name": "my-catalog-2",
"owner": "someone@example.com"
}

Saída:

JSON
{
"name": "my-catalog-2",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656355967835,
"created_by": "someone@example.com",
"updated_at": 1656356095989,
"updated_by": "someone@example.com",
"catalog_type": "MANAGED_CATALOG"
}

Listar catálogos disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog catalogs list --help.

Bash
databricks unity-catalog catalogs list

Saída:

JSON
{
"catalogs": [
{
"name": "main",
"owner": "someone@example.com",
"comment": "Main catalog (auto-created)",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656112029355,
"created_by": "someone@example.com",
"updated_at": 1656112029355,
"updated_by": "someone@example.com",
"catalog_type": "MANAGED_CATALOG"
},
{
"...": "..."
}
]
}

Para exibir a documentação de uso, execute databricks unity-catalog catalogs get --help.

Bash
databricks unity-catalog catalogs get --name my-catalog

Saída:

JSON
{
"name": "my-catalog",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656113178995,
"created_by": "someone@example.com",
"updated_at": 1656113178995,
"updated_by": "someone@example.com",
"catalog_type": "MANAGED_CATALOG"
}

Para exibir a documentação de uso, execute databricks unity-catalog catalogs delete --help. Consulte também Excluir um catálogo.

Para excluir um catálogo à força, use a opção --purge.

Bash
databricks unity-catalog catalogs delete --name my-catalog

Se a operação for bem-sucedida, nenhum resultado será retornado.

Esquemas

Use o subcomando unity-catalog schemas para trabalhar com esquemas.

Para exibir a documentação de uso, execute databricks unity-catalog schemas --help.

Crie um esquema

Para exibir a documentação de uso, execute databricks unity-catalog schemas create --help. Consulte também Criar esquemas.

Bash
databricks unity-catalog schemas create --catalog-name my-catalog \
--name my-schema

Saída:

JSON
{
"name": "my-schema",
"catalog_name": "my-catalog",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"full_name": "my-catalog.my-schema",
"created_at": 1656113607800,
"created_by": "someone@example.com",
"updated_at": 1656113607800,
"updated_by": "someone@example.com"
}

Alterar as configurações de um esquema

Para exibir a documentação de uso, execute databricks unity-catalog schemas update --help.

Bash
databricks unity-catalog schemas update --full-name my-catalog.my-schema \
--json-file update-schema.json

update-schema.json:

JSON
{
"name": "my-schema-2",
"owner": "someone@example.com"
}

Saída:

JSON
{
"name": "my-schema-2",
"catalog_name": "my-catalog",
"owner": "someone@example.com",
"comment": "Default schema (auto-created)",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"full_name": "my-catalog.my-schema-2",
"created_at": 1656355967837,
"created_by": "someone@example.com",
"updated_at": 1656356592786,
"updated_by": "someone@example.com"
}

Listar esquemas disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog schemas list --help.

Bash
databricks unity-catalog schemas list --catalog-name my-catalog

Saída:

JSON
{
"schemas": [
{
"name": "default",
"catalog_name": "my-catalog",
"owner": "someone@example.com",
"comment": "Default schema (auto-created)",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"full_name": "my-catalog.default",
"created_at": 1656113178996,
"created_by": "someone@example.com",
"updated_at": 1656113178996,
"updated_by": "someone@example.com"
},
{
"...": "..."
}
]
}

Obter informações sobre um esquema

Para exibir a documentação de uso, execute databricks unity-catalog schemas get --help.

Bash
databricks unity-catalog schemas get --full-name my-catalog.my-schema

Saída:

JSON
{
"name": "my-schema",
"catalog_name": "my-catalog",
"owner": "someone@example.com",
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"full_name": "my-catalog.my-schema",
"created_at": 1656113607800,
"created_by": "someone@example.com",
"updated_at": 1656113607800,
"updated_by": "someone@example.com"
}

Excluir um esquema

Para exibir a documentação de uso, execute databricks unity-catalog schemas delete --help. Consulte também Excluir um esquema.

Para excluir um esquema à força, use a opção --purge.

Bash
databricks unity-catalog schemas delete --full-name my-catalog.my-schema

Se a operação for bem-sucedida, nenhum resultado será retornado.

Tabelas

Use o subcomando unity-catalog tables para trabalhar com tabelas.

nota

Não há suporte para a criação de tabelas com a CLI do Unity Catalog. Para criar tabelas, consulte O que é uma tabela? e tutorial: Criar sua primeira tabela e conceder privilégios.

Para exibir a documentação de uso, execute databricks unity-catalog tables --help.

Listar tabelas disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog tables list --help.

Bash
databricks unity-catalog tables list --catalog-name main \
--schema-name default

Saída:

JSON
{
"tables": [
{
"name": "mytable",
"catalog_name": "main",
"schema_name": "default",
"table_type": "MANAGED",
"data_source_format": "DELTA",
"columns": [
{
"name": "id",
"type_text": "int",
"type_json": "{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}",
"type_name": "INT",
"type_precision": 0,
"type_scale": 0,
"position": 0,
"nullable": true
},
{
"name": "name",
"type_text": "string",
"type_json": "{\"name\":\"name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}}",
"type_name": "STRING",
"type_precision": 0,
"type_scale": 0,
"position": 1,
"nullable": true
},
{
"name": "age",
"type_text": "int",
"type_json": "{\"name\":\"age\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}",
"type_name": "INT",
"type_precision": 0,
"type_scale": 0,
"position": 2,
"nullable": true
}
],
"storage_location": "s3://my-bucket/abcdefghij/12a345b6-7890-1cd2-3456-e789f0a12b34/tables/12a345b6-7890-1cd2-3456-e789f0a12b34",
"owner": "someone@example.com",
"properties": {
"delta.lastCommitTimestamp": "1656371979000",
"delta.lastUpdateVersion": "0",
"delta.minWriterVersion": "2",
"delta.minReaderVersion": "1",
"delta.checkpoint.writeStatsAsStruct": "true",
"delta.checkpoint.writeStatsAsJson": "false"
},
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"full_name": "main.default.mytable",
"data_access_configuration_id": "00000000-0000-0000-0000-000000000000",
"created_at": 1656371992807,
"created_by": "someone@example.com",
"updated_at": 1656371992807,
"updated_by": "someone@example.com",
"table_id": "12a345b6-7890-1cd2-3456-e789f0a12b34"
},
{
"...": "..."
}
]
}

Listar resumos das tabelas disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog tables list-summaries --help.

Bash
databricks unity-catalog tables list-summaries --catalog-name main

Saída:

JSON
{
"tables": [
{
"full_name": "main.default.mytable",
"table_type": "MANAGED"
},
{
"...": "..."
}
]
}

Obter informações sobre uma tabela

Para exibir a documentação de uso, execute databricks unity-catalog tables get --help.

Bash
databricks unity-catalog tables get --full-name main.default.mytable

Saída:

JSON
{
"name": "mytable",
"catalog_name": "main",
"schema_name": "default",
"table_type": "MANAGED",
"data_source_format": "DELTA",
"columns": [
{
"name": "id",
"type_text": "int",
"type_json": "{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}",
"type_name": "INT",
"type_precision": 0,
"type_scale": 0,
"position": 0,
"nullable": true
},
{
"name": "name",
"type_text": "string",
"type_json": "{\"name\":\"name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}}",
"type_name": "STRING",
"type_precision": 0,
"type_scale": 0,
"position": 1,
"nullable": true
},
{
"name": "age",
"type_text": "int",
"type_json": "{\"name\":\"age\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}",
"type_name": "INT",
"type_precision": 0,
"type_scale": 0,
"position": 2,
"nullable": true
}
],
"storage_location": "s3://my-bucket/abcdefghij/12a345b6-7890-1cd2-3456-e789f0a12b34/tables/12a345b6-7890-1cd2-3456-e789f0a12b34",
"owner": "someone@example.com",
"properties": {
"delta.lastCommitTimestamp": "1656371979000",
"delta.lastUpdateVersion": "0",
"delta.minWriterVersion": "2",
"delta.minReaderVersion": "1",
"delta.checkpoint.writeStatsAsStruct": "true",
"delta.checkpoint.writeStatsAsJson": "false"
},
"metastore_id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"full_name": "main.default.mytable",
"data_access_configuration_id": "00000000-0000-0000-0000-000000000000",
"created_at": 1656371992807,
"created_by": "someone@example.com",
"updated_at": 1656371992807,
"updated_by": "someone@example.com",
"table_id": "12a345b6-7890-1cd2-3456-e789f0a12b34"
}

Excluir uma tabela

Para exibir a documentação de uso, execute databricks unity-catalog tables delete --help.

Bash
databricks unity-catalog tables delete --full-name main.default.mytable

Se a operação for bem-sucedida, nenhum resultado será retornado.

Linhagens

Use o subcomando unity-catalog lineage para trabalhar com linhagens de tabelas e colunas.

Para exibir a documentação de uso, execute databricks unity-catalog lineage --help.

Listar a linhagem de uma tabela

Para exibir a documentação de uso, execute databricks unity-catalog lineage table --help.

Bash
databricks unity-catalog lineage table --table-name main.default.mytable \
--level 1

Listar a linhagem de uma coluna

Para exibir a documentação de uso, execute databricks unity-catalog lineage column --help.

Bash
databricks unity-catalog lineage column --table-name main.default.mytable \
--column-name id

Permissões

Use o subcomando unity-catalog permissions para trabalhar com permissões para objetos protegíveis. Consulte também gerenciar privilégios em Unity Catalog.

Para exibir a documentação de uso, execute databricks unity-catalog permissions --help.

Obter informações sobre permissões para um objeto seguro

Para exibir a documentação de uso, execute databricks unity-catalog permissions get --help. Consulte também privilégios e objetos protegidos do Unity Catalog.

Bash
databricks unity-catalog permissions get --catalog main

Saída:

JSON
{
"privilege_assignments": [
{
"principal": "account users",
"privileges": ["USE CATALOG"]
}
]
}

Esquema

Bash
databricks unity-catalog permissions get --schema main.default

Saída:

JSON
{
"privilege_assignments": [
{
"principal": "account users",
"privileges": ["USE SCHEMA"]
}
]
}

Tabela

Bash
databricks unity-catalog permissions get --table main.default.mytable

Saída:

JSON
{
"privilege_assignments": [
{
"principal": "account users",
"privileges": ["SELECT"]
}
]
}

Credencial de armazenamento

Bash
databricks unity-catalog permissions get --storage-credential my-storage-root-credential

Saída:

JSON
{
"privilege_assignments": [
{
"principal": "account users",
"privileges": ["READ_FILES"]
}
]
}

Localização externa

Bash
databricks unity-catalog permissions get --external-location my-external-location

Saída:

JSON
{
"privilege_assignments": [
{
"principal": "account users",
"privileges": ["READ_FILES"]
}
]
}

Atualizar as permissões de um objeto protegível

Para exibir a documentação de uso, execute databricks unity-catalog permissions update --help. Consulte também privilégios e objetos protegidos do Unity Catalog.

Catálogo

Bash
databricks unity-catalog permissions update --catalog \
--json-file update-catalog-permissions.json

update-catalog-permissions.json:

JSON
{
"changes": [
{
"principal": "account users",
"add": ["USE CATALOG"],
"remove": ["CREATE SCHEMA"]
}
]
}

Esquema

Bash
databricks unity-catalog permissions update --schema \
--json-file update-schema-permissions.json

update-schema-permissions.json:

JSON
{
"changes": [
{
"principal": "account users",
"add": ["USE SCHEMA"],
"remove": ["CREATE TABLE"]
},
{
"principal": "admin team",
"add": ["CREATE TABLE"]
}
]
}

Tabela

Bash
databricks unity-catalog permissions update --table \
--json-file update-table-permissions.json

update-table-permissions.json:

JSON
{
"changes": [
{
"principal": "account users",
"add": ["SELECT"],
"remove": ["MODIFY"]
},
{
"principal": "admin team",
"add": ["ALL"]
}
]
}

Credencial de armazenamento

Bash
databricks unity-catalog permissions update --storage-credential \
--json-file update-storage-credential-permissions.json

update-storage-credential-permissions.json:

JSON
{
"changes": [
{
"principal": "account users",
"remove": ["READ FILES"]
},
{
"principal": "storage team",
"add": ["READ FILES", "WRITE FILES", "CREATE EXTERNAL TABLE"]
},
{
"principal": "admin team",
"add": ["ALL"]
}
]
}

Localização externa

Bash
databricks unity-catalog permissions update --external-location \
--json-file update-external-location-permissions.json

update-external-location-permissions.json:

JSON
{
"changes": [
{
"principal": "account users",
"remove": ["READ FILES"]
},
{
"principal": "storage team",
"add": ["READ FILES", "WRITE FILES", "CREATE EXTERNAL TABLE"]
},
{
"principal": "admin team",
"add": ["ALL"]
}
]
}

Ações

Use o subcomando unity-catalog shares para trabalhar com compartilhamentos, que são objetos que contêm coleções de tabelas em um metastore do Unity Catalog habilitado para Delta Sharing que o senhor deseja compartilhar como um grupo com destinatários do Delta Sharing. Um compartilhamento pode conter tabelas de apenas um único metastore. Consulte Criar e gerenciar compartilhamentos para o Delta Sharing.

Para exibir a documentação de uso, execute databricks unity-catalog shares --help.

Crie um compartilhamento

Para exibir a documentação de uso, execute databricks unity-catalog shares create --help. Consulte também Criar e gerenciar compartilhamentos para o Delta Sharing.

Bash
databricks unity-catalog shares create --name my-share

Saída:

JSON
{
"name": "my-share",
"created_at": 1656433327533,
"created_by": "someone@example.com",
"owner": "someone@example.com"
}

Atualizar as configurações de um compartilhamento

Para exibir a documentação de uso, execute databricks unity-catalog shares update --help. Consulte também Atualizar compartilhamentos.

Adicionar uma tabela a um compartilhamento

Bash
databricks unity-catalog shares update --name my-share \
--add-table main.default.mytable

Saída:

JSON
{
"name": "my-share",
"objects": [
{
"name": "main.default.mytable",
"data_object_type": "TABLE",
"added_at": 1656434168847,
"added_by": "someone@example.com",
"shared_as": "default.mytable",
"cdf_enabled": false
}
],
"created_at": 1656433327533,
"created_by": "someone@example.com",
"owner": "someone@example.com"
}

Consulte também Adicionar tabelas a um compartilhamento.

Remover uma tabela de um compartilhamento

Bash
databricks unity-catalog shares update --name my-share \
--remove-table main.default.mytable

Saída:

JSON
{
"name": "my-share",
"created_at": 1656433327533,
"created_by": "someone@example.com",
"owner": "someone@example.com"
}

Consulte também Adicionar tabelas a um compartilhamento.

Atualizar as permissões de um compartilhamento

Para exibir a documentação de uso, execute databricks unity-catalog shares update-permissions --help. Consulte também gerenciar o acesso a Delta Sharing data shares (para provedores).

Bash
databricks unity-catalog shares update-permissions --name my-share \
--json-file update-share-permissions.json

update-share-permissions.json:

JSON
{
"privilege_assignments": [
{
"principal": "my-recipient",
"privileges": ["SELECT"]
}
]
}

Listar ações disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog shares list --help. Veja também visualizar ações e detalhes de ações.

Bash
databricks unity-catalog shares list

Saída:

JSON
{
"shares": [
{
"name": "my-share",
"created_at": 1656433327533,
"created_by": "someone@example.com",
"owner": "someone@example.com"
},
{
"...": "..."
}
]
}

Obter informações sobre uma ação

Para exibir a documentação de uso, execute databricks unity-catalog shares get --help. Veja também visualizar ações e detalhes de ações.

Bash
databricks unity-catalog shares get --name my-share

Saída:

JSON
{
"name": "my-share",
"created_at": 1656433327533,
"created_by": "someone@example.com",
"owner": "someone@example.com"
}

Listar as permissões de um compartilhamento

Para exibir a documentação de uso, execute databricks unity-catalog shares list-permissions --help. Veja também como visualizar os destinatários que têm permissões em um compartilhamento.

Bash
databricks unity-catalog shares list-permissions --name my-share

Saída:

JSON
{
"privilege_assignments": [
{
"principal": "my-recipient",
"privileges": ["SELECT"]
}
]
}

Excluir um compartilhamento

Para exibir a documentação de uso, execute databricks unity-catalog shares delete --help. Consulte também Excluir um compartilhamento.

Bash
databricks unity-catalog shares delete --name my-share

Se a operação for bem-sucedida, nenhum resultado será retornado.

Destinatários

Use o subcomando unity-catalog recipients para trabalhar com destinatários de dados para metastores do Unity Catalog habilitados para Delta Sharing. Os destinatários de dados são pessoas ou grupos com os quais um usuário do Databricks compartilha dados fora da organização do usuário do Databricks. Consulte Criar e gerenciar destinatários de dados para Delta Sharing (Databricks-to-Databricks compartilhamento).

Para exibir a documentação de uso, execute databricks unity-catalog recipients --help.

Crie um destinatário

Para exibir a documentação de uso, execute databricks unity-catalog recipients create --help. Consulte também Criar e gerenciar destinatários de dados para Delta Sharing (Databricks-to-Databricks compartilhamento).

Para gerar um novo URL de ativação para um destinatário, execute databricks unity-catalog recipients rotate-token. Para obter um exemplo, consulte Girar os tokens de um destinatário.

Bash
databricks unity-catalog recipients create --name my-recipient

Saída:

JSON
{
"name": "my-recipient",
"created_at": 1656435288003,
"created_by": "someone@example.com",
"tokens": [
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656435288005,
"created_by": "someone@example.com",
"activation_url": "https://example.com/delta_sharing/retrieve_config.html?<unique-id>",
"expiration_time": 1656521688006,
"updated_at": 1656435288006,
"updated_by": "someone@example.com"
}
],
"authentication_type": "TOKEN",
"updated_at": 1656435288003,
"updated_by": "someone@example.com",
"owner": "someone@example.com"
}

Alterar as configurações de um destinatário

Para exibir a documentação de uso, execute databricks unity-catalog recipients update --help.

Bash
databricks unity-catalog recipients update --name my-recipient \
--json-file update-recipient-settings.json

update-recipient-settings.json:

JSON
{
"name": "my-recipient-2"
}

Saída:

JSON
{
"name": "my-recipient-2",
"created_at": 1656435288003,
"created_by": "someone@example.com",
"tokens": [
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656435288005,
"created_by": "someone@example.com",
"expiration_time": 1656436808507,
"updated_at": 1656435908507,
"updated_by": "someone@example.com"
},
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656435908509,
"created_by": "someone@example.com",
"activation_url": "https://example.com/delta_sharing/retrieve_config.html?<unique-id>",
"expiration_time": 1656522308510,
"updated_at": 1656435908510,
"updated_by": "someone@example.com"
}
],
"authentication_type": "TOKEN",
"updated_at": 1656436740986,
"updated_by": "someone@example.com",
"owner": "someone@example.com"
}

Girar os tokens de um destinatário

Para exibir a documentação de uso, execute databricks unity-catalog recipients rotate-token --help. Veja também gerenciar destinatário tokens.

Bash
databricks unity-catalog recipients rotate-token --name my-recipient \
--existing-token-expire-in-seconds 900

Saída:

JSON
{
"name": "my-recipient",
"created_at": 1656435288003,
"created_by": "someone@example.com",
"tokens": [
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656435288005,
"created_by": "someone@example.com",
"expiration_time": 1656436808507,
"updated_at": 1656435908507,
"updated_by": "someone@example.com"
},
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656435908509,
"created_by": "someone@example.com",
"activation_url": "https://example.com/delta_sharing/retrieve_config.html?<unique-id>",
"expiration_time": 1656522308510,
"updated_at": 1656435908510,
"updated_by": "someone@example.com"
}
],
"authentication_type": "TOKEN",
"updated_at": 1656435288003,
"updated_by": "someone@example.com",
"owner": "someone@example.com"
}

Listar destinatários disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog recipients list --help. Veja também visualizar destinatários.

Bash
databricks unity-catalog recipients list

Saída:

JSON
{
"recipients": [
{
"name": "my-recipient",
"created_at": 1656435288003,
"created_by": "someone@example.com",
"tokens": [
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656435288005,
"created_by": "someone@example.com",
"activation_url": "https://example.com/delta_sharing/retrieve_config.html?<unique-id>",
"expiration_time": 1656521688006,
"updated_at": 1656435288006,
"updated_by": "someone@example.com"
}
],
"authentication_type": "TOKEN",
"updated_at": 1656435288003,
"updated_by": "someone@example.com",
"owner": "someone@example.com"
}
]
}

Listar as permissões de compartilhamento de um destinatário

Para exibir a documentação de uso, execute databricks unity-catalog recipients list-permissions --help. Veja também como visualizar as permissões de compartilhamento de um destinatário.

Bash
databricks unity-catalog recipients list-permissions --name my-recipient

Saída:

JSON
{
"permissions_out": [
{
"share_name": "my-share",
"privilege_assignments": [
{
"privileges": ["SELECT"]
}
]
}
]
}

Obter informações sobre um destinatário

Para exibir a documentação de uso, execute databricks unity-catalog recipients get --help. Veja também os detalhes do destinatário.

Bash
databricks unity-catalog recipients get --name my-recipient

Saída:

JSON
{
"name": "my-recipient",
"created_at": 1656435288003,
"created_by": "someone@example.com",
"tokens": [
{
"id": "12a345b6-7890-1cd2-3456-e789f0a12b34",
"created_at": 1656435288005,
"created_by": "someone@example.com",
"activation_url": "https://example.com/delta_sharing/retrieve_config.html?<unique-id>",
"expiration_time": 1656521688006,
"updated_at": 1656435288006,
"updated_by": "someone@example.com"
}
],
"authentication_type": "TOKEN",
"updated_at": 1656435288003,
"updated_by": "someone@example.com",
"owner": "someone@example.com"
}

Excluir um destinatário

Para exibir a documentação de uso, execute databricks unity-catalog recipients delete --help. Consulte também Excluir um destinatário.

Bash
databricks unity-catalog recipients delete --name my-recipient

Se a operação for bem-sucedida, nenhum resultado será retornado.

Provedores

Se o senhor for um destinatário de dados compartilhados do Delta Sharing, use o subcomando unity-catalog providers para trabalhar com os provedores de dados do Delta Sharing. Consulte gerenciar Delta Sharing providers (para destinatários de dados).

Para exibir a documentação de uso, execute databricks unity-catalog providers --help.

Crie um provedor

Se o senhor for um destinatário de dados compartilhados usando o protocolo de compartilhamento aberto e estiver usando um Databricks workspace que esteja anexado a um metastore Unity Catalog, poderá criar um objeto de provedor no metastore Unity Catalog. O senhor pode então gerenciar o acesso ao uso compartilhado de dados Unity Catalog.

important

Esse cenário é raro. Se o senhor estiver usando um Databricks workspace habilitado para Unity Catalog e outro cliente Databricks estiver compartilhando dados com o senhor, ele deverá usar o Databricks-to-Databricks compartilhamento. Com o Databricks-to-Databricks compartilhamento, os objetos do provedor são criados para o senhor em Unity Catalog.

Para criar um provedor, você deve:

Execute o comando a seguir, substituindo my-provider pelo nome que deseja dar ao provedor e config.share pelo caminho do arquivo de credenciais de downloads, denominado config.share por default.

Bash
databricks unity-catalog providers create --name my-provider  \
--recipient-profile-json-file config.share

Atualizar as configurações de um provedor

Para exibir a documentação de uso, execute databricks unity-catalog providers update --help.

Bash
databricks unity-catalog providers update --name my-provider \
--new-name my-provider-2

Listar fornecedores disponíveis

Para exibir a documentação de uso, execute databricks unity-catalog providers list --help.

Bash
databricks unity-catalog providers list

Obter informações sobre um provedor

Para exibir a documentação de uso, execute databricks unity-catalog providers get --help.

Bash
databricks unity-catalog providers get --name my-provider

Listar as ações disponíveis de um provedor

Para exibir a documentação de uso, execute databricks unity-catalog providers list-shares --help.

Bash
databricks unity-catalog providers list-shares --name my-provider

Excluir um provedor

Para exibir a documentação de uso, execute databricks unity-catalog providers delete --help.

Bash
databricks unity-catalog providers delete --name my-provider

Se a operação for bem-sucedida, nenhum resultado será retornado.