Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 uma estrutura do tipo lakehouse
Para permitir o suporte de esquemas para o seu lakehouse, mantenha a caixa ao lado de Lakehouse schemas assinalada ao criá-lo.
Observação
Se preferires criar uma casa de lago sem suporte de esquemas, podes desmarcar a caixa.
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. Vê o seu esquema listado em Tabelas por ordem alfabética.
Armazenar tabelas em esquemas de 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 modificar a tabela, também deve atualizar elementos relacionados, como o código do caderno ou fluxos de dados, para garantir que estão alinhados com o esquema correto.
Traga várias tabelas com atalho de esquema
Para referenciar múltiplas tabelas Delta de outro Fabric lakehouse ou armazenamento externo, use o atalho de esquema que exibe todas as tabelas dentro do esquema ou pasta escolhida. 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 noutra lakehouse ou uma pasta com tabelas Delta no seu armazenamento externo, como o Azure Data Lake Storage (ADLS) Gen2. Isso cria um novo esquema com suas tabelas referenciadas.
Aceder aos esquemas de 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 bloco de notas
Quando você olha para um lakehouse com suporte para esquemas no editor de notas, 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 apenas fornecer o nome da tabela, ele usará o esquema padrão (dbo) do lakehouse padrão para o notebook.
Importante
Se quiser usar esquemas no seu código, certifique-se de que o lakehouse predefinido para o notebook tem esquemas ativados ou que não há nenhum lakehouse predefinido selecionado.
Consultas SQL do Spark entre espaços de trabalho
Use o namespace "workspace.lakehouse.schema.table" para referenciar as tabelas no 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;
Referência a lakehouses sem esquema predefinido
Quando defines um lakehouse com esquema ou sem lakehouse como padrão no teu caderno, o código do Spark usa referência com esquema para tabelas. No entanto, ainda pode aceder a lakehouses sem esquemas ativados dentro do mesmo código, referindo-os como "lakehouse.table."
Além disso, é possível juntar mesas de diferentes tipos de casas de lago.
SELECT *
FROM workspace.schemalh.schema.table as schematable
INNER JOIN workspace.nonschemalh.table as nonschematable
ON schematable.id = nonschematable.id;
Para ajudar na transição e refatoração do código existente para lakehouses com suporte a esquema, é suportada a nomenclatura em quatro partes para lakehouses sem esquemas. Podes consultar tabelas como "workspace.lakehouse.dbo.table", onde "dbo" serve como nome do esquema — mesmo que ainda não exista num lakehouse sem suporte a esquemas. Esta abordagem permite-lhe atualizar o seu código sem qualquer tempo de inatividade antes de ativar o suporte de esquema nos seus lakehouses.
API para esquemas de lakehouse
Para criar uma plataforma de dados lakehouse com esquemas, use Create Lakehouse - API REST e especifique "enableSchemas": true no pedido creationPayload. Para listar tabelas, esquemas ou obter detalhes de tabelas, use as APIs de tabelas OneLake para a Delta.
Esquemas de habilitação para casas de lago existentes
Continuamos a suportar lakehouses sem esquema e estamos a trabalhar para alcançar a paridade completa de funcionalidades entre os dois tipos. É também suportada interoperabilidade total no Spark, permitindo consultar e unir diferentes tipos de casas de lago. Em breve, apresentaremos ferramentas para ajudar os clientes a fazer a transição dos seus lakehouses de versões sem esquema definido para versões com esquema definido, permitindo-lhe beneficiar de funcionalidades melhoradas sem precisar de mover dados ou sofrer interrupções.
Limitações atuais
Ainda existem algumas limitações nas casas de lago com esquema em Spark que estão a ser implementadas nos próximos meses.
| Funcionalidades/funcionalidades não suportadas | Solução |
|---|---|
| Perspetivas de inspiração | Utilizar Visões de Lago Materializadas. |
| Casa de lago compartilhada | Cria atalhos numa casa do lago com o papel de espaço de trabalho para as mesas partilhadas da casa do lago e acede a eles através dos atalhos. |
| Tabelas ADLS externas | Usa atalhos do OneLake. |
| Links Privados | Utilizar lakehouses sem um esquema predefinido. |
| Proteção de Trânsito de Outboubd | Utilizar lakehouses sem um esquema predefinido. |