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:
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:
- HDInsight: Arquivos de endereços no armazenamento do Azure
- Azure Databricks: armazenamento de Blobs do Azure. Consulte o exemplo a seguir: streaming em escala com Captura de hubs de eventos.
- Serviço de Kubernetes 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.