Использование данных Azure Databricks в Microsoft Power Platform

На этой странице объясняется, как использовать данные Azure Databricks на следующих платформах после создания подключения:

  • Power Apps: создание приложений, которые могут считывать и записывать данные в Azure Databricks, сохраняя элементы управления Azure Databricks.
  • Power Automate: создание потоков и добавление действий, позволяющих выполнять настраиваемый SQL или существующее задание и возвращать результаты.
  • Copilot Studio. Создание настраиваемых агентов с помощью данных Azure Databricks в качестве источника знаний или подключения агентов Genie в качестве инструментов. См. раздел Использование данных Azure Databricks в Microsoft Copilot Studio.

Необходимые условия

Перед подключением к Azure Databricks из Power Platform необходимо создать подключение к Azure Databricks на Платформе Microsoft Power Platform.

Используйте данные Azure Databricks для создания приложений canvas на платформе Power

Чтобы добавить данные Azure Databricks в приложение, сделайте следующее:

  1. В левой панели навигации в Power Apps нажмите кнопку "Создать".
  2. Нажмите кнопку "Начать с пустого холста" и выберите нужный размер холста , чтобы создать новое приложение холста.
  3. В вашем приложении нажмите «Добавить соединители данных» > Azure Databricks>. Щелкните соединение Azure Databricks, созданное вами.
  4. Выберите каталог на боковой панели выбора набора данных .
  5. На боковой панели выбора набора данных выберите все таблицы, к которым нужно подключить приложение холста.
  6. Нажмите кнопку "Подключить".

Операции с данными в Power Apps:

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

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

Использование данных Azure Databricks для создания потоков Power Automate

API выполнения инструкций Azure Databricks и API заданий предоставляются в Power Automate, что позволяет создавать инструкции SQL и запускать существующие задания. Чтобы создать поток Power Automate с помощью Azure Databricks в качестве действия, сделайте следующее:

  1. В левой панели навигации в Power Automate нажмите кнопку "Создать".

  2. Создайте поток и добавьте любой тип триггера.

  3. В новом потоке щелкните +, а затем найдите "Databricks", чтобы просмотреть доступные действия.

  4. Чтобы написать SQL-запрос, выберите одно из следующих действий:

    • Выполните инструкцию SQL: запись и запуск инструкции SQL. Введите следующее:

      • В поле Body/warehouse_id введите идентификатор хранилища, на котором выполняется инструкция SQL.
      • В поле Body/statement_id введите идентификатор инструкции SQL для выполнения.

      Дополнительные сведения о расширенных параметрах см. в документации по API.

    • Проверьте состояние и получите результаты: проверьте состояние инструкции SQL и соберите результаты. Введите следующее:

      • Для идентификатора инструкции введите идентификатор, возвращаемый при выполнении инструкции SQL.

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

    • Отмена выполнения инструкции: Завершение выполнения инструкции SQL. Введите следующее:

      • Для идентификатора инструкции введите идентификатор инструкции SQL для завершения.

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

    • Получение результата по индексу блока: Получение результатов по индексу блока, который подходит для больших результирующих наборов. Введите следующее:

      • Для идентификатора инструкции введите идентификатор инструкции SQL, результаты которой требуется получить.
      • Для индекса блока введите целевой индекс блока.

      Дополнительные сведения о параметрах см. в документации по API.

  5. Чтобы взаимодействовать с существующим заданием Azure Databricks, выберите одно из следующих действий:

    • Список заданий: Извлекает список заданий. Для получения дополнительной информации см. документацию по API.
    • Запустите новый запуск задания: Выполняет задание и возвращает run_id идентификатор запущенного задания. Для получения дополнительной информации см. документацию по API.
    • Получите данные о выполнении одного задания: Возвращает метаданные о выполнении, включая состояние выполнения (например, RUNNING, SUCCESS, FAILED), время начала и окончания выполнения, его продолжительность, сведения о кластере и т. д. Для получения дополнительной информации см. документацию по API.
    • Отмена выполнения: Отменяет выполнение задания или выполнение задачи. Для получения дополнительной информации см. документацию по API.
    • Получите выходные данные для одного запуска: Извлекает выходные данные и метаданные одного задания или выполнения задачи. Для получения дополнительной информации см. документацию по API.

Создание виртуальных таблиц Dataverse с помощью данных Azure Databricks

Вы также можете создавать виртуальные таблицы Dataverse с помощью соединителя Azure Databricks. Виртуальные таблицы, также известные как виртуальные сущности, интегрируют данные из внешних систем с Microsoft Dataverse. Виртуальная таблица определяет таблицу в Dataverse без хранения физической таблицы в базе данных Dataverse. Дополнительные сведения о виртуальных таблицах см. в статье "Начало работы с виртуальными таблицами (сущностями)".

Note

Хотя виртуальные таблицы не используют емкость хранилища Dataverse, Databricks рекомендует использовать прямые подключения для повышения производительности.

У вас должна быть роль настройщика системы или системного администратора. Дополнительные сведения см. в разделе "Роли безопасности" для Power Platform.

Выполните следующие действия, чтобы создать виртуальную таблицу Dataverse:

  1. В Power Apps на боковой панели щелкните "Таблицы".
  2. Щелкните +Создать таблицу в строке меню и выберите "Создать виртуальную таблицу".
  3. Выберите существующее подключение Azure Databricks или создайте новое подключение к Azure Databricks. Сведения о добавлении нового подключения см. в статье "Создание подключения Azure Databricks" на платформе Microsoft Power Platform.
    • Databricks рекомендует использовать подключение с использованием служебного субъекта для создания виртуальной таблицы.
  4. Нажмите кнопку Далее.
  5. Выберите таблицы для представления в виде виртуальной таблицы Dataverse.

    Note

    Для виртуальных таблиц dataverse требуется первичный ключ. Ключ должен быть GUID (строка), bigInt или целое число. Представления не могут быть виртуальными таблицами, но материализованные представления могут быть.

  6. Нажмите кнопку Далее.
  7. При необходимости настройте виртуальную таблицу, обновив сведения о таблице.
  8. Нажмите кнопку Далее.
  9. Подтвердите сведения о источнике данных и нажмите кнопку "Готово".
  10. Используйте виртуальную таблицу Dataverse в Power Apps, Power Automate и Copilot Studio.

Список известных ограничений виртуальных таблиц Dataverse см. в разделе "Известные ограничения" и "Устранение неполадок".

Следует ли использовать виртуальные таблицы или прямое подключение?

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

Метод доступа к данным Передача учетных данных конечного пользователя через OAuth Ноль копирования Читайте Записать данные в Azure Databricks Приложения Canvas Приложения на основе модели
Прямое подключение
Виртуальные таблицы Dataverse

Проведение пакетных обновлений

Если вам нужно выполнить массовые операции создания, обновления или удаления в ответ на входные данные Power Apps, Databricks рекомендует реализовать поток Power Automate. Для этого сделайте следующее:

  1. Создайте приложение Canvas, используя ваше подключение Azure Databricks в Power Apps.

  2. Создайте поток Power Automate с помощью подключения Azure Databricks и используйте Power Apps в качестве триггера.

  3. В триггере Power Automate добавьте поля ввода, которые необходимо передать из Power Apps в Power Automate.

  4. Создайте объект коллекции в Power Apps для сбора всех изменений.

  5. Добавьте поток Power Automate в ваше полотно приложения.

  6. Вызовите поток Power Automate из приложения Canvas и выполните итерацию по коллекции с использованием команды ForAll.

    ForAll(collectionName, FlowName.Run(input field 1, input field 2, input field 3, …)
    

Одновременные операции записи

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

Параллелизм на уровне строк включен в Databricks Runtime 14.2 или более поздней версии. Параллелизм на уровне строк по умолчанию поддерживается для следующих типов таблиц:

  • Таблицы с включенными векторами удаления и без секционирования
  • Таблицы с динамическим кластерированием, если векторы удаления не отключены

Чтобы включить векторы удаления, выполните следующую команду SQL.

ALTER TABLE table_name SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

Дополнительные сведения о параллельных конфликтах записи в Azure Databricks см. в разделе "Уровни изоляции" и конфликты записи.

Ограничения

Ограничения Power Apps

Следующие формулы PowerFx вычисляют значения, используя только данные, полученные локально:

Category Formula
Функция таблицы
  • Группировка по
  • Отличающийся
Aggregation
  • CountRows
  • StdevP
  • StdevS