Подключение в Azure Databricks из Python или R

В этой статье вы узнаете, как использовать драйвер ODBC Databricks для подключения Azure Databricks к языку Python или R. После установления подключения вы можете получить доступ к данным в Azure Databricks из клиентов Python или R. которые также можно использовать для дальнейшего анализа данных.

Необходимые компоненты

  • Необходима рабочая область Azure Databricks, кластер Spark и образцы данных, связанные с кластером. Если у вас еще нет этих предварительных требований, выполните краткое руководство по началу работы.

  • Скачайте драйвер ODBC Databricks со страницы загрузки. Установите 64-разрядную версию драйвера.

  • Настройте личный маркер доступа в Databricks. Инструкции см. в разделе об управлении маркерами.

Настройка имени DSN

Имя источника данных (DSN) содержит сведения о конкретном источнике данных. Оно необходимо драйверу ODBC для подключения к источнику данных. В этом разделе описана настройка dsN, которую можно использовать с драйвером ODBC Databricks для подключения к Azure Databricks от клиентов, таких как Python или R.

  1. В рабочей области Azure Databricks перейдите к кластеру Databricks.

    Open Databricks cluster

  2. На вкладке конфигурации щелкните вкладку JDBC/ODBC и скопируйте значения параметров Server Hostname (Имя узла сервера) и HTTP Path (Путь HTTP). Эти значения необходимы для выполнения шагов в данной статье.

    Get Databricks configuration

  3. На компьютере 64-разрядное приложение "Источники данных ODBC" запустите.

    Launch ODBC Data Sources app

  4. На вкладке DSN пользователя щелкните Добавить. В диалоговом окне Создание нового источника данных выберите Simba Spark ODBC Driver (Драйвер ODBC для Simba Spark), а затем нажмите кнопку Готово.

    Add ODBC data source

  5. В диалоговом окне Simba Spark ODBC Driver (Драйвер ODBC для Simba Spark) введите следующие значения.

    Configure DSN

    В следующей таблице содержатся сведения о значениях, которые необходимо указать в диалоговом окне.

    Поле значение
    Имя источника данных Укажите имя источника данных.
    Узлы Укажите скопированное из рабочей области Databricks значение имени узла сервера.
    порт. Введите 443.
    Проверка подлинности>Механизм Выберите Имя пользователя и пароль.
    Имя пользователя Введите маркер.
    Пароль Введите скопированное из рабочей области Databricks значение маркера.

    Выполните следующие дополнительные действия в диалоговом окне настройки имени DSN.

    • Щелкните HTTP Options (Параметры HTTP). В открывшемся диалоговом окне вставьте значение пути HTTP, скопированное из рабочей области Databricks. Щелкните OK.
    • Щелкните SSL Options (Параметры SSL). В открывшемся диалоговом окне установите флажок Включить SSL. Щелкните OK.
    • Нажмите кнопку Проверка, чтобы проверить подключение к Azure Databricks. Нажмите кнопку ОК, чтобы сохранить конфигурацию.
    • В диалоговом окне Администратор источников данных ODBC нажмите кнопку ОК.

Теперь имя DSN настроено. В следующих разделах вы используете эту dsN для подключения к Azure Databricks из Python или R.

Подключение из R

Примечание.

Сведения о том, как интегрировать клиент R Studio, который запущен на компьютере, с Azure Databricks. Инструкции по использованию R Studio на кластере Azure Databricks см. в статье R Studio on Azure Databricks (R Studio в Azure Databricks).

В этом разделе вы используете интегрированную среду разработки для языка R, чтобы обратиться к данным, доступным в Azure Databricks. Перед началом работы на вашем компьютере должны быть установлены следующие компоненты.

  • Интегрированная среда разработки для языка R. В этой статье используется приложение RStudio для рабочего стола. Его можно установить со страницы загрузки RStudio.
  • При использовании RStudio для рабочего стола в качестве интегрированной среды разработки установите Microsoft R Client, перейдя по адресу https://aka.ms/rclient/.

Откройте RStudio и выполните описанные ниже действия.

  • Ссылаться на пакет RODBC. Это даст возможность подключиться к Azure Databricks с помощью созданного ранее имени DSN.
  • Установите подключение, используя имя DSN.
  • Выполните SQL-запрос к данным в Azure Databricks. В следующем фрагменте кода radio_sample_data — это таблица, уже существующая в Azure Databricks.
  • Выполните операции с запросом, чтобы проверить выходные данные.

Следующий фрагмент кода выполняет эти задачи:

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

Подключение из Python

В этом разделе вы используете интегрированную среду разработки для Python (например, IDLE) для обращения к данным, доступным в Azure Databricks. Перед началом работы выполните следующее:

  • Установите Python, перейдя по этой ссылке. Этот комплект также включает установку IDLE.

  • С помощью командной строки на компьютере установите пакет pyodbc. Выполните следующую команду:

    pip install pyodbc
    

Откройте IDLE и выполните следующие действия.

  • Импортируйте пакет pyodbc. Это даст возможность подключиться к Azure Databricks с помощью созданного ранее имени DSN.
  • Установите подключение, используя созданное ранее имя DSN.
  • Выполните SQL-запрос с помощью созданного подключения. В следующем фрагменте кода radio_sample_data — это таблица, уже существующая в Azure Databricks.
  • Выполните операции с запросом, чтобы проверить выходные данные.

Следующий фрагмент кода выполняет эти задачи:

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

Следующие шаги

  • Дополнительные сведения об источниках, из которых можно выполнить импорт данных Azure Databricks см. здесь.