3
respostas

[Reclamação] Erro ao criar tabelas

Comecei a fazer o curso e também criei minha conta na Azure, conseguindo os 30 dias com 200 dolares para usar, por causa da mudança do databricks free.
Porém esta muito dificil fazer esse curso desta maneira, por favor atualizem o curso para o modelo novo.
Estou preso em uma aula por que nao consigo criar uma tabela
Fica dando erro: [UC_FILE_SCHEME_FOR_TABLE_CREATION_NOT_SUPPORTED] Creating table in Unity Catalog with file scheme dbfs is not supported.
Instead, please create a federated data source connection using the CREATE CONNECTION command for the same table provider, then create a catalog based on the connection with a CREATE FOREIGN CATALOG command to reference the tables therein. SQLSTATE: 0AKUC

Aparentemente é algum erro entre o código que ensinam no databricks e o Azure.

O que pode ser feito, estou perdendo o tempo que tenho dos 30 dias, depois vou ter que colocar do meu bolso para fazer o curso.

3 respostas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá, Leonardo!

Esse erro ocorre porque o Unity Catalog não permite criar tabelas usando caminhos dbfs:/ diretamente. Atualmente, devido à uma atualização no UC, tabelas só podem ser armazenadas em Volumes gerenciados ou em External Locations configuradas com permissões adequadas.

Para resolver, você pode criar um Volume dentro de um catálogo e schema do Unity Catalog e, em seguida, apontar o LOCATION da tabela para o caminho desse Volume.

1. Criar o catálogo e o schema

Antes de criar o Volume, execute em uma célula SQL o comando de criação de catalog e schema. A sintaxe é:

CREATE CATALOG IF NOT EXISTS <nome_do_catalogo>;
CREATE SCHEMA IF NOT EXISTS <nome_do_catalogo>.<nome_do_schema>;

Substitua pelos nomes que você deseja. Por exemplo:

CREATE CATALOG IF NOT EXISTS dbaluradatabricks;
CREATE SCHEMA IF NOT EXISTS dbaluradatabricks.meu_schema;

O catálogo é a estrutura de mais alto nível no Unity Catalog, e dentro dele ficam os schemas, que organizam volumes e tabelas.

2. Criar o Volume

Agora, crie o Volume onde os arquivos da tabela serão armazenados. A sintaxe é:

CREATE VOLUME IF NOT EXISTS <catalog>.<schema>.<volume_name>;

Usando o exemplo acima:

CREATE VOLUME IF NOT EXISTS dbaluradatabricks.meu_schema.meu_volume;

No seu código basta substituir 'dbfs:/FileStore/tables/aula-databricks/usuarios/' pelo caminho do seu Volume.Por exemplo, com os comandos que usei anteriormente o meu ficaria: 'dbfs:/Volumes/dbaluradatabricks/meu_schema/meu_volume/'.

💡 Dica: O Databricks oferece uma demonstração interativa mostrando como Volumes funcionam e como criá-los pela própria interface (uma alternativa ao comando sql). O layout é bem parecido com o atual, mas em vez da aba Data, você deve acessar Catalog. Vale muito a pena explorar. Basta clicar em “Next” para acompanhar o passo a passo:

Conteúdos relacionados

Caso tenha dificuldades em algum passo, fico à disposição.
Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!