Руководство по сбору данных Центров событий в формате Parquet и анализе с помощью Azure Synapse Analytics

Центры событий Azure создают большие объемы потоковых данных, которые часто необходимо хранить для анализа. В этом руководстве показано, как записать эти данные в формате Parquet — формат хранилища столбцов, оптимизированный для рабочих нагрузок аналитики, с помощью Azure Stream Analytics без написания кода.

Используйте редактор без кода Stream Analytics, чтобы создать задание, которое передает данные из Event Hubs непосредственно в Azure Data Lake Storage Gen2. Затем запросите сохраненные файлы Parquet, используя Azure Synapse Analytics с помощью Spark и бессерверного SQL.

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

  • Развертывание генератора событий, отправляющего примеры событий в концентратор событий
  • Создайте задание Stream Analytics с помощью редактора без кода
  • Проверка входных данных и схемы
  • Настройте хранилище Azure Data Lake Storage Gen2 для захвата данных из концентратора событий.
  • Выполнение задания Stream Analytics
  • Используйте Azure Synapse Analytics для выполнения запросов к файлам Parquet

Требования

Прежде чем начать, выполните следующие действия.

Использование бескодового редактора для создания задания Stream Analytics

  1. Найдите группу ресурсов, в которой развернут генератор событий TollApp.

  2. Выберите пространство имен Центров событий Azure. Может потребоваться открыть его на отдельной вкладке или в окне.

    Скриншот: выбор пространства имен Event Hubs в группе ресурсов.

  3. На странице пространства имен Центров событий выберите Центры событий в разделе "Сущности " в меню слева.

  4. Выберите entrystream экземпляр.

    Снимок экрана: выбор концентратора событий.

  5. На странице Event Hubs выберите Обработка данных в разделе Функции в меню слева.

  6. Выберите Начать на плитке Запись данных в ADLS Gen2 в формате Parquet.

    Скриншот, демонстрирующий выбор плитки **Сохранение данных в ADLS Gen2 в формате Parquet**.

  7. Назовите задание parquetcapture и нажмите кнопку "Создать".

    Снимок экрана: страница задания New Stream Analytics.

  8. На странице конфигурации концентратора событий выполните следующие действия.

    1. Для группы потребителей выберите "Использовать существующий".

    2. Убедитесь, что выбрана $Default группа потребителей.

    3. Убедитесь, что сериализация имеет значение JSON.

    4. Убедитесь, что для метода проверки подлинности задано значение Connection String. Чтобы упростить руководство, используйте аутентификацию с использованием строки подключения. В рабочих сценариях рекомендуется использовать управляемое удостоверение Azure для повышения безопасности и упрощения управления. Для получения дополнительной информации см. статью Использование управляемых удостоверений для доступа к центрам событий из задания Azure Stream Analytics.

    5. Убедитесь, что имя общего ключа доступа концентратора событий установлено на RootManageSharedAccessKey.

    6. Выберите "Подключиться" в нижней части окна.

      Снимок экрана: страница конфигурации для концентратора событий.

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

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

  10. Выберите элемент Azure Data Lake Storage 2-го поколения на панели холста и настройте его, указав

    • Подписка, в которой находится учетная запись Azure Data Lake 2-го поколения

    • Имя учетной записи для хранения, которая должна быть такой же учетной записью Azure Data Lake Storage 2-го поколения, используемой в вашей рабочей области Azure Synapse Analytics, как указано в разделе "Предварительные требования".

    • Контейнер, в котором создаются файлы Parquet.

    • Для пути к таблице Delta укажите имя таблицы.

    • Шаблон даты и времени по умолчанию yyyy-MM-dd и HH.

    • Выберите Подключиться.

      Снимок экрана: параметры конфигурации для Data Lake Storage.

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

    Снимок экрана: страница задания Start Stream Analytics.

  12. Список всех заданий Stream Analytics, созданных с помощью редактора без кода. В течение двух минут задание переходит в состояние "Выполнение ". Нажмите кнопку "Обновить" на странице, чтобы увидеть изменение состояния из "Создано" —> "Запуск".>

    Снимок экрана: список заданий Stream Analytics.

Просмотр выходных данных в учетной записи Azure Data Lake Storage 2-го поколения

  1. Найдите учетную запись Azure Data Lake Storage 2-го поколения, используемую на предыдущем шаге.

  2. Выберите контейнеры в разделе хранилища данных в меню слева.

    Снимок экрана: выбор контейнера в Azure Data Lake Storage 2-го поколения.

  3. Выберите контейнер, используемый на предыдущем шаге. Вы увидите файлы parquet, созданные в указанной ранее папке.

    Снимок экрана: захваченные файлы parquet в Azure Data Lake Storage 2-го поколения.

Запрос собранных данных в формате Parquet с помощью Azure Synapse Analytics

Запрос с использованием Azure Synapse Spark

  1. Найдите рабочую область Azure Synapse Analytics и откройте Synapse Studio.

  2. Создайте бессерверный пул Apache Spark в рабочей области, если таковой еще не существует.

  3. Выберите плитку Open Synapse Studio в разделе "Начало работы ", чтобы запустить Synapse Studio на новой вкладке или окне.

  4. В Synapse Studio перейдите в центр Разработка и создайте новую Записную книжку.

    Снимок экрана: Synapse Studio.

  5. Создайте новую ячейку кода и вставьте в нее следующий код. Замените контейнер и adlsname именем контейнера и учетной записи Azure Data Lake Storage 2-го поколения, используемой на предыдущем шаге.

    %%pyspark
    df = spark.read.load('abfss://container@adlsname.dfs.core.windows.net/*/*.parquet', format='parquet')
    display(df.limit(10))
    df.count()
    df.printSchema()
    
  6. Чтобы подключиться к панели инструментов, выберите пул Spark в раскрывающемся списке.

  7. Нажмите кнопку "Выполнить все ", чтобы просмотреть результаты.

    Снимок экрана: результаты выполнения Spark в Azure Synapse Analytics.

Запрос с использованием бессерверных SQL Azure Synapse

  1. В центре Разработка создайте новый скрипт SQL.

    Снимок экрана: страница

  2. Вставьте следующий скрипт и запустите его с помощью встроенной бессерверной конечной точки SQL. Замените контейнер и adlsname именем контейнера и учетной записи Azure Data Lake Storage 2-го поколения, используемой на предыдущем шаге.

    SELECT
        TOP 100 *
    FROM
        OPENROWSET(
            BULK 'https://adlsname.dfs.core.windows.net/container/*/*.parquet',
            FORMAT='PARQUET'
        ) AS [result]
    

    Скриншот результатов скрипта SQL в Azure Synapse Analytics.

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

  1. Найдите экземпляр Event Hubs и просмотрите список заданий Stream Analytics в разделе Process Data. Остановите все выполняемые задания.
  2. Перейдите в группу ресурсов, которую вы использовали при развертывании генератора событий TollApp.
  3. Выберите команду Удалить группу ресурсов. Чтобы подтвердить удаление, введите имя группы ресурсов.

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

В этом руководстве вы узнали, как создать задание Stream Analytics с помощью редактора без кода для записи потоков данных Центров событий в формате Parquet. Затем вы использовали Azure Synapse Analytics для запроса файлов Parquet с помощью Synapse Spark и Synapse SQL.