Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Anmärkning
Den här artikeln gäller för Databricks Connect 15.4 LTS och senare.
Den här artikeln beskriver hur du skapar ett projekt i din IDE, konfigurerar din virtuella miljö, installerar Databricks Connect för Python och kör kod på serverlös beräkning på din Databricks-arbetsyta.
I den här självstudien används Python 3.12 och Databricks Connect 16.4 LTS. Om du vill använda andra versioner av Python av Databricks Connect måste de vara kompatibla. Se versionsstödmatrisen.
Kravspecifikation
För att slutföra den här självstudien måste följande krav uppfyllas:
- Din arbetsyta, lokala miljö och beräkning uppfyller kraven för Databricks Connect för Python. Se Användningskrav för Databricks Connect.
- Serverlös beräkning är aktiverad på din arbetsyta. Se Ansluta till serverlös beräkning.
- Python 3.12 är installerat.
- Du har installerat en IDE, till exempel Visual Studio Code.
- Du har Databricks CLI installerat på den lokala datorn. Se Installera eller uppdatera Databricks CLI.
Steg 1: Konfigurera Databricks-autentisering
I den här självstudien används autentisering med Databricks OAuth från användare till dator (U2M) och en Databricks-konfigurationsprofil för autentisering till din Databricks-arbetsyta.
Använd Databricks CLI för att initiera OAuth-tokenhantering lokalt genom att köra följande kommando för varje målarbetsyta. I följande kommando ersätter du
<workspace-url>med instans-URL:en för Databricks-arbetsytan, till exempelhttps://dbc-a1b2345c-d6e7.cloud.databricks.com.databricks auth login --host <workspace-url>Databricks CLI uppmanar dig att spara den information som du angav som en Databricks-konfigurationsprofil. Tryck
Enterför att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Databricks rekommenderar att du använderDEFAULTsom ditt profilnamn.I webbläsaren slutför du anvisningarna på skärmen för att logga in på databricks-arbetsytan.
Steg 2: Skapa en ny virtuell Python-miljö
Skapa projektmappen och öppna den i din IDE. I huvudmenyn i Visual Studio Code klickar du till exempel på>>
Öppna ett terminalfönster i projektmappens rot. I huvudmenyn i Visual Studio Code klickar du till exempel på Visa>terminal.
Skapa en virtuell miljö för projektet som anropas
venvi projektmappens rot genom att köra följande kommando i terminalen:python3.12 -m venv .venvAktivera din virtuella miljö:
# Linux/Mac source .venv/bin/activate# Windows .venv\Scripts\activate
Steg 3: Installera Databricks Connect
Installera Databricks Connect. Information om den senaste versionen av Databricks Connect 16.4 finns i Databricks Connect för Databricks Runtime 16.4.
pip install "databricks-connect==16.4.*"
Steg 4: Lägg till kod och kör
Lägga till en ny Python-fil
main.pyi projektetAnge följande kod i filen, ersätt platshållaren
<profile-name>med namnet på konfigurationsprofilen från steg 1 och spara sedan filen. Standardnamnet för konfigurationsprofilen ärDEFAULT.from databricks.connect import DatabricksSession spark = DatabricksSession.builder.serverless().profile("<profile-name>").getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)Kör koden med följande kommando:
python3 main.pyFem rader i tabellen returneras:
+--------------------+---------------------+-------------+-----------+---------+-----------+ |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| +--------------------+---------------------+-------------+-----------+----------+-----------+
Du har kört din första fråga på Databricks serverlös beräkning med Databricks Connect från din IDE.
Steg 5: Gör koden produktionsklar
För produktionsscenarier är det viktigt att undvika att använda beräkningsspecifikationer i Spark-sessionsverktyget. Om du till exempel distribuerar koden till ett klassiskt kluster: Standard eller Dedicated använder API:et .serverless() i Spark-sessionsverktyget skapas en ny serverlös Spark-session med det klassiska klustret som klient.
För att göra koden flexibel och redo för produktion bör Spark-sessionen inte innehålla några parametrar.
spark = DatabricksSession.builder.getOrCreate()
Men när den här koden körs på Databricks används standard globala Spark-sessionen för Databricks-beräkningen.
Om du vill aktivera serverlös beräkning i din IDE använder du standardkonfigurationsprofilen, som väljs av DatabricksSession.builder när inga parametrar har angetts:
Skapa en konfigurationsprofil med namnet
DEFAULTmed hjälp av anvisningarna från steg 1.Använd en textredigerare för att öppna
.databrickscfgfilen, som finns i:Användarens
$HOMEhemmapp i Unix, Linux eller macOS:~/.databrickscfg, ellerMappen
%USERPROFILE%(ditt användarhem) i Windows. Till exempel för macOS:nano ~/.databrickscfg
Lägg till
serverless_compute_id = autoi profilenDEFAULT:[DEFAULT] host = https://my-workspace.cloud.databricks.com auth_type = databricks-cli serverless_compute_id = autoSpara ändringarna och avsluta redigeringsprogrammet.
Ändra koden så att den använder en allmän Spark-session och kör den:
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)python3 main.py
Du har kört din produktionsklara kod på Databricks serverlös beräkning med hjälp av Databricks Connect från din IDE med hjälp av standardkonfigurationsprofilen.
Tips/Råd
Du kan också använda miljövariabler för att ställa in anslutningen till en specifik Databricks-beräkning:
- Serverlös:
DATABRICKS_SERVERLESS_COMPUTE_ID=auto - Klassisk:
DATABRICKS_CLUSTER_ID=<your_cluster_id>