Herstellen einer Verbindung mit Azure Databricks über Python oder R

In diesem Artikel erfahren Sie, wie Sie mithilfe des ODBC-Treibers von Databricks eine Verbindung mit Azure Databricks über Python oder R herstellen. Nachdem die Verbindung hergestellt wurde, können Sie über Python- oder R-Clients auf die Daten in Azure Databricks zugreifen. Sie können die Clients auch zur näheren Analyse der Daten verwenden.

Voraussetzungen

  • Sie benötigen einen Azure Databricks-Arbeitsbereich, einen Spark-Cluster und dem Cluster zugeordnete Beispieldaten. Wenn diese Voraussetzungen noch nicht erfüllt sind, führen Sie den Schnellstart unter Get started: Free trial & setup (Erste Schritte: Kostenlose Testversion und Setup) aus.

  • Laden Sie den ODBC-Treiber von Databricks von der Downloadseite für Databricks-Treiber herunter. Installieren Sie die 64-Bit-Version des Treibers.

  • Richten Sie ein persönliches Zugriffstoken in Databricks ein. Anweisungen hierzu finden Sie im Artikel zur Tokenverwaltung.

Einrichten eines DNS

Ein Datenquellenname (Data Source Name, DSN) enthält die Informationen zu einer bestimmten Datenquelle. Ein ODBC-Treiber benötigt diesen DSN, um eine Verbindung mit einer Datenquelle herzustellen. In diesem Abschnitt richten Sie einen DSN ein, der mit dem Databricks-ODBC-Treiber verwendet werden kann, um über Clients wie Python oder R eine Verbindung mit Azure Databricks herzustellen.

  1. Navigieren Sie im Azure Databricks-Arbeitsbereich zum Databricks-Cluster.

    Open Databricks cluster

  2. Klicken Sie auf der Registerkarte Konfiguration auf die Registerkarte JDBC/ODBC, und kopieren Sie die Werte für Server Hostname (Serverhostname) und HTTP Path (HTTP-Pfad). Sie benötigen diese Werte, um die in diesem Artikel aufgeführten Schritte ausführen zu können.

    Get Databricks configuration

  3. Starten Sie auf Ihrem Computer die 64-Bit Version der Anwendung ODBC-Datenquellen.

    Launch ODBC Data Sources app

  4. Klicken Sie auf der Registerkarte Benutzer-DSN auf Hinzufügen. Wählen Sie im Dialogfeld Neue Datenquelle erstellen die Option Simba Spark ODBC Driver (Simba Spark-ODBC-Treiber), und klicken Sie dann auf Fertig stellen.

    Add ODBC data source

  5. Geben Sie im Dialogfeld Simba Spark ODBC Driver (Simba Spark-ODBC-Treiber) die folgenden Werte ein:

    Configure DSN

    Die folgende Tabelle enthält Informationen zu den Werten, die im Dialogfeld angegeben werden:

    Feld Wert
    Datenquellenname Geben Sie einen Namen für die Datenquelle ein.
    Host(s) Geben Sie den Wert ein, den Sie aus dem Databricks-Arbeitsbereich für Server hostname (Serverhostname) kopiert haben.
    Port Geben Sie 443 ein.
    Authentifizierung>Mechanismus Wählen Sie Benutzername und Kennwort aus.
    Benutzername Geben Sie Token ein.
    Kennwort Geben Sie den Tokenwert ein, den Sie aus dem Databricks-Arbeitsbereich kopiert haben.

    Führen Sie die folgenden zusätzlichen Schritte im Dialogfeld zur DNS-Einrichtung aus:

    • Klicken Sie auf HTTP Options (HTTP-Optionen). Fügen Sie im daraufhin angezeigten Dialogfeld den Wert für HTTP Path (HTTP-Pfad) ein, den Sie aus dem Databricks-Arbeitsbereich kopiert haben. Klicken Sie auf OK.
    • Klicken Sie auf SSL Options (SSL-Optionen). Aktivieren Sie im daraufhin angezeigten Dialogfeld das Kontrollkästchen SSL aktivieren. Klicken Sie auf OK.
    • Klicken Sie auf Testen, um die Verbindung mit Azure Databricks zu testen. Klicken Sie auf OK, um die Konfiguration zu speichern.
    • Klicken Sie im Dialogfeld ODBC-Datenquellenadministrator auf OK.

Die Einrichtung des DSN ist nun abgeschlossen. In den nächsten Abschnitten verwenden Sie diesen DSN, um über Python oder R eine Verbindung mit Azure Databricks herzustellen.

Herstellen einer Verbindung über R

Hinweis

Dieser Abschnitt enthält Informationen zum Integrieren eines RStudio-Clients, der mit Azure Databricks auf Ihrem Desktop ausgeführt wird. Anweisungen zur Verwendung von RStudio im Azure Databricks-Cluster finden Sie unter RStudio in Azure Databricks.

In diesem Abschnitt verwenden Sie eine IDE in der Sprache R, um auf in Azure Databricks verfügbare Daten zu verweisen. Bevor Sie beginnen, muss Folgendes auf Ihrem Computer installiert sein:

  • Eine IDE für R. In diesem Artikel wird RStudio für den Desktop verwendet. Sie können die Version von der Downloadseite für RStudio herunterladen.
  • Wenn Sie RStudio für den Desktop als IDE verwenden, installieren Sie zusätzlich Microsoft R Client über https://aka.ms/rclient/.

Öffnen Sie RStudio, und führen Sie die folgenden Schritte aus:

  • Verweisen Sie auf das RODBC-Paket. Dies ermöglicht es Ihnen, mithilfe des zuvor erstellten DNS eine Verbindung mit Azure Databricks herzustellen.
  • Stellen Sie mithilfe des DNS eine Verbindung her.
  • Führen Sie für die Daten in Azure Databricks eine SQL-Abfrage aus. Im folgenden Codeausschnitt ist radio_sample_data eine Tabelle, die in Azure Databricks bereits vorhanden ist.
  • Führen Sie einige Vorgänge für die Abfrage aus, um die Ausgabe zu überprüfen.

Der folgende Codeausschnitt führt diese Aufgaben aus:

# reference the 'RODBC' package
require(RODBC)

# establish a connection using the DSN you created earlier
conn <- odbcConnect("<ENTER DSN NAME HERE>")

# run a SQL query using the connection you created
res <- sqlQuery(conn, "SELECT * FROM radio_sample_data")

# print out the column names in the query output
names(res)

# print out the number of rows in the query output
nrow (res)

Herstellen einer Verbindung über Python

In diesem Abschnitt verwenden Sie eine Python-IDE (etwa IDLE), um auf in Azure Databricks verfügbare Daten zu verweisen. Bevor Sie beginnen, müssen folgende erforderliche Schritte ausgeführt werden:

  • Installieren Sie Python über diesen Link. Bei der Installation von Python über diesen Link wird auch IDLE installiert.

  • Installieren Sie über eine Eingabeaufforderung auf dem Computer das pyodbc-Paket. Führen Sie den folgenden Befehl aus:

    pip install pyodbc
    

Öffnen Sie IDLE, und führen Sie die folgenden Schritte aus:

  • Importieren Sie das pyodbc-Paket. Dies ermöglicht es Ihnen, mithilfe des zuvor erstellten DNS eine Verbindung mit Azure Databricks herzustellen.
  • Stellen Sie mithilfe des zuvor erstellten DNS eine Verbindung her.
  • Führen Sie über die von Ihnen hergestellte Verbindung eine SQL-Abfrage aus. Im folgenden Codeausschnitt ist radio_sample_data eine Tabelle, die in Azure Databricks bereits vorhanden ist.
  • Führen Sie Vorgänge für die Abfrage aus, um die Ausgabe zu überprüfen.

Der folgende Codeausschnitt führt diese Aufgaben aus:

# import the `pyodbc` package:
import pyodbc

# establish a connection using the DSN you created earlier
conn = pyodbc.connect("DSN=<ENTER DSN NAME HERE>", autocommit=True)

# run a SQL query using the connection you created
cursor = conn.cursor()
cursor.execute("SELECT * FROM radio_sample_data")

# print the rows retrieved by the query.
for row in cursor.fetchall():
    print(row)

Nächste Schritte