O que são esquemas lakehouse (Preview)?
Lakehouse suporta a criação de esquemas personalizados. Os esquemas permitem agrupar suas tabelas para melhor descoberta de dados, controle de acesso e muito mais.
Criar um esquema lakehouse
Para habilitar o suporte a esquemas para sua lakehouse, marque a caixa ao lado de Lakehouse schemas (Public Preview) ao criá-la.
Importante
Os nomes dos espaços de trabalho devem conter apenas caracteres alfanuméricos devido a limitações de visualização. Se caracteres especiais forem usados em nomes de espaços de trabalho, alguns dos recursos do Lakehouse não funcionarão.
Depois de criar a casa do lago, você pode encontrar um esquema padrão chamado dbo em Tabelas. Este esquema está sempre lá e não pode ser alterado ou removido. Para criar um novo esquema, passe o mouse sobre Tabelas, selecione ..., e escolha Novo esquema. Digite o nome do esquema e selecione Criar. Você verá seu esquema listado em Tabelas em ordem alfabética.
Armazenar tabelas em esquemas lakehouse
Você precisa de um nome de esquema para armazenar uma tabela em um esquema. Caso contrário, ele vai para o esquema dbo padrão.
df.write.mode("Overwrite").saveAsTable("contoso.sales")
Você pode usar o Lakehouse Explorer para organizar suas tabelas e arrastar e soltar nomes de tabelas em esquemas diferentes.
Atenção
Se você modificar a tabela, também deverá atualizar itens relacionados, como código de bloco de anotações ou fluxos de dados, para garantir que eles estejam alinhados com o esquema correto.
Traga várias tabelas com atalho de esquema
Para fazer referência a várias tabelas Delta de outro Fabric lakehouse ou armazenamento externo, use o atalho de esquema que exibe todas as tabelas sob o esquema ou pasta escolhidos. Quaisquer 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 em seu armazenamento externo, como o Azure Data Lake Storage (ADLS) Gen2. Isso cria um novo esquema com suas tabelas referenciadas.
Acessar esquemas lakehouse para relatórios do Power BI
Para criar o seu modelo semântico, basta escolher as tabelas que pretende utilizar. As tabelas podem estar em esquemas diferentes. Se tabelas de esquemas diferentes compartilharem o mesmo nome, você verá números ao lado de nomes de tabelas quando estiver na visualização de modelo.
Esquemas Lakehouse no caderno
Quando você olha para um lakehouse habilitado para esquema no explorador de objetos do bloco de anotações, você vê que as tabelas estão em esquemas. Você pode arrastar e soltar a tabela em uma célula de código e obter um trecho de código que se refere ao esquema onde a tabela está localizada. Use este namespace para se referir a tabelas em seu código: "workspace.lakehouse.schema.table". Se você deixar de fora qualquer um dos elementos, o executor usa a configuração padrão. Por exemplo, se você fornecer apenas o nome da tabela, ele usará o esquema padrão (dbo) do lakehouse padrão para o bloco de anotações.
Importante
Se você quiser usar esquemas em seu código, certifique-se de que o lakehouse padrão para o bloco de anotações esteja habilitado para esquema.
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, você pode unir tabelas de diferentes espaços de trabalho se o usuário que executa o código tiver 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
Certifique-se de unir tabelas somente de lakehouses que tenham esquemas habilitados. Unir tabelas de casas de lagos que não têm esquemas habilitados não funcionará.
Limitações da pré-visualização pública
Os recursos/funcionalidades não suportados 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.
Funcionalidades/funcionalidades não suportadas | Notas |
---|---|
Casa de lago compartilhada | Usar o espaço de trabalho no namespace para lakehouses compartilhadas não funcionará, por exemplo, wokrkspace.sharedlakehouse.schema.table. O usuário deve ter a função de espaço de trabalho para usar o espaço de trabalho no namaspace. |
Esquema de tabela não delta e gerenciado | Não há suporte para a obtenção de esquema para tabelas gerenciadas e não formatadas em Delta (por exemplo, CSV). Expandir essas tabelas no lakehouse explorer não mostra nenhuma informação de esquema na UX. |
Mesas de faísca externas | Não há suporte para operações externas da tabela Spark (por exemplo, descoberta, obtenção de esquema, etc.). Essas tabelas não são identificadas na UX. |
API pública | APIs públicas (Listar tabelas, Carregar tabela, expor a propriedade estendida defaultSchema, etc.) não são suportadas para o Lakehouse habilitado para esquema. APIs públicas existentes chamadas em um esquema habilitado para Lakehouse resulta em um erro. |
Manutenção de tabelas | Não suportado. |
Atualizar propriedades da tabela | Não suportado. |
Nome do espaço de trabalho contendo caracteres especiais | Espaço de trabalho com caracteres especiais (por exemplo, espaço, barras) não é suportado. Um erro do usuário é mostrado. |
Vistas faíscas | Não suportado. |
Características específicas do Hive | Não suportado. |
Spark.catalog API | Não suportado. Em vez disso, use o Spark SQL. |
USE <schemaName> |
Não funciona entre espaços 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 baseadas em esquema. |