Tutorial: Desenvolver um aplicativo do Databricks localmente com o Databricks Connect

Os Aplicativos do Databricks permitem criar dados seguros e aplicativos de IA na plataforma do Databricks que você pode compartilhar facilmente com os usuários. Ao desenvolver um aplicativo do Databricks com o PySpark e o Databricks Connect, você pode aproveitar o poder do Apache Spark em seu aplicativo. Semelhante a um driver JDBC, o Databricks Connect pode ser inserido em qualquer aplicativo para interagir com o Databricks. Além disso, o Databricks Connect fornece toda a expressividade de Python por meio do PySpark, permitindo que você execute todas as transformações de dados com o Spark na computação do Databricks.

Para obter mais informações sobre aplicativos e o Databricks Connect, consulte Os Aplicativos do Databricks e o Databricks Connect.

Este tutorial explica como criar um aplicativo Databricks simples no workspace do Databricks e, em seguida, desenvolvê-lo localmente usando o Databricks Connect. O aplicativo é executado na computação sem servidor com Python 3.11 e Databricks Connect 15.4.*. Para usar uma versão diferente, a versão Python e as versões do Databricks Connect devem ser compatíveis. Consulte as versões do Databricks Connect.

Dica

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

Requirements

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

Este tutorial usa a computação sem servidor e a autenticação U2M (usuário para máquina) do Databricks OAuth e um perfil de configuração do Databricks para autenticação no workspace do Databricks.

Use a CLI do Databricks para iniciar o logon do OAuth executando o comando a seguir. Use DEFAULT como o nome do perfil e conclua as instruções na tela para fazer login na área de trabalho do Databricks.

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

Etapa 2: Criar um aplicativo

Agora, crie um aplicativo Databricks no espaço de trabalho.

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

  2. Em Instalar de um modelo, vá para a guia Traço.

  3. Escolha o modelo hello world .

  4. Nomeie o aplicativo dash-hello-world e clique em Instalar.

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

Exibir o aplicativo hello world

Etapa 3: Copiar o aplicativo para o computador local

Em seguida, baixe o código-fonte do aplicativo no computador local.

  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-worlde 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 nomeado 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.

Etapa 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:

    python3.11 -m venv .myvenv
    source .myvenv/bin/activate
    
  2. Atualize as dependências do aplicativo no requirements.txt do 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.

    pip install -r requirements.txt
    

Etapa 5: Modificar o aplicativo e testar 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 executar transformações de dados. Além disso, adicione código para tornar os dados interativos, adicione uma opção de estilo e permita uploads 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. Execute e teste seu aplicativo localmente. Você pode usar Python ou a CLI do Databricks para executá-la.

    • Execute o aplicativo Python.

      python app.py
      

      Navegue até http://127.0.0.1:8050/ em uma janela do navegador para exibir o aplicativo.

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

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

      Navegue até http://localhost:8001 em uma janela do navegador para exibir o aplicativo.

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

Exibir o aplicativo de custo de viagem localmente

Etapa 6: Reimplantar o aplicativo

Por fim, carregue seu aplicativo modificado localmente para o espaço de trabalho do Databricks e implante-o no ambiente de computação.

Importante

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

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

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

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

    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 gerará a 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"
}

Recursos adicionais