O que são esquemas lakehouse (versão prévia)?
O lakehouse é compatível com a criação de esquemas personalizados. Os esquemas permitem agrupar as tabelas para melhorar a descoberta de dados, o controle de acesso e muito mais.
Criar um esquema lakehouse
Para habilitar o suporte a esquemas para lakehouse, marque a caixa ao lado de Esquemas lakehouse (Visualização Pública) ao criá-lo.
Importante
Os nomes dos espaços de trabalho devem conter apenas caracteres alfanuméricos devido a limitações da versão prévia. Quando caracteres especiais são usados em nomes de espaços de trabalho, alguns dos recursos do Lakehouse não funcionam.
Depois de criar o lakehouse, encontre um esquema padrão chamado dbo em Tabelas. Esse esquema está sempre nesse local e não pode ser alterado ou removido. Para criar um esquema, passe o mouse sobre Tabelas, selecione ... e escolha Novo esquema. Dê um nome para o esquema e selecione Criar. O esquema aparecerá na lista em Tabelas, em ordem alfabética.
Armazenar tabelas em esquemas lakehouse
É necessário um nome de esquema para armazenar uma tabela em um esquema. Caso contrário, ela vai para o esquema dbo padrão.
df.write.mode("Overwrite").saveAsTable("contoso.sales")
Use o Lakehouse Explorer para organizar as tabelas e arrastar e soltar nomes de tabelas em diferentes esquemas.
Cuidado
Ao modificar a tabela, também é necessário atualizar os itens relacionados, como código de notebook ou fluxos de dados, para garantir que estejam alinhados com o esquema correto.
Trazer várias tabelas com atalho de esquema
Para fazer referência a várias tabelas Delta de outro lakehouse do Fabric ou armazenamento externo, use o atalho de esquema que exibe todas as tabelas no esquema ou pasta que você selecionou. Todas as alterações nas tabelas no local de origem também aparecem no esquema. Para criar um atalho de esquema, passe o mouse sobre Tabelas, selecione ... e escolha Novo atalho de esquema. Em seguida, selecione um esquema em outro lakehouse ou uma pasta com tabelas Delta no armazenamento externo, como o ADLS (Azure Data Lake Storage) Gen2. A seleção cria um novo esquema com as tabelas referenciadas.
Acessar esquemas lakehouse para relatórios do Power BI
Para criar seu modelo semântico, basta escolher as tabelas que deseja usar. As tabelas podem estar em esquemas diferentes. Quando as tabelas de esquemas diferentes compartilham o mesmo nome, números aparecem ao lado dos nomes das tabelas na visualização do modelo.
Esquemas lakehouse no notebook
No lakehouse com esquema habilitado no pesquisador de objetos do notebook, as tabelas estão em esquemas. É possível arrastar e soltar a tabela em uma célula de código e obter um snippet de código que faz referência ao esquema em que a tabela está localizada. Use este namespace para fazer referência a tabelas em seu código: "workspace.lakehouse.schema.table". Quando você omite um dos elementos, o executor usa a configuração padrão. Por exemplo, quando apenas o nome da tabela é fornecido, o executor usa o esquema padrão (dbo) do lakehouse padrão para o notebook.
Importante
Para usar esquemas em seu código, garanta que o lakehouse padrão para o notebook tenha os esquemas habilitados.
Consultas SQL do Spark entre espaços de trabalho
Use o namespace “workspace.lakehouse.schema.table” para fazer referência a tabelas em seu código. Dessa forma, é possível unir tabelas de diferentes espaços de trabalho quando o usuário que executa o código tem permissão para acessar as tabelas.
SELECT *
FROM operations.hr.hrm.employees as employees
INNER JOIN global.corporate.company.departments as departments
ON employees.deptno = departments.deptno;
Importante
Una as tabelas somente de lakehouses que tenham esquemas habilitados. A união de tabelas de lakehouses que não têm esquemas habilitados não funcionará.
Limitações da visualização pública
Os recursos/funcionalidades sem suporte listados abaixo são para a versão atual da visualização pública. Eles serão resolvidos nas próximas versões antes da disponibilidade geral.
Recursos/funcionalidade sem suporte | Observações |
---|---|
Lakehouse compartilhado | O uso do espaço de trabalho no namespace para lakehouses compartilhadas não funcionará, por exemplo, wokrkspace.sharedlakehouse.schema.table. O usuário deve ter uma função de espaço de trabalho para usá-lo no namespace. |
Esquema de tabela gerenciada não Delta | Não há suporte para a obtenção de esquema para tabelas gerenciadas não Delta formatadas (por exemplo, CSV). A expansão dessas tabelas no Lakehouse Explorer não mostra nenhuma informação de esquema na experiência do usuário. |
Tabelas Spark externas | Não há suporte para operações de tabela externas do Spark (por exemplo, descoberta, obtenção de esquema etc.). Essas tabelas não são identificadas na experiência do usuário. |
API pública | As APIs públicas (tabelas de lista, tabela de carregamento, exposição da propriedade estendida defaultSchema etc.) não são compatíveis com Lakehouse com esquemas habilitados. As APIs públicas existentes chamadas em um Lakehouse com esquemas habilitados resultam em um erro. |
Manutenção de tabela | Não há suporte. |
Atualizar as propriedades do arquivo | Não há suporte. |
Nome do espaço de trabalho contendo caracteres especiais | Não há suporte para espaço de trabalho com caracteres especiais (por exemplo, espaço, barras). É exibido um erro de usuário. |
Exibições do Spark | Não há suporte. |
Recursos específicos do Hive | Não há suporte. |
API do Spark.catalog | Não há suporte. Em vez disso, use o SQL do Spark. |
USE <schemaName> |
Não funciona entre espaço de trabalho, mas tem suporte no mesmo espaço de trabalho. |
Migração | Não há suporte para a migração de Lakehouses existentes sem esquema para Lakehouses baseados em esquema. |