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
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:
Caso tenha dificuldades em algum passo, fico à disposição.
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!