Partilhar via


Utilização do Lakebase com os Apps Databricks

Importante

O Autoscaling do Lakebase é a versão mais recente do Lakebase, com computação autoescalável, escala até zero, ramificação e restauração instantânea. Para regiões suportadas, consulte Disponibilidade de Regiões. Se é utilizador do Lakebase Provisioned, consulte Lakebase Provisioned.

As aplicações Databricks permitem-lhe construir e executar aplicações interativas diretamente no seu espaço de trabalho. Quando adicionas o Lakebase como recurso, o Databricks gere toda a cadeia de autenticação: cria-se um principal de serviço para a tua aplicação, recebe-se um papel Postgres correspondente, e os detalhes de ligação são injetados como variáveis de ambiente. A sua aplicação liga-se a uma base de dados Postgres totalmente gerida sem gerir credenciais ou cadeias de ligação.

Diagrama de arquitetura mostrando a integração com clientes, Databricks Apps e Lakebase

Este guia guia-o na implementação de uma aplicação modelo ligada a uma base de dados Lakebase. No final, terá uma aplicação em execução com dados que pode inspecionar e consultar diretamente do Lakebase, e opcionalmente registar no Unity Catalog juntamente com os dados do seu lakehouse.

Observação

Precisa de acesso a um espaço de trabalho Databricks com Lakebase ativado (contacte o administrador do seu espaço de trabalho se necessário), permissão para criar recursos de computação e aplicações, e familiaridade básica com Python e SQL.

Passo 1: Provisionar uma instância Lakebase

Um projeto Lakebase é uma instância Postgres gerida à qual a sua aplicação se liga como um recurso. Os projetos estão organizados em ramos, cada um representando um ambiente de base de dados isolado.

Antes de criar o seu projeto, certifique-se de que o seu espaço de trabalho tem computação serverless ativada. Se não conseguires fazer esta alteração por ti próprio, contacta o teu administrador.

Para criar um projeto: Ícone de aplicação. App switcher → LakebaseAutoscalingCriar projeto → aceitar predefinições

O seu projeto é criado com uma production branch e uma databricks_postgres base de dados.

Passo 2: Criar uma aplicação Databricks a partir do template

Os templates tratam da complexidade da infraestrutura por si: pooling de ligações, atualização de tokens OAuth e gestão de erros já estão integrados. Se precisares de uma aplicação totalmente personalizada, vê Escrever a tua própria.

Estão disponíveis três modelos de aplicação de tarefas com auto-escalabilidade para Lakebase: Dash, Flask e Streamlit. Navegue até Nova > Aplicação para abrir a interface de criação de aplicações e selecione o seu modelo preferido no separador Base de Dados .

Modelo de aplicação Flask + Lakebase com Autoscaling

Passo 3: Configurar o recurso da base de dados

Adicionar o Lakebase como recurso faz duas coisas: cria um principal de serviço com as permissões corretas para a base de dados e injeta os detalhes da tua ligação como variáveis de ambiente na aplicação. É isto que permite que o template se ligue automaticamente à tua base de dados, sem quaisquer strings de ligação no teu código.

No passo Configurar , selecione a base de dados e o tamanho de computação da sua aplicação. Para informações detalhadas sobre como adicionar recursos de base de dados, consulte Adicionar um recurso Lakebase a uma aplicação Databricks.

Configuração dos recursos da base de dados que mostra a seleção de projetos, ramos e bases de dados

Em Recursos da Aplicação, selecione o seu projeto, filial e base de dados Lakebase. Os nomes das ramificações aparecem como IDs: se aceitar os valores predefinidos na Etapa 1, terá apenas uma ramificação (production) para escolher. Para outros projetos ou para associar IDs a nomes, consulte a página das filiais do seu projeto.

Em Tamanho de Cálculo, para este guia estamos a selecionar Médio. Note que esta é a computação do servidor de aplicações, separada da computação da base de dados Lakebase , que escala de forma independente.

Passo 4: Rever autorizações

Cada aplicação Databricks funciona como o seu próprio principal de serviço, uma identidade dedicada separada de cada utilizador individual. Quando se liga o Lakebase como recurso, o Databricks cria automaticamente uma função Postgres correspondente para esse principal do serviço e concede ao principal do serviço da aplicação o acesso necessário à base de dados para conectar-se, criar o seu próprio esquema e ler e escrever dados, sem necessidade de configuração manual de funções.

Revisão de autorização que mostra permissões da entidade do serviço

A autorização do utilizador (Pré-visualização) permite que a sua aplicação atue em nome do utilizador autenticado, em vez da identidade do serviço próprio, o que é útil quando diferentes utilizadores devem aceder a dados diferentes com base nas suas permissões individuais. Para este modelo, não são necessários escopos adicionais de utilizador. Para permitir o acesso em nome do utilizador mais tarde, consulte Autorização do utilizador.

Passo 5: Nomeie a sua aplicação e instale

O nome da aplicação que escolhes aqui torna-se parte do nome do esquema que o Lakebase cria automaticamente na tua base de dados. O ID do cliente é o principal de serviço atribuído à sua aplicação, com hífens removidos. Podes renomear o esquema mais tarde no Lakebase, mas o nome da aplicação em si não pode ser alterado após a criação. O modelo é definido por defeito para lakebase-autoscaling-app.

App name:           lakebase-autoscaling-app

Service principal:  aeb6ff91-98ff-4752-af7d-fc6d4cf570d0

                                    ↓
                          (same ID, hyphens removed)

Schema name:        lakebase-autoscaling-app_schema_aeb6ff9198ff4752af7dfc6d4cf570d

Confirme ou altere o nome da aplicação, reveja a descrição pré-preenchida e, opcionalmente, defina uma política de utilização serverless. Clique em Instalar para criar a configuração da aplicação.

Passo 6: Implementar a aplicação

Depois de clicar em Instalar, o cálculo começa automaticamente e a sua aplicação é implementada sem qualquer ação adicional. Isto demora 2-3 minutos. Quando o estado da aplicação mostrar Em Execução, clique no URL ao lado para abrir a sua aplicação. Para o fluxo de trabalho completo de desenvolvimento, incluindo desenvolvimento local e redistribuição, consulte Desenvolver aplicações Databricks.

Visão geral da aplicação a mostrar Estado em execução e computação ativa

Use o botão Deploy para voltar a implementar depois de fazer alterações ao código. Se uma implementação falhar, verifique o separador Implantações . O passo que falhou (por exemplo, "Pacotes instalados" ou "Aplicação iniciada") indica-te onde procurar.

Passo 7: Verificar a integração

Abra a sua aplicação na URL fornecida e adicione algumas tarefas. No seu projeto Lakebase, abra Tabelas e selecione a tabela todos no esquema da sua aplicação. As suas linhas estão lá, escritas pelo serviço principal da aplicação utilizando os detalhes de ligação injetados do Passo 3.

Vista das Tabelas do Lakebase mostrando tarefas escritas pela app

Para executar consultas personalizadas sobre os dados, use o SQL Editor no seu projeto Lakebase. O Lakebase escala até zero após um período de inatividade, por isso, depois de um período afastado, pode encontrar que o primeiro pedido demora alguns segundos enquanto a base de dados aquece. Para outras opções de ligação, veja Ligação ao seu projeto Lakebase.

Passo 8: Consultar através do Catálogo Unity (opcional)

Por padrão, os dados do Lakebase da sua aplicação são acessíveis diretamente através das ligações Postgres. Registá-lo no Unity Catalog torna-o consultável juntamente com os seus dados do Lakehouse usando o Databricks SQL padrão, permitindo a junção entre as tabelas transacionais da sua aplicação e as tabelas Delta na mesma consulta.

Para se registar, abra o Explorador de Catálogos e crie um novo catálogo. Seleciona o Lakebase Postgres como tipo de catálogo, escolhe Autoscaling e seleciona o mesmo projeto e ramificação da tua aplicação. Consulte Registar a sua base de dados no Catálogo Unity para detalhes completos.

Depois de registado, note que os nomes dos esquemas no Unity Catalog preservam os hífens do nome da sua aplicação. Tanto os nomes do catálogo como os dos esquemas exigem delimitação por aspas invertidas.

SELECT * FROM `your-catalog-name`.`lakebase-autoscaling-app_schema_aeb6ff9198ff4752af7dfc6d4cf570d`.todos;

Saiba mais