7
respostas

Criação de tabela in Unit Catalog

Olá,

Estou tentando criar a tabela seguindo as orientações do treinamento, mas aparece a mensagem que o não é suportado criar uma tabela usando o Schema dbfs em Unit Catalog.

[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

Como devo alterar o código?

Obrigada!

7 respostas

Ei, Luciana! Tudo bem?

Por gentileza, poderia compartilhar o print do seu código? Dessa forma consigo visualizar como ele está e como podemos fazer a alteração que resolva o erro que está tendo.

Fico no aguardo.

Até logo, Luciana!

Oi, Nathalia,

Comigo tudo certinho!

Segue a tela com o erro comentado. Como estou com a ver são Free Edition não é possível criar a tabela e salvar direto no DBFS, preciso criar o catalog e indicar o caminho . Por favor, vc me auxilia com a localização deste caminho?
Obrigada!!

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

Ei, Luciana! Agradeço o retorno.

Antes de tudo, peço que verifique se você ativou certinho a funcionalidade de DBS File browser para facilitar o gerenciamento de arquivos, como na atividade:

Painel de configurações para habilitar ou desabilitar o Navegador de Arquivos DBFS em um espaço de trabalho, destacado em vermelho com opções em português

Feito isso, pode aceitar a sugestão que o próprio notebook está sugerindo - adicionar o dbsf: antes do caminho. Ficando assim:

%sql
CREATE TABLE usuarios(
  idade int,
  estado string,
  salario float
)
  ROW FORMAT DELIMITED 
    FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\n'
  STORED AS textfile
  LOCATION 'dbfs:/FileStore/tables/aula-databricks/usuarios/'

Lembrando que esse caminho existir e está funcionando.

Espero ter ajudado e qualquer dúvida, conte comigo para te ajudar.

Até mais, Luciana!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!

Olá, Nathalia,

O DBFS já estava habilitado também.
E o caminho também está certo, usei a opção de Copiar o caminho.

Até já!

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

Ei, Luciana!

Ótimo, mas não consegui entender na sua última mensagem se deu certo ou não adicionando o dbfs antes do caminho, como sugerido. Não rodou a criação da tabela? Deu algum erro? Se a resposta for sim, compartilhe a imagem com o código rodado e o erro que apareceu depois de rodar LOCATION 'dbfs:/FileStore/tables/aula-databricks/usuarios/', por favor.

Até mais!

Oi, Nathalia,

Ainda não deu certo criar a tabela, vou colocar com mais detalhe os erros e dúvidas.

  1. A opção DBFS File Browser já estava habilitada desde a criação do cluster, então não era esse o problema.
  2. Quanto a substituir o path do Location também ñ é suficiente, segue aparecendo a mensagem que precisa criar o Catalog.
    Ou seja, usando o LOCATION 'dbfs:/FileStore/tables/aula-databricks/usuarios/' ou LOCATION '/FileStore/tables/aula-databricks/usuarios/', ambos dão o mesmo erro como abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
É apresentado que não é suportado o uso do DBFS na criação de uma tabela no Unity Catalog. E que ao invés disso, usar o CREATE CONNECTION e depois o CREATE FOREIGN CATALOG.
A sugestão de correção do Assistent foi o código abaixo, mas segue com erro.
Agora o erro é o Type: 'fs' do arquivo, mesmo especificando o Type na criação da conexão.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Já viu esse erro?

Obrigada!!

Aqui tá dando a mesma coisa...

%sql
CREATE TABLE usuarios(
  idade int,
  estado string,
  salario float
)
  ROW FORMAT DELIMITED 
    FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\n'
  STORED AS textfile
  LOCATION 'dbfs:/FileStore/tables/aula-databricks/usuarios/'
[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