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.

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
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;

Você pode visualizar esse volume na aba Data da interface do Databricks. E copiar o caminho exato do volume
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Esse é o caminho que você deve usar no LOCATION. 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). Recomendo fortemente que você explore, basta clicar em “Next” para visualizar 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!