Delen via


Verbinding maken met Azure Databricks vanuit Python of R

In dit artikel leert u hoe u het ODBC-stuurprogramma van Databricks gebruikt om Azure Databricks te verbinden met python- of R-taal. Zodra u de verbinding tot stand hebt gebracht, hebt u toegang tot de gegevens in Azure Databricks vanaf de Python- of R-clients. U kunt de clients ook gebruiken om de gegevens verder te analyseren.

Voorwaarden

  • U moet beschikken over een Azure Databricks-werkruimte, een Spark-cluster en voorbeeldgegevens die zijn gekoppeld aan uw cluster. Als u deze vereisten nog niet hebt vervuld, voltooit u de snelle startgids op Begin.

  • Download het Databricks ODBC-stuurprogramma van Databricks-stuurprogrammadownloadpagina. Installeer de 64-bits versie van het stuurprogramma.

  • Stel een persoonlijk toegangstoken in Databricks in. Zie Tokenbeheervoor instructies.

Een DSN instellen

Een gegevensbronnaam (DSN) bevat de informatie over een specifieke gegevensbron. Een ODBC-stuurprogramma heeft deze DSN nodig om verbinding te maken met een gegevensbron. In deze sectie stelt u een DSN in die kan worden gebruikt met het Databricks ODBC-stuurprogramma om verbinding te maken met Azure Databricks vanaf clients zoals Python of R.

  1. Navigeer vanuit de Azure Databricks-werkruimte naar het Databricks-cluster.

    Databricks-cluster openen

  2. Klik op de Configuratie tab en vervolgens op de JDBC/ODBC tab en kopieer de waarden voor Server Hostname en HTTP-pad. U hebt deze waarden nodig om de stappen in dit artikel uit te voeren.

    Databricks-configuratie ophalen

  3. Start op uw computer de ODBC-gegevensbronnen applicatie 64-bit.

    ODBC-gegevensbronnen starten

  4. Klik op het tabblad User DSN op Add. Selecteer in het dialoogvenster Nieuwe gegevensbron maken het Simba Spark ODBC-stuurprogrammaen klik vervolgens op Voltooien.

    ODBC-gegevensbron toevoegen

  5. Geef in het dialoogvenster Simba Spark ODBC-stuurprogramma de volgende waarden op:

    DSN configureren

    De volgende tabel bevat informatie over de waarden die u in het dialoogvenster kunt opgeven.

    Veld Waarde
    naam van gegevensbron Geef een naam op voor de gegevensbron.
    gast(en) Geef de waarde op die u hebt gekopieerd uit de Databricks-werkruimte voor Server-hostnaam.
    poort Voer 443-in.
    > -mechanisme voor verificatie Selecteer gebruikersnaam en wachtwoord.
    gebruikersnaam Voer token in bij.
    wachtwoord Voer de tokenwaarde in die u hebt gekopieerd uit de Databricks-werkruimte.

    Voer de volgende extra stappen uit in het dialoogvenster DSN-installatie.

    • Klik op HTTP Opties. Plak in het dialoogvenster dat wordt geopend de waarde voor HTTP-pad dat u hebt gekopieerd uit de Databricks-werkruimte. Klik op OK-.
    • Klik op SSL-Opties. Schakel in het dialoogvenster dat wordt geopend het selectievakje SSL- inschakelen in. Klik op OK-.
    • Klik op Test om de verbinding met Azure Databricks te testen. Klik op OK- om de configuratie op te slaan.
    • Klik in het dialoogvenster ODBC Data Source Administrator op OK.

U hebt nu uw DSN ingesteld. In de volgende secties gebruikt u deze DSN om vanuit Python of R verbinding te maken met Azure Databricks.

Verbinding maken vanuit R

Notitie

In deze sectie vindt u informatie over het integreren van een R Studio-client die wordt uitgevoerd op uw bureaublad met Azure Databricks. Zie R Studio op Azure Databricksvoor instructies over het gebruik van R Studio in het Azure Databricks-cluster zelf.

In deze sectie gebruikt u een R-taal-IDE om te verwijzen naar gegevens die beschikbaar zijn in Azure Databricks. Voordat u begint, moet u het volgende op de computer hebben geïnstalleerd.

  • Een IDE voor R-taal. In dit artikel wordt RStudio voor Desktop gebruikt. U kunt het installeren vanuit R Studio-download.
  • Als u RStudio voor Desktop als uw IDE gebruikt, installeert u ook Microsoft R Client vanuit https://aka.ms/rclient/.

Open RStudio en voer de volgende stappen uit:

  • Raadpleeg pakket RODBC. Hiermee kunt u verbinding maken met Azure Databricks met behulp van de DSN die u eerder hebt gemaakt.
  • Maak een verbinding met behulp van de DSN.
  • Voer een SQL-query uit op de gegevens in Azure Databricks. In het volgende codefragment is radio_sample_data een tabel die al bestaat in Azure Databricks.
  • Voer enkele bewerkingen uit op de query om de uitvoer te controleren.

Met het volgende codefragment worden deze taken uitgevoerd:

# 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)

Verbinding maken vanuit Python

In deze sectie gebruikt u een Python IDE (zoals IDLE) om te verwijzen naar gegevens die beschikbaar zijn in Azure Databricks. Voordat u begint, moet u de volgende vereisten voltooien:

  • Installeer Python vanuit hier. Als u Python vanaf deze koppeling installeert, wordt ook IDLE geïnstalleerd.

  • Installeer het pyodbc-pakket vanaf een opdrachtprompt op de computer. Voer de volgende opdracht uit:

    pip install pyodbc
    

Open IDLE en voer de volgende stappen uit:

  • Importeer het pyodbc-pakket. Hiermee kunt u verbinding maken met Azure Databricks met behulp van de DSN die u eerder hebt gemaakt.
  • Maak een verbinding met behulp van de DSN die u eerder hebt gemaakt.
  • Voer een SQL-query uit met behulp van de verbinding die u hebt gemaakt. In het volgende codefragment is radio_sample_data een tabel die al bestaat in Azure Databricks.
  • Voer bewerkingen uit op de query om de uitvoer te controleren.

Met het volgende codefragment worden deze taken uitgevoerd:

# 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)

Volgende stappen