Condividi tramite


Che cos'è Databricks Connect?

Nota

Questo articolo illustra Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive.

Per informazioni sulla versione legacy di Databricks Connect, vedere Databricks Connect for Databricks Runtime 12.2 LTS e versioni successive.

Databricks Connect è una libreria client per Databricks Runtime che consente di connettersi al calcolo di Azure Databricks da IDE, ad esempio Visual Studio Code, PyCharm e IntelliJ IDEA, notebook e qualsiasi applicazione personalizzata, per abilitare nuove esperienze utente interattive basate su Azure Databricks Lakehouse.

Databricks Connect è disponibile per le lingue seguenti:

Cosa è possibile fare con Databricks Connect?

Usando Databricks Connect, è possibile scrivere codice usando le API Spark ed eseguirle in remoto nel calcolo di Azure Databricks anziché nella sessione Spark locale.

  • Sviluppare ed eseguire il debug in modo interattivo da qualsiasi IDE. Databricks Connect consente agli sviluppatori di sviluppare ed eseguire il debug del codice nel calcolo di Databricks usando qualsiasi funzionalità nativa di esecuzione e debug dell'IDE. L'estensione Databricks di Visual Studio Code usa Databricks Connect per fornire il debug predefinito del codice utente in Databricks.

  • Creare app interattive per i dati. Proprio come un driver JDBC, la libreria Databricks Connect può essere incorporata in qualsiasi applicazione per interagire con Databricks. Databricks Connect offre l'espressività completa di Python tramite PySpark, eliminando la mancata corrispondenza dell'impedenza del linguaggio di programmazione SQL e consentendo di eseguire tutte le trasformazioni dei dati con Spark in calcolo scalabile e senza server di Databricks.

Come funziona?

Databricks Connect è basato su Spark Connect open source, che ha un'architettura client-server disaccoppiata per Apache Spark che consente la connettività remota ai cluster Spark usando l'API DataFrame. Il protocollo sottostante usa piani logici non risolti spark e Apache Arrow sopra gRPC. L'API client è progettata per essere sottile, in modo che possa essere incorporata ovunque: in server applicazioni, IDE, notebook e linguaggi di programmazione.

Posizione in cui viene eseguito il codice di Databricks Connect

  • Il codice generale viene eseguito localmente: il codice Python e Scala viene eseguito sul lato client, abilitando il debug interattivo. Tutto il codice viene eseguito in locale, mentre tutto il codice Spark continua a essere eseguito nel cluster remoto.
  • Le API del dataframe vengono eseguite nel calcolo di Databricks. Tutte le trasformazioni dei dati vengono convertite in piani Spark ed eseguite nel calcolo di Databricks tramite la sessione Spark remota. Vengono materializzati nel client locale quando si usano comandi come collect(), show(), toPandas().
  • Codice UDF eseguito nel calcolo di Databricks: le funzioni definite dall'utente in locale vengono serializzate e inviate al cluster in cui vengono eseguite. Le API che eseguono il codice utente in Databricks includono: funzioni definite dall'utente, foreach, foreachBatch, e transformWithState.
  • Per la gestione delle dipendenze:
    • Installare le dipendenze dell'applicazione nel computer locale. Queste operazioni vengono eseguite in locale e devono essere installate come parte del progetto, ad esempio nell'ambiente virtuale Python.
    • Installare le dipendenze UDF su Databricks. Vedere Funzioni definite dall'utente con dipendenze.

Spark Connect è un protocollo basato su gRPC open source all'interno di Apache Spark che consente l'esecuzione remota dei carichi di lavoro Spark usando l'API DataFrame.

Per Databricks Runtime 13.3 LTS e versioni successive, Databricks Connect è un'estensione di Spark Connect con aggiunte e modifiche per supportare l'uso delle modalità di calcolo di Databricks e del catalogo Unity.

Passaggi successivi

Per iniziare rapidamente a sviluppare soluzioni Databricks Connect, vedere le esercitazioni seguenti:

Per visualizzare applicazioni di esempio che usano Databricks Connect, vedere il repository di esempi di GitHub, che include gli esempi seguenti: