Fala mano @Iesus Magdiel Gonçalves Franco, joguei seu problema no GPT, veja se te ajuda ou te da uma direção.
Esse erro está relacionado ao uso do Unity Catalog no Databricks, especificamente quando você tenta criar uma tabela utilizando um caminho de sistema de arquivos BFS (Blob File System), que não é suportado diretamente pelo Unity Catalog. O erro que você recebeu é:
AnalysisException: [UC FILE SCHEME FOR TABLE CREATION NOT SUPPORTED] Creating table in Unity Catalog with file scheme bfs 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.
Para corrigir esse problema, você deve seguir as instruções fornecidas na mensagem de erro e criar uma conexão federada para referenciar os dados corretamente. Aqui estão os passos detalhados para resolver isso:
Criar uma conexão federada: Primeiro, crie uma conexão federada usando o comando CREATE CONNECTION. Isso cria uma conexão que o Unity Catalog pode usar para acessar os dados armazenados no caminho do BFS.
CREATE CONNECTION my_data_lake
USING 'abfss://<your-container>@<your-storage-account>.dfs.core.windows.net/';
Criar um catálogo baseado na conexão: Em seguida, use o comando CREATE FOREIGN CATALOG para criar um catálogo que referencia essa conexão.
CREATE FOREIGN CATALOG my_catalog
USING CONNECTION my_data_lake;
Referenciar a tabela: Depois de criar o catálogo, você pode referenciar suas tabelas usando este catálogo.
CREATE TABLE my_catalog.base_cnpj.socios_table
USING PARQUET
LOCATION 'abfss://<your-container>@<your-storage-account>.dfs.core.windows.net/<path-to-your-parquet-file>';
Exemplo Completo
Se os caminhos e detalhes específicos para seu armazenamento fossem, por exemplo:
Container: datalake-container
Conta de armazenamento: mystorageaccount
Caminho para o arquivo Parquet: gold/SOCIOS_external
Você faria o seguinte:
-- Crie a conexão federada
CREATE CONNECTION my_data_lake
USING 'abfss://datalake-container@mystorageaccount.dfs.core.windows.net/';
-- Crie o catálogo estrangeiro baseado na conexão
CREATE FOREIGN CATALOG my_catalog
USING CONNECTION my_data_lake;
-- Crie a tabela referenciando o arquivo Parquet
CREATE TABLE my_catalog.base_cnpj.socios_table
USING PARQUET
LOCATION 'abfss://datalake-container@mystorageaccount.dfs.core.windows.net/gold/SOCIOS_external';
Certifique-se de substituir <your-container>, <your-storage-account>, e <path-to-your-parquet-file> pelos valores específicos do seu ambiente. Isso deve resolver o problema de criar a tabela no Unity Catalog usando o caminho BFS.