Изучение захваченных файлов Avro в Azure Event Hubs

В этой статье представлена схема файлов Avro, захваченных Azure Event Hubs и несколькими средствами для изучения файлов.

Схема

Файлы Avro, созданные с помощью функции Event Hubs Capture, имеют следующую схему Avro.

Изображение, показывающее схему файлов Avro, захваченных Azure Event Hubs.

Azure Storage Explorer

Вы можете убедиться, что захваченные файлы были созданы в учетной записи Azure Storage с помощью таких средств, как Azure Storage Explorer. Чтобы выполнить определенные действия с этими файлами, их можно скачать локально.

Простой способ изучения файлов Avro — использовать jar-файл Avro Tools из Apache. Вы также можете использовать Apache Spark для выполнения сложной распределенной обработки для приема данных.

Использование Apache Spark

Apache Spark — это "единый механизм аналитики для крупномасштабной обработки данных". Он поддерживает различные языки, включая SQL, и может легко получить доступ к хранилищу BLOB-объектов Azure. Существует несколько вариантов запуска Apache Spark в Azure, и каждый предоставляет простой доступ к хранилищу BLOB-объектов Azure:

Использование средств Avro

Средства Avro доступны в виде jar-пакета. После того как вы загрузили этот JAR-файл, чтобы просмотреть схему определенного файла Avro, выполните следующую команду:

java -jar avro-tools-1.9.1.jar getschema <name of capture file>

Эта команда возвращает следующее:

{

    "type":"record",
    "name":"EventData",
    "namespace":"Microsoft.ServiceBus.Messaging",
    "fields":[
                 {"name":"SequenceNumber","type":"long"},
                 {"name":"Offset","type":"string"},
                 {"name":"EnqueuedTimeUtc","type":"string"},
                 {"name":"SystemProperties","type":{"type":"map","values":["long","double","string","bytes"]}},
                 {"name":"Properties","type":{"type":"map","values":["long","double","string","bytes"]}},
                 {"name":"Body","type":["null","bytes"]}
             ]
}

Средства Avro можно также использовать для преобразования файлов в формат JSON и выполнения других задач обработки.

Чтобы выполнить более расширенную обработку, скачайте и установите Avro для определенной платформы. Во время написания этой статьи доступны реализации для C, C++, C#, Java, NodeJS, Perl, PHP, Python и Ruby.

Apache Avro содержит полные руководства по началу работы для Java и Python. Вы также можете прочитать статью "Приступая к работе с Event Hubs".

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

Захват данных с помощью Event Hubs — это самый простой способ получить данные в Azure. Используя Azure Data Lake, Azure Data Factory и Azure HDInsight, вы можете выполнять пакетную обработку и другую аналитику с помощью знакомых инструментов и платформ, которые вы выбираете, в любом масштабе. Дополнительные сведения об этой функции см. в приведенных ниже статьях.