Поделиться через


Databricks Connect для R

Примечание.

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

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

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

Дополнительные сведения см. в документации по Databricks Connect версии 2.sparklyr

В этой статье показано, как быстро приступить к работе с Databricks Connect с помощью R и sparklyrRStudio Desktop.

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

Учебник

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

Дополнительные сведения об этом руководстве см. в разделе "Databricks Connect" в Spark Connect и Databricks Connect версии 2 на sparklyr веб-сайте.

Требования

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

  2. Оставьте установку из набора в репозиторий (CRAN).

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

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Оставьте установку в библиотеку для виртуальной среды R.

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

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

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

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

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

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

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

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

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

    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