Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questo articolo si applica a Databricks Connect 15.4 LTS e versioni successive.
Questo articolo descrive come creare un progetto nell'IDE, configurare l'ambiente virtuale, installare Databricks Connect per Python ed eseguire il codice nel calcolo serverless nell'area di lavoro di Databricks.
Questa esercitazione usa Python 3.12 e Databricks Connect 16.4 LTS. Per usare altre versioni di Python di Databricks Connect, è necessario che siano compatibili. Consultare la matrice di supporto della versione.
Requisiti
Per completare questa esercitazione, è necessario soddisfare i requisiti seguenti:
- L'area di lavoro, l'ambiente locale e il calcolo soddisfano i requisiti per Databricks Connect per Python. Vedere Requisiti di utilizzo di Databricks Connect.
- L'ambiente di calcolo serverless è abilitato nell'area di lavoro. Vedi Connettersi al calcolo serverless.
- Python 3.12 è installato.
- È installato un IDE, ad esempio Visual Studio Code.
- Sul computer locale è installata la CLI di Databricks. Consulta Installare o aggiornare la CLI di Databricks.
Passaggio 1: Configurare l'autenticazione di Databricks
Questa esercitazione usa l'autenticazione OAuth da utente a macchina (U2M) di Databricks e un profilo di configurazione di Databricks per l'autenticazione nell'area di lavoro di Databricks.
Usare il Databricks CLI per avviare la gestione dei token OAuth in locale eseguendo il seguente comando per ogni area di lavoro di destinazione. Nel comando seguente, sostituire
<workspace-url>con l'URL dell'istanza Databricks dell'area di lavoro, ad esempio .databricks auth login --host <workspace-url>L'interfaccia della riga di comando di Databricks richiede di salvare le informazioni immesse come profilo di configurazione di Databricks. Premere
Enterper accettare il nome del profilo suggerito oppure immettere il nome di un profilo nuovo o esistente. Databricks consiglia di usareDEFAULTcome nome del profilo.Nel Web browser completare le istruzioni visualizzate per accedere all'area di lavoro di Databricks.
Passaggio 2: Creare un nuovo ambiente virtuale Python
Creare la cartella del progetto e aprirla nell'IDE. Ad esempio, nel menu principale di Visual Studio Code, fare clic su File>Apri cartella>Apri
Aprire una finestra del terminale nella radice della cartella del progetto. Ad esempio, nel menu principale di Visual Studio Code fare clic su Visualizza>terminale.
Creare un ambiente virtuale per il progetto chiamato
venvnella radice della cartella del progetto eseguendo il comando seguente nel terminale:python3.12 -m venv .venvAttivare l'ambiente virtuale:
# Linux/Mac source .venv/bin/activate# Windows .venv\Scripts\activate
Passaggio 3: Installare Databricks Connect
Installare Databricks Connect. Per informazioni sulla versione rilasciata più recente di Databricks Connect 16.4, vedere Databricks Connect for Databricks Runtime 16.4.
pip install "databricks-connect==16.4.*"
Passaggio 4: Aggiungere codice ed eseguire
Aggiungere un nuovo file
main.pyPython al progettoImmettere il codice seguente nel file, sostituendo il segnaposto
<profile-name>con il nome del profilo di configurazione del passaggio 1, quindi salvare il file. Il nome del profilo di configurazione predefinito èDEFAULT.from databricks.connect import DatabricksSession spark = DatabricksSession.builder.serverless().profile("<profile-name>").getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)Eseguire il codice usando il comando seguente:
python3 main.pyVengono restituite cinque righe della tabella:
+--------------------+---------------------+-------------+-----------+---------+-----------+ |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| +--------------------+---------------------+-------------+-----------+----------+-----------+
È stata eseguita correttamente la prima query nell'ambiente di calcolo serverless di Databricks usando Databricks Connect dall'IDE.
Passaggio 5: Rendere pronto l'ambiente di produzione del codice
Per gli scenari di produzione, è importante evitare di usare le specifiche di calcolo nel generatore di sessioni Spark. Ad esempio, se si distribuisce il codice in un cluster classico: Standard o Dedicated si usa l'API .serverless() nel generatore di sessioni Spark, viene creata una nuova sessione Spark serverless usando il cluster classico come client.
Per rendere il codice flessibile e pronto per l'ambiente di produzione, la sessione Spark non deve contenere parametri.
spark = DatabricksSession.builder.getOrCreate()
Tuttavia, quando questo codice viene eseguito in Databricks, viene usata la sessione Spark globale predefinita dell'ambiente di calcolo di Databricks.
Per abilitare il calcolo serverless nell'IDE, usare il profilo di configurazione DEFAULT, selezionato da DatabricksSession.builder quando non vengono specificati parametri:
Creare un profilo di configurazione denominato
DEFAULTusando le istruzioni del passaggio 1.Usare un editor di testo per aprire il
.databrickscfgfile, disponibile in:La tua cartella home
$HOMEutente in Unix, Linux o macOS:~/.databrickscfg, oLa tua cartella
%USERPROFILE%(cartella personale) in Windows. Ad esempio, per macOS:nano ~/.databrickscfg
Aggiungere
serverless_compute_id = autoalDEFAULTprofilo:[DEFAULT] host = https://my-workspace.cloud.databricks.com auth_type = databricks-cli serverless_compute_id = autoSalvare le modifiche e uscire dall'editor.
Modificare il codice per usare una sessione Spark generale ed eseguirla:
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)python3 main.py
Il codice pronto per la produzione è stato eseguito correttamente nel calcolo serverless di Databricks usando Databricks Connect dall'IDE usando il profilo di configurazione PREDEFINITO.
Suggerimento
È anche possibile usare le variabili di ambiente per impostare la connessione a un calcolo di Databricks specifico:
- Serverless:
DATABRICKS_SERVERLESS_COMPUTE_ID=auto - Classico:
DATABRICKS_CLUSTER_ID=<your_cluster_id>