Pular para o conteúdo principal

Tutorial: Desenvolva um aplicativo Databricks localmente com Databricks Connect

Databricks Apps permite criar aplicações seguras de dados e AI na plataforma Databricks , que podem ser facilmente compartilhadas com os usuários. Ao desenvolver um aplicativo Databricks com PySpark e Databricks Connect, você pode aproveitar todo o poder do Apache Spark em seu aplicativo. Semelhante a um driver JDBC, o Databricks Connect pode ser incorporado em qualquer aplicativo para interagir com o Databricks. Além disso, Databricks Connect oferece toda a expressividade do Python por meio PySpark, eliminando a incompatibilidade de linguagens de programação SQL e permitindo que você execute todas as transformações de dados com Spark no compute Databricks .

Para obter mais informações sobre aplicativos e Databricks Connect, consulte AplicativosDatabricks e O que é Databricks Connect?.

Este tutorial mostra como criar um aplicativo Databricks simples no workspace Databricks e, em seguida, desenvolvê-lo localmente usando Databricks Connect. Execução do aplicativo em compute serverless com Python 3.11 e Databricks Connect 15.4.*. Para usar uma versão diferente, as versões do Python e do Databricks Connect devem ser compatíveis. Veja as versões do Databricks Connect.

dica

Para um aplicativo de exemplo mais avançado que usa o Databricks Connect, consulte o repositório Databricks Demos no GitHub.

Requisitos

  • Seu workspace Databricks e seu ambiente de desenvolvimento local devem atender aos requisitos para aplicativos Databricks . Consulte Configurar seu workspace e ambiente de desenvolvimento Databricks Apps.
  • Seu workspace Databricks deve ter Unity Catalog e compute serverless ativados.
  • A versão 0.250.0 ou superior CLI Databricks está instalada em sua máquina local. Para verificar a versão instalada do Databricks CLI, execute o comando databricks -v. Para instalar a CLI do Databricks, consulte Instalar ou atualizar a CLI do Databricks.
  • O Python 3.11 está instalado em sua máquina local.

Passo 1: Configurar autenticação e compute serverless

Este tutorial utiliza compute serverless e autenticaçãoOAuth de usuário para máquina (U2M) Databricks , além de um perfil de configuração Databricks para autenticar no seu workspace Databricks .

Utilize a CLI do Databricks para iniciar o login OAuth executando o seguinte comando. Use DEFAULT como nome de perfil e siga as instruções na tela para log in no seu workspace Databricks .

Bash
databricks auth login --configure-serverless --host <workspace-url>

a etapa 2: Criar um aplicativo

Agora crie um aplicativo Databricks no workspace.

  1. No seu workspace Databricks , clique em + Novo > Aplicativo na barra lateral esquerda.

  2. Em Instalar a partir de um padrão , acesse a tab Dash .

  3. Escolha o padrão Olá mundo .

  4. Dê o nome de dash-hello-world ao aplicativo e clique em Instalar .

Isso cria um novo aplicativo com base no padrão selecionado, implanta-o em seu workspace e inicia-o. Para view o aplicativo, clique no URL em execução na parte superior da página Visão geral :

Veja o aplicativo Hello World.

Passo 3: Copie o aplicativo para sua máquina local.

Em seguida, download o código-fonte do aplicativo para o seu computador.

  1. Copie o primeiro comando em "Sincronizar os arquivos" na página do aplicativo.

  2. Em um terminal local, crie um diretório dash-hello-world e execute o comando copiado, por exemplo:

    Bash
    mkdir dash-hello-world
    cd dash-hello-world
    databricks workspace export-dir /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_01-18_38/dash-hello-world-app .

O comando copia dois novos arquivos para o diretório chamado app.py e app.yaml. app.yaml define a configuração do aplicativo, incluindo seu ponto de entrada e permissões. app.py contém o código que implementa a funcionalidade e a interface do usuário do aplicativo.

o passo 4: Adicionar Databricks Connect

Crie um ambiente virtual Python para seu aplicativo Databricks e adicione databricks-connect como um requisito.

  1. Crie um ambiente virtual chamado .myvenv na raiz da pasta do projeto e ative-o:

    Bash
    python3.11 -m venv .myvenv
    source .myvenv/bin/activate
  2. Atualize as dependências do seu aplicativo no requirements.txt do seu projeto. Adicionar databricks-connect==15.4.*:

    dash== 3.3.*
    dash-bootstrap-components==2.0.*
    pandas
    plotly==6.5.*
    databricks-sql-connector
    databricks-sdk
    python-dotenv
    dash-ag-grid
    databricks-connect==15.4.*
  3. Instale as dependências em requirements.txt no seu ambiente virtual:

    Bash
    pip install -r requirements.txt

Passo 5: Modifique o aplicativo e teste localmente

Personalize e desenvolva seu aplicativo localmente.

  1. Atualize app.py para ler dados do Databricks usando o Databricks Connect e aproveite o Apache Spark para realizar transformações de dados. Além disso, adicione código para tornar os dados interativos, adicione uma opção de estilização e permita o upload de dados.

    Python
    # app.py

    import pandas as pd
    from dash import Dash, dcc, html
    import plotly.express as px
    import dash_bootstrap_components as dbc
    from databricks.connect.session import DatabricksSession
    from pyspark.sql.functions import col

    spark = DatabricksSession.builder.serverless().getOrCreate()
    # Data transformations with Spark in Python
    df = (spark.read.table("samples.nyctaxi.trips")
    .select('trip_distance', 'fare_amount')
    .filter(col('trip_distance') < 10)
    .limit(1000))

    chart_data = df.toPandas()

    # Initialize the Dash app with Bootstrap styling
    dash_app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])

    # Define the app layout
    dash_app.layout = dbc.Container([
    dbc.Row([dbc.Col(html.H1('Trip cost by distance'), width=12)]),
    dcc.Graph(
    id='fare-scatter',
    figure=px.scatter(chart_data, x='trip_distance', y='fare_amount',
    labels={'trip_distance': 'Trip distance (miles)', 'fare_amount': 'Fare amount (USD)'},
    template='simple_white'),
    style={'height': '500px', 'width': '1000px'}
    )
    ], fluid=True)

    if __name__ == '__main__':
    dash_app.run(debug=True)
  2. execução e teste seu aplicativo localmente. Você pode usar Python ou a CLI Databricks para executá-lo.

    • execução do aplicativo Python .

      Bash
      python app.py

      Acesse http://127.0.0.1:8050/ em uma janela do navegador para view o aplicativo.

    • Ou use o comando databricks apps run-local para executar e depurar o aplicativo. Este comando instala todas as dependências e prepara o ambiente virtual, depois inicia o aplicativo e o depurador na porta 5678.

      Bash
      databricks apps run-local --prepare-environment --debug

      Acesse http://localhost:8001 em uma janela do navegador para view o aplicativo.

      Para definir pontos de interrupção no Visual Studio Code, instale a extensão do depurador Python e vá para execução > começar a depuração > Remote Attach .

Veja o aplicativo de custo da viagem localmente

o passo 6: Reimplante o aplicativo

Por fim, upload seu aplicativo modificado localmente para seu workspace Databricks e implante-o para compute.

importante

Para evitar o upload de todo o seu ambiente virtual Python para o Databricks, seu projeto deve ter um arquivo .gitignore na raiz com .myvenv dentro, ou dentro da pasta .myvenv que exclui esses arquivos.

  1. No seu workspace Databricks , clique em Computação e, em seguida, em Aplicativos . Selecione o aplicativo dash-hello-world .

  2. Em "Sincronizar arquivos" , copie o comando em "Sincronizar edições futuras" de volta para Databricks e execute-o a partir da pasta do seu projeto de aplicativo local:

    Bash
    databricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
  3. Para compute o aplicativo modificado no Databricks Apps, copie o comando em "Implantar" na página do aplicativo e execute-o a partir da pasta do seu projeto local:

    Bash
    databricks apps deploy dash-hello-world --source-code-path /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app

Se a implantação for bem-sucedida, o comando gera um JSON de confirmação:

JSON
{
"create_time": "2025-12-06T01:30:16Z",
"creator": "someone@example.com",
"deployment_artifacts": {
"source_code_path": "/Workspace/Users/1234abcd-5678-90ab-cdef-123456abcdef/src/abcd1234efgh5678ijkl9012mnop3456"
},
"deployment_id": "abcd1234efgh5678ijkl9012mnop3456",
"mode": "SNAPSHOT",
"source_code_path": "/Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app",
"status": {
"message": "App started successfully",s
"state": "SUCCEEDED"
},
"update_time": "2025-12-06T01:30:20Z"
}

Próximos passos