Esplorazione dei file Avro acquisiti in Hub eventi di Azure

Questo articolo fornisce lo schema per i file Avro acquisiti da Hub eventi di Azure e alcuni strumenti per esplorare i file.

Schema

I file Avro prodotti dall'acquisizione di Hub eventi hanno lo schema Avro seguente:

Image showing the schema of Avro files captured by Azure Event Hubs.

Azure Storage Explorer

È possibile verificare che i file acquisiti siano stati creati nell'account di archiviazione di Azure usando strumenti come Azure Storage Explorer. È possibile scaricare i file in locale per usarli.

Per esplorare facilmente i file di Avro, è possibile usare il file JAR Avro Tools di Apache. È anche possibile usare Apache Spark per eseguire un'elaborazione distribuita complessa sui dati inseriti.

Usare Apache Spark

Apache Spark è un "motore di analisi unificato per l'elaborazione di dati su larga scala". Supporta diversi linguaggi, tra cui SQL, e può accedere facilmente ad Archiviazione BLOB di Azure. Per l'esecuzione di Apache Spark in Azure sono disponibili diverse opzioni, ciascuna delle quali consente un accesso semplificato ad Archiviazione BLOB di Azure:

Usare Avro Tools

Avro Tools è disponibile come pacchetto JAR. Dopo avere scaricato il file JAR, è possibile visualizzare lo schema di un file Avro specifico eseguendo il comando seguente:

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

Questo comando restituisce

{

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

È anche possibile usare Avro Tools per convertire il file in formato JSON ed eseguire altre operazioni di elaborazione.

Per eseguire operazioni di elaborazione più avanzate, scaricare e installare Avro per la propria piattaforma. Al momento della stesura di questo articolo, sono disponibili implementazioni per C, C++, C#, Java, NodeJS, Perl, PHP, Python e Ruby.

In Apache Avro sono disponibili guide introduttive complete per Java e Python. È anche possibile leggere l'articolo Acquisizione di Hub eventi di Azure.

Passaggi successivi

Acquisizione di Hub eventi rappresenta il modo più facile per ottenere i dati in Azure. Con Azure Data Lake, Azure Data Factory e Azure HDInsight, è possibile eseguire l'elaborazione batch e altre analisi usando strumenti e piattaforme familiari a scelta con la scalabilità necessaria. Per altre informazioni su questa funzionalità, vedere gli articoli seguenti.