Explorando arquivos Avro capturados nos Hubs de Eventos do Azure

Este artigo fornece o esquema para arquivos Avro capturados pelos Hubs de Eventos do Azure e algumas ferramentas para explorar os arquivos.

Esquema

Os arquivos Avro produzidos pelo Event Hubs Capture têm o seguinte esquema Avro:

Imagem mostrando o esquema de arquivos Avro capturados pelos Hubs de Eventos do Azure.

Explorador de Armazenamento do Azure

Você pode verificar se os arquivos capturados foram criados na conta de Armazenamento do Azure usando ferramentas como o Gerenciador de Armazenamento do Azure. Você pode baixar arquivos localmente para trabalhar neles.

Uma maneira fácil de explorar arquivos Avro é usando o jar Avro Tools do Apache. Você também pode usar o Apache Spark para executar processamento distribuído complexo nos dados ingeridos.

Usar o Apache Spark

O Apache Spark é um "mecanismo de análise unificado para processamento de dados em larga escala". Ele dá suporte a diferentes idiomas, incluindo SQL, e pode acessar facilmente o armazenamento de Blob do Azure. Há algumas opções para executar o Apache Spark no Azure, e cada uma fornece acesso fácil ao armazenamento de Blob do Azure:

Usar o Avro Tools

Avro Tools estão disponíveis como um pacote de frascos. Depois de baixar o arquivo jar, você pode ver o esquema de um arquivo Avro específico executando o seguinte comando:

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

Este comando retorna

{

    "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"]}
             ]
}

Você também pode usar o Avro Tools para converter o arquivo para o formato JSON e executar outro processamento.

Para realizar um processamento mais avançado, baixe e instale o Avro para sua escolha de plataforma. No momento em que este artigo foi escrito, há implementações disponíveis para C, C++, C#, Java, NodeJS, Perl, PHP, Python e Ruby.

O Apache Avro tem guias completos de Introdução para Java e Python. Você também pode ler o artigo Introdução à captura de Hubs de Eventos .

Próximos passos

A Captura de Hubs de Eventos é a maneira mais fácil de obter dados no Azure. Usando o Azure Data Lake, o Azure Data Factory e o Azure HDInsight, você pode executar processamento em lote e outras análises usando ferramentas e plataformas familiares de sua escolha, em qualquer escala necessária. Consulte os artigos a seguir para saber mais sobre esse recurso.