Pular para o conteúdo principal

Utilizando o Lakebase com Databricks Apps

info

O dimensionamento automático do Lakebase está disponível nas seguintes regiões: us-east-1, us-east-2, us-west-2, ca-central-1, sa-east-1, eu-central-1, eu-west-1, eu-west-2, ap-south-1, ap-southeast-1, ap-southeast-2.

O Lakebase autoscale é a versão mais recente do Lakebase, com recursos como autoscale compute, escala-to-zero, branching e instant restore. Se você é usuário de provisionamento Lakebase, consulte Provisionamento Lakebase.

Databricks Apps permitem que você crie e execute aplicativos interativos diretamente em seu workspace. Ao adicionar o Lakebase como um recurso, Databricks lida com toda a cadeia de autenticação: uma entidade de serviço é criada para seu aplicativo, recebe uma função correspondente do Postgres e os detalhes de conexão são injetados como variáveis 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 Lakebase.

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

nota

Você precisa ter acesso a um workspace Databricks com o Lakebase habilitado (entre em contato com o administrador do seu workspace se necessário), permissão para criar recursos compute e aplicativos, além de familiaridade básica com Python e SQL.

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.

Antes de criar seu projeto, certifique-se de que seu workspace tenha compute serverless habilitada. Se você não conseguir fazer essa alteração sozinho, entre em contato com o administrador.

Para criar um projeto: Ícone do aplicativo. Seletor de aplicativos → Lakebasedimensionamento automáticoCriar projeto → aceitar padrão

Seu projeto foi criado com um branch production e um banco de dados databricks_postgres .

o passo 2: Crie um aplicativo Databricks padrão

O Padrão cuida da complexidade da infraestrutura para você: o agrupamento de conexões, refresh de tokens OAuth e o tratamento de erros já estão integrados. Se você precisar de um aplicativo totalmente personalizado, consulte Crie o seu próprio.

Três padrões de aplicativos de tarefas com escalonamento automático para Lakebase estão disponíveis: Dash, Flask e Streamlit. Acesse Novo > Aplicativo para abrir a interface de criação de aplicativos e selecione o padrão desejado na tab de Dados .

Aplicativo de escalonamento automático Flask + Lakebase padrão

o passo 3: Configurar recurso de banco de dados

Adicionar o Lakebase como recurso faz duas coisas: cria uma entidade de serviço com as permissões de banco de dados corretas e injeta os detalhes da sua conexão como variável de ambiente no aplicativo. É isso que 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, selecione o banco de dados e o tamanho compute para seu aplicativo. Para obter informações detalhadas sobre como adicionar recursos de banco de dados, consulte Adicionar um recurso Lakebase a um aplicativo Databricks.

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

Em Recursos do aplicativo , selecione seu projeto Lakebase, branch e banco de dados. Os nomes das branches são exibidos como IDs: se você aceitou o padrão na etapa 1, terá apenas uma branch (produção) para escolher. Para outros projetos ou para associar IDs a nomes, consulte a página de ramificações do seu projeto.

Em "Tamanho de computação" , para este guia, selecionaremos "Médio" . Observe que este é o computedo servidor de aplicativos, separado do compute do banco de dados Lakebase , que escalam independentemente.

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 automaticamente uma função Postgres correspondente para essa entidade de serviço e concede à entidade de serviço do aplicativo o acesso ao banco de dados necessário para se conectar, criar seu próprio esquema e ler e gravar dados, sem a necessidade de configuração manual da função.

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

A autorização de usuário (Prévia) permite que seu aplicativo aja em nome do usuário conectado, em vez de sua própria entidade de serviço, o que é útil quando diferentes usuários devem visualizar dados diferentes com base em suas permissões individuais. Para este padrão, não são necessários escopos de usuário adicionais. Para habilitar o acesso em nome de outros usuários posteriormente, consulte Autorização de usuário.

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

O nome do aplicativo que você escolher aqui se tornará parte do nome do esquema que o Lakebase cria automaticamente em seu banco de dados. O ID do cliente é a entidade de serviço atribuída ao seu aplicativo, sem os hífens. Você pode renomear o esquema posteriormente no Lakebase, mas o nome do aplicativo em si não pode ser alterado após a criação. O padrão é 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 do aplicativo, revise a descrição pré-preenchida e, opcionalmente, defina uma política de usoserverless. Clique em Instalar para criar a configuração do aplicativo.

o passo 6: implantar o aplicativo

Após clicar em Instalar , compute começará automaticamente e seu aplicativo será implantado sem qualquer ação adicional. Isso leva de 2 a 3 minutos. Quando o status do aplicativo mostrar "Em execução" , clique no URL ao lado para abrir o aplicativo. Para obter informações completas sobre o fluxo de trabalho de desenvolvimento, incluindo desenvolvimento local e reimplementação, consulte Desenvolver aplicativos Databricks.

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

Use o botão de implantação para reimplantar após fazer alterações no código. Se uma implantação falhar, verifique a tab Implantações . A etapa que falhou (por exemplo, "pacote instalado" ou "Aplicativo começar") indica onde procurar.

o passo 7: Verificar a integração

Abra o aplicativo no URL fornecido e adicione algumas tarefas. No seu projeto Lakebase, abra a aba "Tabelas" e selecione a tabela "todos" no esquema do seu aplicativo. Suas linhas estão lá, escritas pela entidade de serviço do aplicativo usando os detalhes de conexão injetados do passo 3.

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

Para executar consultas personalizadas em relação ao uso de dados, o EditorSQL em seu projeto Lakebase. O Lakebase tende a zerar após um período de inatividade, portanto, depois de um tempo inativo, você pode perceber que a primeira solicitação leva alguns segundos enquanto o banco de dados é inicializado. Para outras opções de conexão, consulte Conectando-se ao seu projeto Lakebase.

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

Por default, os dados do Lakebase do seu aplicativo são acessíveis diretamente por meio de conexões Postgres. Ao registrá-lo no Unity Catalog ele pode ser consultado juntamente com o seu lakehouse usando Databricks SQL, permitindo a junção entre as tabelas transacionais do seu aplicativo e 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.

Após o registro, 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_aeb6ff9198ff4752af7dfc6d4cf570d`.todos;

Saber mais