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:
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:
- HDInsight: Endereçar arquivos no armazenamento do Azure
- Azure Databricks: armazenamento de Blob do Azure. Veja o exemplo a seguir: Streaming em escala com captura de Hubs de Eventos.
- Azure Kubernetes Service
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.