Explorando arquivos Avro capturados nos Hubs de Eventos do Azure

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

Esquema

Os arquivos Avro produzidos pela Captura dos Hubs de Eventos têm o seguinte esquema Avro:

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

Gerenciador de Armazenamento do Azure

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

Uma maneira fácil de explorar os arquivos do Avro é usando o jar Ferramentas Avro 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 grande escala". Ele dá suporte a diferentes linguagens, incluindo SQL, e pode acessar facilmente o Armazenamento de Blobs do Azure. Há algumas opções para executar o Apache Spark no Azure e as duas fornecem acesso fácil para o Armazenamento de Blobs do Azure:

Usar Ferramentas Avro

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

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

Esse 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 as Ferramentas Avro para converter o arquivo em formato JSON e executar outros tipos de processamento.

Para executar um processamento mais avançado, baixe e instale o Avro na plataforma escolhida. No momento da redação deste artigo, existem implementações disponíveis para C, C++, C#, Java, NodeJS, Perl, PHP, Python e Ruby.

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

Próximas etapas

A Captura de Hubs de Eventos é a forma mais fácil de obter dados para o Azure. Usando o Azure Data Lake, o Azure Data Factory e o Azure HDInsight, você pode executar processamento em lotes e outras análises usando ferramentas familiares e plataformas de sua escolha, na escala que precisar. Para saber mais sobre esse recurso, confira os artigos a seguir.