Руководство. Анализ данных Apache Spark с использованием Power BI в HDInsight

Из этого руководства вы узнаете, как использовать Microsoft Power BI для визуализации данных в кластере Apache Spark в Azure HDInsight.

В этом руководстве описано следующее:

  • Визуализация данных Spark с помощью Power BI

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

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

Проверка данных

Записная книжка Jupyter Notebook, созданная при работе с предыдущим руководством, содержит код для создания таблицы hvac. Эта таблица основана на CSV-файле, доступном во всех кластерах HDInsight Spark в \HdiSamples\HdiSamples\SensorSampleData\hvac\hvac.csv. Ниже описана процедура проверки данных.

  1. В записной книжке Jupyter Notebook вставьте приведенный ниже пример кода и нажмите клавиши SHIFT+ВВОД. Этот код предназначен для проверки наличия таблиц.

    %%sql
    SHOW TABLES
    

    Выходные данные выглядят следующим образом.

    Снимок экрана: таблицы в Spark.

    Если закрыть записную книжку перед выполнением шага выше, таблица hvactemptable будет очищена и не будет включена в выходные данные. С помощью инструментов бизнес-аналитики можно получить доступ только к таблицам Hive, размещенным в хранилище метаданных (для таких таблиц в столбце isTemporary задано значение false). В этом руководстве вы подключитесь к созданной ранее таблице hvac.

  2. Вставьте указанный ниже фрагмент кода в пустую ячейку и нажмите клавиши SHIFT + ВВОД. Этот код проверяет данные в таблице.

    %%sql
    SELECT * FROM hvac LIMIT 10
    

    Выходные данные выглядят следующим образом.

    Снимок экрана: строки из таблицы hvac в Spark.

  3. Для этого в меню File (Файл) элемента Notebook выберите Close and Halt (Закрыть и остановить). Завершите работу записной книжки для освобождения ресурсов.

Визуализация данных

В этом разделе вы с помощью Power BI создадите визуализации, отчеты и панели мониторинга на основе данных из кластера Spark.

Создание отчета в Power BI Desktop

Начиная работать со Spark, в первую очередь необходимо подключиться к кластеру в Power BI Desktop, загрузить данные из кластера, а затем создать базовую визуализацию на основе этих данных.

  1. Запустите Power BI Desktop. Закройте экран-заставку запуска, если он открыт.

  2. Перейдите с вкладки Домашняя страница к элементу Получение данных>Дополнительно...

    Снимок экрана: получение данных в Power BI Desktop из HDInsight Apache Spark.

  3. Введите в поле поиска Spark и выберите Azure HDInsight Spark, а затем щелкните Подключиться.

    Снимок экрана: получение данных в Power BI из Apache Spark BI.

  4. Введите URL-адрес кластера (в формате mysparkcluster.azurehdinsight.net) в текстовое поле Сервер.

  5. В разделе Режим подключения к данным выберите DirectQuery. Затем выберите OK.

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

  6. Введите данные учетной записи для входа в HDInsight и выберите Подключиться. Имя учетной записи по умолчанию — admin.

  7. Выберите таблицу hvac, дождитесь отображения данных предварительного просмотра и щелкните Загрузка.

    Снимок экрана: имя пользователя кластера Spark и пароль.

    Теперь в Power BI Desktop есть все сведения, необходимые для подключения к кластеру Spark и загрузки данных из таблицы hvac. Таблица и ее столбцы отображаются в области Fields (Поля).

  8. Отобразите расхождения между целевой температурой и фактической температурой для каждого здания:

    1. В области визуализаций выберите Диаграмма с областями.

    2. Перетащите поле BuildingID в раздел Ось, а поля ActualTemp и TargetTemp в раздел значений.

      Снимок экрана: столбцы добавления значений.

      Схема выглядит следующим образом.

      Снимок экрана: сумма графа области.

      По умолчанию представление показывает сумму для фактической температуры и целевой температуры. Выберите направленную вниз стрелку рядом с полями ActualTemp и TragetTemp на панели визуализации, и вы увидите выбранную сумму.

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

      Снимок экрана: среднее значение.

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

      Снимок экрана: граф областей

  9. Выберите Файл>Сохранить, введите имя BuildingTemperature для файла, а затем выберите Сохранить.

Публикация отчета в службе Power BI (необязательно)

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

  1. Запустите Power BI Desktop.

  2. На вкладке Главная выберите Опубликовать.

    Снимок экрана: публикация из Power BI Desktop.

  3. Выберите рабочую область, в которой вы хотите опубликовать набор данных и отчет, а затем нажмите кнопку Выбор. На рисунке ниже выбран параметр по умолчанию Моя рабочая область.

    Снимок экрана: выбор рабочей области для публикации набора данных и отчета.

  4. Когда публикация успешно завершится, щелкните ссылку Открыть BuildingTemperature.pbix в Power BI.

    Снимок экрана: успешное публикация, щелкните, чтобы ввести учетные данные.

  5. В службе Power BI щелкните ссылку, чтобы ввести учетные данные.

    Снимок экрана: ввод учетных данных в служба Power BI.

  6. Щелкните ссылку, чтобы изменить учетные данные.

    Снимок экрана: изменение учетных данных в служба Power BI.

  7. Введите данные учетной записи для входа в HDInsight и нажмите кнопку Вход. Имя учетной записи по умолчанию — admin.

    Снимок экрана: вход в кластер Spark.

  8. В области слева выберите элементы Рабочие области>Моя рабочая область>Отчеты, а затем щелкните BuildingTemperature.

    Снимок экрана: отчет, указанный в отчетах в левой области.

    Вы также увидите BuildingTemperature в списке раздела Наборы данных в левой области.

    Визуальный элемент, созданный в Power BI Desktop, теперь доступен в службе Power BI.

  9. Наведите курсор на визуализацию и щелкните значок булавки в правом верхнем углу.

    Снимок экрана: отчет в служба Power BI.

  10. Выберите параметр "Новая информационная панель", введите имя Building temperature, а затем нажмите кнопку Закрепить.

    Снимок экрана: закрепление на новой панели мониторинга.

  11. В отчете нажмите кнопку Перейти на информационную панель.

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

Очистка ресурсов

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

Инструкции по удалению кластера см. в статье Delete an HDInsight cluster using your browser, PowerShell, or the Azure CLI (Удаление кластера HDInsight с помощью браузера, PowerShell или Azure CLI).

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

Из этого учебника вы узнали, как использовать Microsoft Power BI для визуализации данных в кластере Apache Spark в Azure HDInsight. Перейдите к следующей статье, чтобы создать приложение машинного обучения.