Databricks Connect для R

Примечание.

В этой статье рассматривается sparklyr интеграция с Databricks Connect для Databricks Runtime 13.0 и более поздних версий. Эта интеграция не предоставляется и напрямую не поддерживается Databricks.

Для вопросов перейдите в сообщество Posit.

Чтобы сообщить о проблемах, перейдите в раздел Issues репозитория на sparklyr GitHub.

Более подробную информацию см. в документации Databricks Connect v2.sparklyr

Databricks Connect позволяет подключать популярные среды разработки, такие как RStudio Desktop, серверы записных книжек и другие пользовательские приложения к кластерам Azure Databricks. См. Databricks Connect.

Примечание.

Databricks Connect имеет ограниченную совместимость с Apache Spark MLlib, так как Spark MLlib использует RDD, а Databricks Connect поддерживает только API кадра данных. Чтобы использовать все функции Spark MLlib из пакета sparklyr, применяйте ноутбуки Databricks или db_repl функцию пакета brickster.

В этой статье описано, как быстро начать работу с Databricks Connect для R с помощью sparklyr и RStudio Desktop.

Учебник

В следующем руководстве вы создадите проект в RStudio, установите и настройте Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий и выполните простой код для вычислений в рабочей области Databricks из RStudio. Дополнительные сведения об этом руководстве см. в разделе "Databricks Connect" в Spark Connect и Databricks Connect версии 2 на sparklyr веб-сайте.

В этом руководстве используется RStudio Desktop и Python 3.10. Если они еще не установлены, установите R и RStudio Desktop, а также Python 3.10.

Требования

Чтобы завершить работу с этим руководством, необходимо выполнить следующие требования:

  • Целевая рабочая область и кластер Azure Databricks должны соответствовать требованиям к конфигурации Compute для Databricks Connect.
  • У вас должен быть доступный идентификатор кластера. Чтобы получить идентификатор кластера, в рабочей области щелкните "Вычислить " на боковой панели и выберите имя кластера. В адресной строке веб-браузера скопируйте строку символов между clusters и configuration в URL-адресе.

Шаг 1. Создайте личный токен доступа

Примечание.

Databricks Connect для аутентификации с использованием R сейчас поддерживает только персональные токены доступа Azure Databricks.

В этом руководстве используется аутентификация с личным маркером доступа Azure Databricks для работы с вашей рабочей областью Azure Databricks.

Если у вас уже есть Azure Databricks личный маркер доступа, перейдите к шагу 2. Если вы не уверены, есть ли у вас уже токен личного доступа Azure Databricks, вы можете выполнить этот шаг, не затрагивая другие токены личного доступа Azure Databricks в вашей учетной записи.

Чтобы создать личный маркер доступа, выполните действия, описанные в разделе "Создание личных маркеров доступа для пользователей рабочей области".

Шаг 2. Создание проекта

  1. Запустите RStudio Desktop.
  2. В главном меню щелкните File > New Project.
  3. Выберите новый каталог.
  4. Выберите New Project.
  5. Для имени каталога и создания проекта в качестве подкаталога введите имя нового каталога проекта и где создать этот каталог проекта.
  6. Выберите «Использовать renv с этим проектом». Если появится запрос на установку обновленной renv версии пакета, нажмите кнопку "Да".
  7. Щелкните Create Project.

Создание проекта RStudio Desktop

Шаг 3. Добавление пакета Databricks Connect и других зависимостей

  1. В главном меню RStudio Desktop нажмите кнопку "Сервис > установки пакетов".

  2. Оставьте Установить из установленным на Репозиторий (CRAN).

  3. Для пакетов введите следующий список пакетов, которые являются предварительными условиями для пакета Databricks Connect и для этого руководства:

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Оставьте Install to Library установленным для вашей виртуальной среды R.

  5. Убедитесь, что выбраны зависимости установки.

  6. Щелкните Установить.

Установка зависимостей пакета Databricks Connect

  1. При появлении запроса в представлении консоли (вид > переключение фокуса на консоль) для продолжения установки введите Y. Пакеты sparklyr и pysparklyr, и их зависимости, установлены в виртуальной среде языка R.

  2. В области Console используйте reticulate для установки Python, выполнив следующую команду. (Для подключения Databricks для R требуется сначала установить reticulate и Python.) В следующей команде замените 3.10 основной и дополнительной версией версии Python, установленной в кластере Azure Databricks. Чтобы найти эту основную и второстепенную версию, см. раздел "Системная среда" заметок о выпуске для версии среды выполнения Databricks вашего кластера в заметках о выпуске Databricks Runtime: версии и совместимость.

    reticulate::install_python(version = "3.10")
    
  3. В области консоли установите пакет Databricks Connect, выполнив следующую команду. В следующей команде замените 13.3 версией среды выполнения Databricks, установленной в кластере Azure Databricks. Чтобы найти эту версию, на странице сведений о кластере в рабочей области Azure Databricks на вкладке Configuration перейдите на вкладку Databricks Runtime version.

    pysparklyr::install_databricks(version = "13.3")
    

    Если вы не знаете версию среды выполнения Databricks для кластера или не хотите искать ее, можно выполнить следующую команду и pysparklyr запросить кластер, чтобы определить правильную версию среды выполнения Databricks для использования:

    pysparklyr::install_databricks(cluster_id = "<cluster-id>")
    

    Если вы хотите, чтобы проект подключился позже к другому кластеру с той же версией Databricks Runtime, что и только что указанная, pysparklyr будет использовать ту же среду Python. Если новый кластер имеет другую версию Databricks Runtime, выполните pysparklyr::install_databricks команду еще раз с новой версией или идентификатором кластера Databricks Runtime.

Шаг 4. Задание переменных среды для URL-адреса рабочей области, маркера доступа и идентификатора кластера

Databricks не рекомендует жестко фиксировать или напрямую вписывать в ваши скрипты R такие чувствительные или изменяемые значения, как URL-адрес рабочей области Azure Databricks, личный токен доступа Azure Databricks или идентификатор кластера Azure Databricks. Вместо этого сохраните эти значения отдельно, например в переменных локальной среды. В этом руководстве используется встроенная поддержка RStudio Desktop для хранения переменных среды в .Renviron файле.

  1. .Renviron Создайте файл для хранения переменных среды, если этот файл еще не существует, а затем откройте этот файл для редактирования: в консоли рабочего стола RStudio выполните следующую команду:

    usethis::edit_r_environ()
    
  2. В файле .Renviron, который появится (Просмотр > Переместить фокус в источник), введите следующее содержимое. В этом содержимом замените следующие заполнители:

    • Замените <workspace-url> на ваш URL-адрес для каждого рабочего пространства, например, https://adb-1234567890123456.7.azuredatabricks.net.
    • Замените <personal-access-token> вашим Azure Databricks личным токеном доступа на шаге 1.
    • Замените <cluster-id> на ваш идентификатор кластера из требований этого руководства.
    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. Сохраните файл .Renviron.

  4. Загрузите переменные среды в R: в главном меню нажмите кнопку "Перезапустить сеанс > R".

Установка переменных среды для Databricks Connect

Шаг 5. Добавление кода

  1. В главном меню RStudio Desktop выберите Файл > Новый файл > R-скрипт.

  2. Введите следующий код в файл, а затем сохраните файл (> файл) какdemo.R:

    library(sparklyr)
    library(dplyr)
    library(dbplyr)
    
    sc <- sparklyr::spark_connect(
      master     = Sys.getenv("DATABRICKS_HOST"),
      cluster_id = Sys.getenv("DATABRICKS_CLUSTER_ID"),
      token      = Sys.getenv("DATABRICKS_TOKEN"),
      method     = "databricks_connect",
      envname    = "r-reticulate"
    )
    
    trips <- dplyr::tbl(
      sc,
      dbplyr::in_catalog("samples", "nyctaxi", "trips")
    )
    
    print(trips, n = 5)
    

Шаг 6. Запуск кода

  1. На рабочем столе RStudio на панели инструментов для demo.R файла нажмите кнопку "Источник".

    Запуск проекта RStudio Desktop

  2. В консоли отображаются первые пять строк trips таблицы.

  3. В представлении "Подключения" (просмотр > "Показать подключения") можно изучить доступные каталоги, схемы, таблицы и представления.

    Вид

Шаг 7. Отладка кода

  1. В файле demo.R щелкните в поле рядом с print(trips, n = 5), чтобы установить точку останова.
  2. На панели инструментов для demo.R файла нажмите кнопку "Источник".
  3. При приостановке выполнения кода в точке останова можно проверить переменную в представлении среды (просмотр > среды).
  4. В главном меню нажмите Отладка > Продолжить.
  5. В консоли отображаются первые пять строк trips таблицы.

Отладка проекта RStudio Desktop