Вывод данных Power BI из Azure Stream Analytics

Вы можете использовать Power BI в качестве выходных данных для задания Stream Analytics, чтобы обеспечить широкие возможности визуализации результатов анализа. Визуализация позволяет создавать панели мониторинга оперативных данных, формировать отчеты и составлять отчетности на основе метрик.

Примечание.

Выходные данные Power BI из Stream Analytics в настоящее время недоступны в Microsoft Azure, управляемых 21Vianet и Azure Germany (T-Systems International).

Конфигурация выходных данных

В таблице ниже перечислены имена свойств и их описания для настройки выходных данных Power BI.

Имя свойства Description
Псевдоним выходных данных Укажите понятное имя, которое используется в запросах для направления выходных данных запроса в эти выходные данные Power BI.
Рабочая область группы Чтобы иметь возможность обмениваться данными с другими пользователями Power BI, вы можете выбрать группы в своей учетной записи Power BI или щелкнуть Моя рабочая область, если не хотите записывать данные в группу. Для обновления существующей группы требуется повторно выполнить проверку подлинности в службе Power BI.
Имя набора данных Укажите имя набора данных, который будет использоваться для выходных данных Power BI.
Имя таблицы Имя таблицы в наборе выходных данных Power BI. Сейчас для вывода выходных данных из заданий Stream Analytics в Power BI можно использовать только одну таблицу в наборе данных.
Авторизовать подключение Чтобы продолжить настройку параметров вывода, необходима авторизация Power BI. После предоставления этим выходным данным доступа к панели мониторинга Power BI доступ можно отозвать, изменив пароль учетной записи пользователя, удалив выходные данные задания или удалив задание Stream Analytics.

Пошаговое руководство по настройке выходных данных и панели мониторинга Power BI см. в руководстве по анализу данных мошеннических вызовов с помощью Stream Analytics и визуализации результатов в руководстве по панели мониторинга Power BI.

Примечание.

Не создавайте вручную набор данных и таблицу на панели мониторинга Power BI. Они будут автоматически созданы при запуске задания, когда задание начнет вносить выходные данные в Power BI. Если запрос задания не создает никаких результатов, набор данных и таблица не создаются. Если в Power BI уже есть набор данных и таблица с именем, аналогичным указанному в этом задании Stream Analytics, существующие данные будут перезаписаны.

Создание схемы

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

Power BI использует политику хранения "первым поступил — первым обслужен" (FIFO). Данные собираются в таблице, пока она не достигнет 200 000 строк.

Примечание.

Не рекомендуется использовать многократный вывод данных для записи в один и тот же набор данных, так как это может привести к нескольким проблемам. При каждом выводе данных выполняется попытка независимо создать набор данных Power BI, в результате чего могут быть созданы несколько наборов данных с одинаковым именем. Кроме того, если схемы вывода данных не согласованы, набор данных изменяет схему при каждой записи, что приводит к слишком большому числу запросов на ее изменение. Даже если удастся избежать этих проблем, многократный вывод данных менее производителен, чем однократный вывод объединенных данных.

Преобразование типа данных из Stream Analytics в Power BI

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

В этой таблице представлено преобразование типов данных Stream Analytics в типы данных Entity Data Model (EDM), используемые в Power BI, если набор данных и таблица Power BI не созданы.

Из Stream Analytics В Power BI
bigint Int64
nvarchar(max) Строка
datetime Дата и время
с плавающей запятой Двойной
Record array Тип строки, константное значение IRecord или IArray

Обновление схемы

Stream Analytics определяет схему модели данных на основе первого набора событий в выходных данных. Затем (при необходимости) схема модели данных обновляется для размещения входящих событий, которые могут не соответствовать исходной схеме.

Избегайте запроса SELECT *, чтобы предотвратить динамическое обновление схемы в строках. Помимо потенциального влияния на производительность, это также может привести к неопределенности значения времени, затраченного на результаты. Выберите те поля, которые должны отображаться на панели мониторинга Power BI. Кроме того, значения данных должны соответствовать выбранному типу данных.

Предыдущий или текущий Int64 Строка Дата и время Двойной
Int64 Int64 Строка Строка Двойной
Двойной Двойной Строка Строка Двойной
Строка Строка Строка Строка Строка
Дата и время Строка Строка Дата и время Строка

Ограничения и рекомендации

Сейчас Power BI можно вызывать примерно один раз в секунду. Визуальные элементы потоковой передачи поддерживают пакеты размером в 15 КБ. При превышении этого порога визуальные элементы потоковой передачи останавливаются (но данные для отправки продолжают обрабатываться). С учетом этого Power BI лучше всего подходит для случаев, когда Azure Stream Analytics значительно уменьшает объем передаваемых данных. Мы рекомендуем использовать переворачивающееся или прыгающее окно, чтобы отправка данных происходила не чаще одного раза в секунду, а запрос отвечал требованиям к пропускной способности. Дополнительные сведения о размере выходного пакета см. в статье Ограничения REST API Power BI.

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

Screenshot of equation to compute value to give window in seconds.

Например:

  • У вас есть 1000 устройств, отправляющих данные с интервалами в 1 секунду.
  • Вы используете номер SKU Power BI Pro, который поддерживает 1000 000 строк в час.
  • Вы хотите публиковать в Power BI средний объем данных на каждом устройстве.

Соответствующее выражение для расчета выглядит так:

Screenshot of equation based on example criteria.

Учитывая эту конфигурацию, можно изменить исходный запрос на один:

    SELECT
        MAX(hmdt) AS hmdt,
        MAX(temp) AS temp,
        System.TimeStamp AS time,
        dspl
    INTO "CallStream-PowerBI"
    FROM
        Input TIMESTAMP BY time
    GROUP BY
        TUMBLINGWINDOW(ss,4),
        dspl

Обновление авторизации

Если с момента создания задания или последней аутентификации пароль был изменен, необходимо повторно выполнить аутентификацию с учетной записью Power BI. Если многофакторная проверка подлинности Microsoft Entra настроена в клиенте Microsoft Entra, необходимо также продлить авторизацию Power BI каждые две недели. Если вы этого не сделаете, возможны такие проблемы, как отсутствие выходных данных задания или Authenticate user error в журналах операций.

Аналогично, если задание запускается после истечения срока действия маркера, возникает ошибка и происходит сбой задания. Чтобы устранить эту проблему, остановите выполнение задания и перейдите к выходным данным Power BI. Чтобы избежать потери данных, щелкните ссылку Обновить авторизацию и перезапустите задание со времени последней остановки.

Когда вы обновите авторизацию в Power BI, в области авторизации появится оповещение зеленого цвета о том, что проблема устранена. Чтобы преодолеть это ограничение, рекомендуется использовать управляемое удостоверение для проверки подлинности задания Azure Stream Analytics в Power BI.

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