Pular para o conteúdo principal

Utilizando Lakebase com Databricks Apps

info

Lakebase autoscale é a versão mais recente do Lakebase, com recursos como autoscale compute, escala-to-zero, branching e instant restore. Para regiões compatíveis, consulte Disponibilidade por região. Se você é usuário de provisionamento Lakebase , consulte ProvisionamentoLakebase.

Databricks Apps permite criar e implantar aplicativos interativos diretamente no seu workspace Databricks . Adicionar o Lakebase como um recurso fornece ao seu aplicativo um backend Postgres totalmente gerenciado. Databricks cria uma entidade de serviço para seu aplicativo, concede a ele uma função Postgres correspondente e injeta detalhes de conexão como variável de ambiente. Seu aplicativo se conecta a um banco de dados Postgres totalmente gerenciado, sem a necessidade de gerenciar credenciais ou strings de conexão.

Diagrama de arquitetura mostrando a integração entre o cliente, Databricks Apps e o LKB.

Este tutorial orienta você na implantação de um aplicativo padrão conectado a um banco de dados Lakebase . Ao final, você terá um aplicativo em execução com dados que poderá inspecionar e consultar diretamente do Lakebase e, opcionalmente, registrar no Unity Catalog junto com os dados do seu lakehouse .

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Acesso a um workspace Databricks com Lakebase e computeserverless habilitadas. Se necessário, entre em contato com o administrador do seu workspace .
  • Permissão para criar recursos compute e aplicativos.

o passo 1: provisionamento de uma instância Lakebase

Um projeto Lakebase é uma instância gerenciada do Postgres à qual seu aplicativo se conecta como um recurso. Os projetos são organizados em ramificações, cada uma representando um ambiente de banco de dados isolado.

Para criar um projeto Lakebase , consulte Introdução ao dimensionamento automático Lakebase. O Lakebase cria seu projeto com um branch production e um banco de dados databricks_postgres .

o passo 2: Criar um aplicativo Databricks

Databricks fornece três padrões de aplicativos de escalonamento automático que demonstram a integração Lakebase usando um aplicativo de tarefas: Dash, Flask e Streamlit. Para criar um aplicativo a partir de um padrão:

  1. No seu workspace Databricks , clique em Ícone do aplicativo. No seletor de aplicativos, selecione Databricks Apps .
  2. Clique em + Criar aplicativo .
  3. Selecione o padrão desejado na tab Banco de Dados .

Flask + aplicativo de escala automática LKB padrão

o passo 3: Configurar um recurso de banco de dados

Adicionar Lakebase como recurso cria uma entidade de serviço com as permissões de banco de dados corretas e injeta os detalhes de sua conexão como variável de ambiente no aplicativo. Isso permite que o Padrão se conecte ao seu banco de dados automaticamente, sem a necessidade strings de conexão no seu código.

Na tela Configurar o passo, configure as seguintes opções.

  1. Para o recurso de aplicativo , selecione seu projeto Lakebase , branch e banco de dados. Os nomes das filiais aparecem como IDs. Para associar IDs a nomes, consulte a página de branches do seu projeto.
  2. Para tamanho de computação , selecione Médio . Isso controla computedo servidor de aplicativos, que é separado do compute do banco de dados Lakebase e escala de forma independente.

Configuração do recurso de banco de dados mostrando a seleção de projeto, filial e banco de dados.

Para obter mais informações, consulte Adicionar um recurso Lakebase a um aplicativo Databricks.

o passo 4: Revisar autorizações

Cada aplicativo Databricks é executado como sua própria entidade de serviço, uma identidade dedicada separada de qualquer usuário individual. Ao conectar o Lakebase como um recurso, o Databricks cria uma função Postgres correspondente para essa entidade de serviço e concede a ela acesso total ao banco de dados. Não é necessário configurar manualmente nenhuma função.

Revisão de autorização mostrando as permissões da entidade de serviço.

Passo 5: Dê um nome ao seu aplicativo e instale-o.

O Lakebase usa o nome do aplicativo para gerar um nome de esquema no formato {app-name}_schema_{service-principal-id} (hífens removidos do ID). Não é possível alterar o nome do aplicativo após a criação, mas você pode renomear o esquema posteriormente. O padrão padrão é lakebase-autoscaling-app.

Clique em Criar aplicativo para criar o aplicativo.

o passo 6: implantar o aplicativo

Após criar o aplicativo, compute inicia automaticamente e seu aplicativo é implantado em cerca de 2 a 3 minutos sem qualquer ação adicional. Quando o status do aplicativo mostrar "Em execução" , clique no URL ao lado para abrir o aplicativo.

Visão geral do aplicativo mostrando o status de execução e computeativos.

o passo 7: Verificar a integração

Adicione algumas tarefas à sua aplicação. No seu projeto Lakebase, abra a aba "Tabelas" e selecione a tabela "todos" no esquema do seu aplicativo. A entidade de serviço do aplicativo escreveu essas linhas usando os detalhes de conexão injetados na etapa 3.

view das tabelas LKB mostrando as tarefas a fazer criadas pelo aplicativo.

Para consultar os dados diretamente, utilize o Editor SQL no seu projeto Lakebase. Como Lakebase escala para zero quando parado, a primeira consulta após uma longa pausa pode levar alguns segundos para responder. Para outras opções de conexão, consulte Conectar-se ao seu banco de dados.

o passo 8: Consulta através Unity Catalog (opcional)

Por default, os dados Lakebase do seu aplicativo são acessíveis diretamente por meio de conexões Postgres. Registrá-lo no Unity Catalog torna-o consultável juntamente com seu lakehouse . Uso de dados padrão Databricks SQL. Em seguida, você pode join as tabelas transacionais do seu aplicativo com as tabelas Delta na mesma consulta.

Para se registrar, abra o Explorador de Catálogos e crie um novo catálogo. Selecione Lakebase Postgres como o tipo de catálogo, escolha dimensionamento automático e selecione o mesmo projeto e branch do seu aplicativo. Consulte a seção "Registre seu banco de dados no Unity Catalog para obter detalhes completos.

Observe que os nomes de esquema no Unity Catalog preservam os hífens do nome do seu aplicativo. Tanto o nome do catálogo quanto o do esquema exigem o uso de crases (`):

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

Saber mais