Exploración de los archivos Avro capturados en Azure Event Hubs

En este artículo se proporciona el esquema de los archivos Avro capturados por Azure Event Hubs y algunas herramientas para explorarlos.

Schema

Los archivos Avro que genera Capture de Event Hubs tienen el siguiente esquema de Avro:

Imagen que muestra el esquema de los archivos Avro capturados por Azure Event Hubs.

Explorador de Azure Storage

Puede comprobar si los archivos capturados se crearon en la cuenta de Azure Storage mediante herramientas como Explorador de Azure Storage. Los archivos se pueden descargar de forma local para trabajar con ellos.

Para explorar los archivos de Avro fácilmente, utilice el archivo jar Avro Tools desde Apache. También puede utilizar Apache Spark para realizar un procesamiento distribuido complejo de los datos ingestados.

Uso de Apache Spark

Apache Spark es un "motor de análisis unificado para el procesamiento de datos a gran escala". Es compatible con diferentes lenguajes, incluido SQL, y puede acceder fácilmente a Azure Blob Storage. Hay varias opciones para ejecutar Apache Spark en Azure, y todas proporcionan un acceso fácil a Azure Blob Storage:

Uso de Avro Tools

Las herramientas de Avro Tools están disponibles como un paquete jar. Tras descargar este archivo, para ver el esquema de un archivo específico de Avro, ejecute el comando siguiente:

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

Este comando devuelve

{

    "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 Tools también puede utilizarse para convertir el archivo al formato JSON y realizar otro procesamiento.

Para realizar un procesamiento más avanzado, descargue e instale Avro para la plataforma que desee. En el momento de redactar este artículo, existen implementaciones para C, C++, C#, Java, NodeJS, Perl, PHP, Python y Ruby.

Apache Avro tiene guías de introducción para Java y Python muy completas. También puede leer el artículo Getting started with Event Hubs Capture (Introducción a Event Hubs Capture).

Pasos siguientes

Event Hubs Capture es el modo más sencillo de obtener datos en Azure. Con Azure Data Lake, Azure Data Factory y Azure HDInsight, se puede realizar el procesamiento por lotes y cualquier otro análisis mediante las plataformas y herramientas conocidas a la escala que necesite. Para más información sobre esta característica, consulte los siguientes artículos.