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


Использование API Livy для отправки и выполнения заданий Spark

Примечание.

API Livy для Fabric Инжиниринг данных находится в предварительной версии.

Область применения:✅ Инжиниринг данных и Обработка и анализ данных в Microsoft Fabric

Начало работы с API Livy для Fabric Инжиниринг данных путем создания Lakehouse; проверки подлинности с помощью маркера приложения Microsoft Entra; отправки пакетных заданий или заданий сеансов из удаленного клиента в вычисления Fabric Spark. Вы найдёте конечную точку API Livy; отправите задания; и будете отслеживать результаты.

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

Выбор клиента REST API

Для взаимодействия с конечными точками REST API можно использовать различные языки программирования или клиенты ГРАФИЧЕСКОго интерфейса. В этой статье мы используем Visual Studio Code. Visual Studio Code необходимо настроить с помощью Jupyter Notebook, PySpark и библиотеки проверки подлинности Майкрософт (MSAL) для Python

Авторизация запросов API Livy

Чтобы работать с API Fabric, включая API Livy, сначала необходимо создать приложение Microsoft Entra и получить маркер. Приложение должно быть зарегистрировано и настроено надлежащим образом для выполнения вызовов API к Fabric. Подробнее см. статью о регистрации приложения на платформе удостоверений Майкрософт.

Для выполнения заданий Livy требуется множество разрешений области Microsoft Entra. В этом примере используется простой код Spark + доступ к хранилищу + SQL:

  • Code.AccessAzureDataExplorer.All
  • Code.AccessAzureDataLake.All
  • Code.AccessAzureKeyvault.All
  • Code.AccessFabric.All
  • Code.AccessStorage.All
  • Item.ReadWrite.All
  • Lakehouse.Execute.All
  • Lakehouse.Read.All
  • Workspace.ReadWrite.All

Снимок экрана: разрешения API Livy в Центре администрирования Microsoft Entra.

Примечание.

Во время общедоступной предварительной версии мы добавим несколько дополнительных подробных областей, и если вы используете этот подход, при добавлении этих дополнительных областей приложение Livy будет прерываться. Проверьте этот список, так как он будет обновлен с дополнительными областями.

Некоторые клиенты хотят более детализированных разрешений, чем предыдущий список. Вы можете удалить Item.ReadWrite.All и заменить этими более подробными разрешениями области:

  • Code.AccessAzureDataExplorer.All
  • Code.AccessAzureDataLake.All
  • Code.AccessAzureKeyvault.All
  • Code.AccessFabric.All
  • Code.AccessStorage.All
  • Lakehouse.Execute.All
  • Lakehouse.ReadWrite.All
  • Workspace.ReadWrite.All
  • Notebook.ReadWrite.All
  • SparkJobDefinition.ReadWrite.All
  • MLModel.ReadWrite.All
  • MLExperiment.ReadWrite.All
  • Dataset.ReadWrite.All

При регистрации приложения вам потребуется идентификатор приложения (клиента) и идентификатор каталога (клиента).

Снимок экрана: обзор приложения API Livy в Центре администрирования Microsoft Entra.

Прошедший проверку подлинности пользователь, вызывающий API Livy, должен быть членом рабочей области, где находятся элементы API и источника данных с ролью участника. Дополнительные сведения см. в разделе "Предоставление пользователям доступа к рабочим областям".

Как обнаружить конечную точку API Fabric Livy

Артефакт Lakehouse необходим для доступа к конечной точке Livy. После создания Lakehouse конечная точка API Livy может находиться на панели параметров.

Снимок экрана: конечные точки API Livy в параметрах Lakehouse.

Конечная точка API Livy будет соответствовать этому шаблону:

https://api.fabric.microsoft.com/v1/workspaces/ < >ws_id/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/

URL-адрес добавляется с <сеансами> или <пакетами> в зависимости от выбранного варианта.

Интеграция с средами Fabric

Для каждой рабочей области Fabric подготавливается начальный пул по умолчанию, выполнение всего кода Spark использует этот начальный пул по умолчанию. Среды Fabric можно использовать для настройки заданий Spark API Livy.

Скачайте файлы API Swagger для Livy

Полные файлы спецификации Swagger для API Livy доступны здесь.

Отправка заданий API Livy

После завершения установки API Livy можно отправить пакетные или сеансовые задания.

Мониторинг журнала запросов

Центр мониторинга можно использовать для просмотра предыдущих отправки API Livy и отладки ошибок отправки.

снимок экрана: предыдущие отправки API Livy в центре мониторинга.