Partilhar via


Tutorial: Desenvolva uma aplicação Databricks localmente com Databricks Connect

Os aplicativos Databricks permitem criar dados seguros e aplicativos de IA na plataforma Databricks que você pode compartilhar facilmente com os usuários. Ao desenvolver uma aplicação Databricks com PySpark e Databricks Connect, pode tirar partido do poder do Apache Spark na sua aplicação. Semelhante a um driver JDBC, o Databricks Connect pode ser incorporado em qualquer aplicação para interagir com os Databricks. Além disso, o Databricks Connect oferece toda a expressividade do Python através do PySpark, permitindo-lhe executar todas as transformações de dados com o Spark on Databricks compute.

Para mais informações sobre aplicações e Databricks Connect, consulte Databricks Apps e O que é o Databricks Connect?.

Este tutorial explica como criar uma aplicação Databricks simples no espaço de trabalho Databricks e depois desenvolvê-la localmente usando o Databricks Connect. A aplicação funciona em computação serverless com Python 3.11 e Databricks Connect 15.4.*. Para usar uma versão diferente, as versões em Python e Databricks Connect devem ser compatíveis. Consulte Versões do Databricks Connect.

Sugestão

Para uma aplicação de exemplo mais avançada que utiliza o Databricks Connect, consulte o repositório Databricks Demos no GitHub.

Requerimentos

Etapa 1: Configurar autenticação e computação sem servidor

Este tutorial utiliza computação sem servidor e a autenticação utilizador-para-máquina (U2M) do OAuth para Databricks, bem como um perfil de configuração do Databricks para autenticar no seu espaço de trabalho.

Use a CLI Databricks para iniciar o login OAuth executando o seguinte comando. Use DEFAULT como nome de perfil e complete as instruções no ecrã para iniciar sessão no seu espaço de trabalho Databricks.

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

Passo 2: Criar uma aplicação

Agora cria uma aplicação Databricks no espaço de trabalho.

  1. No espaço de trabalho Databricks, clique em + Novo>aplicativo na barra lateral esquerda.

  2. Em Instalar a partir de um modelo, vá ao separador Dash.

  3. Escolha o modelo Hello world .

  4. Nomeie a aplicação dash-hello-world e clique em Instalar.

Isto cria uma nova aplicação baseada no modelo selecionado, implementa-a no seu espaço de trabalho e inicia-a. Para visualizar a aplicação, clique no URL Ativo no topo na página Visão Geral.

Veja a aplicação hello world

Passo 3: Copie a aplicação para a sua máquina local

De seguida, descarregue o código-fonte da aplicação para a sua máquina local.

  1. Copie o primeiro comando em Sincronizar os ficheiros na página da aplicação.

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

    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.

Passo 4: Adicionar Databricks Connect

Crie um ambiente virtual Python para a sua aplicação Databricks e adicione databricks-connect como requisito.

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

    python3.11 -m venv .myvenv
    source .myvenv/bin/activate
    
  2. Atualize as dependências da sua aplicação 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 encontradas em requirements.txt no seu ambiente virtual:

    pip install -r requirements.txt
    

Passo 5: Modificar a aplicação e testar localmente

Personalize e desenvolva a sua aplicação localmente.

  1. Atualize app.py para ler dados dos Databricks usando Databricks Connect e aproveite o Apache Spark para realizar transformações de dados. Além disso, adiciona código para tornar os dados interativos, adiciona uma opção de estilo e permite o carregamento de dados.

    # 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. Executa e testa a tua aplicação localmente. Podes usar Python ou a linha de comando do Databricks para o executar.

    • Executa a aplicação em Python.

      python app.py
      

      Navegue para http://127.0.0.1:8050/ numa janela do navegador para visualizar a aplicação.

    • Ou usar o databricks apps run-local comando para executar e depurar a aplicação. Este comando instala todas as dependências e prepara o ambiente virtual e, em seguida, inicia o aplicativo e o depurador na porta 5678.

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

      Navegue para http://localhost:8001 numa janela do navegador para visualizar a aplicação.

      Para definir pontos de interrupção no Visual Studio Code, instale a extensão do depurador Python e vá para Executar>Iniciar Depuração>Anexação Remota.

Visualize o aplicativo de custo da viagem localmente

Passo 6: Redistribuir a aplicação

Por fim, carregue a sua aplicação modificada localmente para o seu espaço de trabalho Databricks e implemente-a para computar.

Importante

Para evitar transferir todo o seu ambiente virtual Python para o Databricks, o seu projeto deve ter um .gitignore ficheiro ou na raiz com .myvenv nele, ou dentro da pasta .myvenv que excluam estes ficheiros.

  1. No seu espaço de trabalho Databricks, clique em Computar e depois em Aplicações. Selecione a dash-hello-world aplicação.

  2. Em Sincronizar os ficheiros, copie o comando em Sincronizar edições futuras de volta para Databricks e execute-o a partir da pasta local do projeto da aplicação:

    databricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
    
  3. Para implementar a aplicação modificada para computar, copie o comando em Deploy to Databricks Apps na página da app e execute-o a partir da pasta local do projeto da aplicação:

    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 implementação for bem-sucedida, o comando emite JSON de confirmação:

{
    "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