Sdílet prostřednictvím


Kurz: Spouštění kódu Pythonu na bezserverových výpočetních prostředcích

Poznámka:

Tento článek se vztahuje na Databricks Connect 15.4 LTS a vyšší.

Tento článek popisuje, jak vytvořit projekt v integrovaném vývojovém prostředí( IDE), nastavit virtuální prostředí, nainstalovat Databricks Connect pro Python a spustit kód na bezserverové výpočetní prostředky v pracovním prostoru Databricks.

Tento kurz používá Python 3.12 a Databricks Connect 16.4 LTS. Pokud chcete použít jiné verze Pythonu Databricks Connect, musí být kompatibilní. Podívejte se na matici podpory verzí.

Požadavky

K dokončení tohoto kurzu musí být splněny následující požadavky:

Krok 1: Konfigurace ověřování Databricks

V tomto kurzu se k ověřování v pracovním prostoru Databricks používá ověřování uživatele a počítače (U2M) Databricks a konfigurační profil Databricks.

  1. Pomocí Databricks CLI spusťte místní správu tokenů OAuth tak, že pro každý cílový pracovní prostor použijete následující příkaz. V následujícím příkazu nahraďte <workspace-url> adresou URL instance pracovního prostoru Databricks, například https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    databricks auth login --host <workspace-url>
    
  2. Rozhraní příkazového řádku Databricks vás vyzve k uložení informací, které jste zadali jako konfigurační profil Databricks. Stisknutím klávesy Enter potvrďte navrhovaný název profilu nebo zadejte název nového nebo existujícího profilu. Databricks doporučuje použít DEFAULT jako název vašeho profilu.

  3. Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Databricks.

Krok 2: Vytvoření nového virtuálního prostředí Pythonu

  1. Vytvořte složku projektu a otevřete ji v integrovaném vývojovém prostředí ( IDE). Například v hlavní nabídce editoru Visual Studio Code klikněte naOtevřít složku>soubor>.

  2. Otevřete okno terminálu v kořenové složce projektu. Například v hlavní nabídce editoru Visual Studio Code klepněte na příkaz Zobrazit>terminál.

  3. Spuštěním následujícího příkazu v terminálu vytvořte virtuální prostředí pro projekt volaný venv v kořenové složce projektu:

    python3.12 -m venv .venv
    
  4. Aktivace virtuálního prostředí:

    # Linux/Mac
    source .venv/bin/activate
    
    # Windows
    .venv\Scripts\activate
    

Krok 3: Instalace databricks Connect

Nainstalujte Databricks Connect. Informace o nejnovější vydané verzi Databricks Connect 16.4 najdete v tématu Databricks Connect pro Databricks Runtime 16.4.

pip install "databricks-connect==16.4.*"

Krok 4: Přidání kódu a spuštění

  1. Přidání nového souboru main.py Pythonu do projektu

  2. Do souboru zadejte následující kód, nahraďte zástupný symbol <profile-name> názvem konfiguračního profilu z kroku 1 a pak soubor uložte. Výchozí název konfiguračního profilu je DEFAULT.

    from databricks.connect import DatabricksSession
    
    spark = DatabricksSession.builder.serverless().profile("<profile-name>").getOrCreate()
    
    df = spark.read.table("samples.nyctaxi.trips")
    df.show(5)
    
  3. Spusťte kód pomocí následujícího příkazu:

    python3 main.py
    

    Vrátí se pět řádků tabulky:

    +--------------------+---------------------+-------------+-----------+---------+-----------+
    |tpep_pickup_datetime|tpep_dropoff_datetime|trip_distance|fare_amount|pickup_zip|dropoff_zip|
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    | 2016-02-16 22:40:45|  2016-02-16 22:59:25|         5.35|       18.5|     10003|      11238|
    | 2016-02-05 16:06:44|  2016-02-05 16:26:03|          6.5|       21.5|     10282|      10001|
    | 2016-02-08 07:39:25|  2016-02-08 07:44:14|          0.9|        5.5|     10119|      10003|
    | 2016-02-29 22:25:33|  2016-02-29 22:38:09|          3.5|       13.5|     10001|      11222|
    | 2016-02-03 17:21:02|  2016-02-03 17:23:24|          0.3|        3.5|     10028|      10028|
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    

Úspěšně jste spustili první dotaz na bezserverové výpočetní prostředky Databricks pomocí Databricks Connect z integrovaného vývojového prostředí (IDE).

Krok 5: Příprava kódu na produkční prostředí

V produkčních scénářích je důležité se vyhnout použití specifikací výpočetních prostředků v tvůrci relací Sparku. Pokud například nasadíte kód do klasického clusteru: Standard nebo Dedicated použijete .serverless() rozhraní API v tvůrci relací Sparku, vytvoří se nová bezserverová relace Sparku pomocí klasického clusteru jako klienta.

Aby byl kód flexibilní a připravený pro produkční prostředí, neměla by relace Sparku obsahovat žádné parametry.

spark = DatabricksSession.builder.getOrCreate()

Pokud se ale tento kód spustí v Databricks, použije se výchozí globální relace Sparku výpočetních prostředků Databricks.

Pokud chcete ve svém integrovaném vývojovém prostředí povolit bezserverové výpočetní prostředky, použijte výchozí konfigurační profil, který je vybrán, DatabricksSession.builder pokud nejsou zadány žádné parametry:

  1. Vytvořte konfigurační profil s názvem DEFAULT podle pokynů z kroku 1.

  2. Pomocí textového editoru .databrickscfg otevřete soubor, který se nachází v:

    • Domovská $HOME složka uživatele v systémech Unix, Linux nebo macOS: ~/.databrickscfgnebo

    • Vaše %USERPROFILE% (domovská stránka uživatele) ve Windows. Například pro macOS:

      nano ~/.databrickscfg
      
  3. Přidat serverless_compute_id = auto do DEFAULT profilu:

    [DEFAULT]
    host                  = https://my-workspace.cloud.databricks.com
    auth_type             = databricks-cli
    serverless_compute_id = auto
    
  4. Uložte změny a ukončete editor.

  5. Upravte kód tak, aby používal obecnou relaci Sparku, a spusťte ji:

    from databricks.connect import DatabricksSession
    
    spark = DatabricksSession.builder.getOrCreate()
    
    df = spark.read.table("samples.nyctaxi.trips")
    df.show(5)
    
    python3 main.py
    

V bezserverovém výpočetním prostředí Databricks jste úspěšně spustili kód připravený pro produkční prostředí pomocí Databricks Connect z integrovaného vývojového prostředí (IDE) pomocí výchozího konfiguračního profilu.

Tip

Pomocí proměnných prostředí můžete také nastavit připojení ke konkrétnímu výpočetnímu prostředí Databricks:

  • Bezserverová služba: DATABRICKS_SERVERLESS_COMPUTE_ID=auto
  • Klasický: DATABRICKS_CLUSTER_ID=<your_cluster_id>