Explorar ficheiros Avro capturados no Hubs de Eventos do Azure
Este artigo fornece o esquema para ficheiros Avro capturados por Hubs de Eventos do Azure e algumas ferramentas para explorar os ficheiros.
Esquema
Os ficheiros Avro produzidos pela Captura de Hubs de Eventos têm o seguinte esquema Avro:
Explorador de Armazenamento do Azure
Pode verificar se os ficheiros capturados foram criados na conta de Armazenamento do Azure com ferramentas como Explorador de Armazenamento do Azure. Pode transferir ficheiros localmente para trabalhar nos mesmos.
Uma forma fácil de explorar ficheiros Avro é através do jar das Ferramentas Avro do Apache. Também pode utilizar o Apache Spark para realizar processamento distribuído complexo nos dados ingeridos.
Utilizar o Apache Spark
O Apache Spark é um "motor de análise unificado para processamento de dados em grande escala". Suporta diferentes idiomas, incluindo o SQL, e pode aceder facilmente ao armazenamento de Blobs do Azure. Existem algumas opções para executar o Apache Spark no Azure e cada uma fornece acesso fácil ao armazenamento de Blobs do Azure:
- HDInsight: Ficheiros de endereço no armazenamento do Azure
- Azure Databricks: Armazenamento de Blobs do Azure. Veja o exemplo seguinte: Transmissão em Fluxo em Escala com Captura de Hubs de Eventos.
- Azure Kubernetes Service
Utilizar Ferramentas Avro
As Ferramentas Avro estão disponíveis como um pacote jar. Depois de transferir o ficheiro jar, pode ver o esquema de um ficheiro Avro específico ao executar o seguinte comando:
java -jar avro-tools-1.9.1.jar getschema <name of capture file>
Este comando devolve
{
"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"]}
]
}
Também pode utilizar as Ferramentas Avro para converter o ficheiro em formato JSON e efetuar outro processamento.
Para realizar um processamento mais avançado, transfira e instale o Avro para a sua escolha de plataforma. No momento da escrita, existem implementações disponíveis para C, C++, C#, Java, NodeJS, Perl, PHP, Python e Ruby.
O Apache Avro concluiu Introdução guias para Java e Python. Também pode ler o artigo Introdução à Captura de Hubs de Eventos .
Passos seguintes
A Captura de Hubs de Eventos é a forma mais fácil de obter dados para o Azure. Com o Azure Data Lake, o Azure Data Factory e o Azure HDInsight, pode efetuar o processamento em lotes e outras análises com ferramentas e plataformas familiares à sua escolha, a qualquer escala necessária. Veja os seguintes artigos para saber mais sobre esta funcionalidade.