Udostępnij za pośrednictwem


Nawiązywanie połączenia z usługą Azure Databricks z poziomu języka Python lub języka R

Z tego artykułu dowiesz się, jak używać sterownika ODBC usługi Databricks do łączenia usługi Azure Databricks z językiem Python lub R. Po nawiązaniu połączenia możesz uzyskać dostęp do danych w usłudze Azure Databricks z poziomu klientów języka Python lub R. Możesz również użyć klientów do dalszej analizy danych.

Warunki wstępne

  • Musisz mieć obszar roboczy usługi Azure Databricks, klaster Spark i przykładowe dane skojarzone z klastrem. Jeśli nie masz jeszcze tych wymagań wstępnych, ukończ przewodnik Szybki start w Rozpoczynanie pracy.

  • Pobierz sterownik ODBC Databricks ze strony pobierania sterownika Databricks . Zainstaluj 64-bitową wersję sterownika.

  • Skonfiguruj osobisty token dostępu w usłudze Databricks. Aby uzyskać instrukcje, zobacz Zarządzanie tokenami.

Ustaw DSN

Nazwa źródła danych (DSN) zawiera informacje o określonym źródle danych. Sterownik ODBC wymaga tej nazwy DSN do nawiązania połączenia ze źródłem danych. W tej sekcji skonfigurujesz DSN, który może być używany ze sterownikiem ODBC Databricks w celu nawiązania połączenia z Azure Databricks za pomocą klientów takich jak Python lub R.

  1. W obszarze roboczym Azure Databricks przejdź do klastra Databricks.

    otwórz klaster usługi Databricks

  2. Na karcie Configuration kliknij kartę JDBC/ODBC i skopiuj wartości nazwy hosta serwera Server i ścieżki HTTP. Te wartości są potrzebne do wykonania kroków opisanych w tym artykule.

    pobierz konfigurację usługi Databricks

  3. Na komputerze uruchom aplikację Źródła danych ODBC w wersji 64-bitowej.

    uruchom aplikację źródeł danych ODBC

  4. Na karcie użytkownika DSN, kliknij Dodaj. W oknie dialogowym Tworzenie nowego źródła danych wybierz Simba Spark ODBC Driver, a następnie kliknij przycisk Zakończ.

    dodawanie źródła danych ODBC

  5. W oknie dialogowym sterownika Simba Spark podaj następujące wartości:

    Konfiguruj DSN

    Poniższa tabela zawiera informacje o wartościach, które należy podać w oknie dialogowym.

    Pole Wartość
    nazwa źródła danych Podaj nazwę źródła danych.
    hostów Podaj wartość skopiowaną z obszaru roboczego usługi Databricks dla nazwy hosta serwera .
    Port Wprowadź 443.
    mechanizm>uwierzytelniania Wybierz nazwę użytkownika i hasło.
    nazwa użytkownika Wprowadź token.
    hasło Wprowadź wartość tokenu skopiowaną z obszaru roboczego usługi Databricks.

    Wykonaj następujące dodatkowe kroki w oknie dialogowym Konfiguracja dsN.

    • Kliknij Opcje HTTP. W wyświetlonym oknie dialogowym wklej wartość ścieżki HTTP skopiowaną z obszaru roboczego usługi Databricks. Kliknij przycisk OK.
    • Kliknij pozycję Opcje protokołu SSL. W wyświetlonym oknie dialogowym zaznacz pole wyboru Włącz SSL. Kliknij przycisk OK.
    • Kliknij Test, aby przetestować połączenie z usługą Azure Databricks. Kliknij przycisk OK, aby zapisać konfigurację.
    • W oknie dialogowym administrator źródła danych ODBC kliknij przycisk OK.

Masz teraz skonfigurowaną nazwę DSN. W następnych sekcjach użyjesz tej nazwy DSN do nawiązania połączenia z usługą Azure Databricks z poziomu języka Python lub języka R.

Nawiązywanie połączenia z poziomu języka R

Notatka

Ta sekcja zawiera informacje na temat sposobu integrowania klienta programu R Studio uruchomionego na pulpicie z usługą Azure Databricks. Aby uzyskać instrukcje dotyczące korzystania z programu R Studio w samym klastrze usługi Azure Databricks, zobacz R Studio w usłudze Azure Databricks.

W tej sekcji użyjesz środowiska IDE języka R do odwołowania się do danych dostępnych w usłudze Azure Databricks. Przed rozpoczęciem na komputerze musi być zainstalowana następująca instalacja.

  • Środowisko IDE dla języka R. W tym artykule jest używany program RStudio for Desktop. Możesz go zainstalować z pobierania programu R Studio.
  • Jeśli używasz programu RStudio for Desktop jako środowiska IDE, zainstaluj również klienta microsoft R z https://aka.ms/rclient/.

Otwórz program RStudio i wykonaj następujące czynności:

  • Odwołaj się do pakietu RODBC. Dzięki temu można nawiązać połączenie z usługą Azure Databricks przy użyciu utworzonej wcześniej nazwy DSN.
  • Nawiąż połączenie za pomocą DSN.
  • Uruchom zapytanie SQL dotyczące danych w usłudze Azure Databricks. W poniższym fragmencie kodu radio_sample_data to tabela, która już istnieje w usłudze Azure Databricks.
  • Wykonaj pewne operacje na zapytaniu, aby zweryfikować dane wyjściowe.

Poniższy fragment kodu wykonuje następujące zadania:

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

Nawiązywanie połączenia z poziomu języka Python

W tej sekcji użyjesz środowiska IDE języka Python (takiego jak IDLE), aby odwołać się do danych dostępnych w usłudze Azure Databricks. Przed rozpoczęciem wykonaj następujące wymagania wstępne:

  • Zainstaluj Pythona z tutaj. Zainstalowanie języka Python z tego linku powoduje również zainstalowanie środowiska IDLE.

  • W wierszu polecenia na komputerze zainstaluj pakiet pyodbc. Uruchom następujące polecenie:

    pip install pyodbc
    

Otwórz plik IDLE i wykonaj następujące czynności:

  • Zaimportuj pakiet pyodbc. Dzięki temu można nawiązać połączenie z usługą Azure Databricks przy użyciu utworzonej wcześniej nazwy DSN.
  • Ustanów połączenie, korzystając z wcześniej utworzonego DSN.
  • Uruchom zapytanie SQL przy użyciu utworzonego połączenia. W poniższym fragmencie kodu radio_sample_data to tabela, która już istnieje w usłudze Azure Databricks.
  • Wykonaj operacje na zapytaniu, aby zweryfikować dane wyjściowe.

Poniższy fragment kodu wykonuje następujące zadania:

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

Następne kroki