Driver ABFS (Azure Blob File System): un driver di Archiviazione di Azure dedicato per Hadoop

Uno dei metodi di accesso principali per i dati archiviati in Azure Data Lake Storage Gen2 consiste nell'uso del file system Hadoop. Data Lake Storage Gen2 consente agli utenti di Archiviazione BLOB di Azure di accedere a un nuovo driver, il driver del file system BLOB di Azure o ABFS. ABFS fa parte di Apache Hadoop ed è incluso in molte delle distribuzioni commerciali di Hadoop. Con il driver ABFS, molte applicazioni e framework possono accedere ai dati in Archiviazione BLOB di Azure senza codice che faccia riferimento in modo esplicito a Data Lake Archiviazione Gen2.

Funzionalità principale: driver del BLOB del servizio di archiviazione di Azure

Il driver del BLOB del servizio di archiviazione di Azure o driver WASB forniva il supporto originale per Archiviazione BLOB di Azure. Il driver eseguiva un'attività complessa che consisteva nel mappare la semantica basata su file system, come richiesta dall'interfaccia del file system Hadoop, a quella dell'interfaccia basata sullo stile di archiviazione degli oggetti esposta da Archiviazione BLOB di Azure. Questo driver continua a supportare questo modello, fornendo un accesso ad alte prestazioni ai dati archiviati nei BLOB, ma contiene una quantità significativa di codice che esegue questo mapping, rendendo difficile la manutenzione. Inoltre, alcuni comandi come FileSystem.rename() e FileSystem.delete(), quando applicati a directory, richiedono l'esecuzione di una notevole quantità di operazioni, poiché negli archivi degli oggetti non sono supportate le directory, e questo influisce spesso negativamente sulle prestazioni. Il driver ABFS è stato progettato per ovviare alle carenze inerenti al driver WASB.

Driver ABFS

L'interfaccia REST di Azure Data Lake Storage è stata progettata in modo da supportare la semantica basata su file system in Archiviazione BLOB di Azure. Dato che il file system Hadoop è progettato anche per supportare la stessa semantica non esiste alcun requisito per un mapping complesso nel driver. Pertanto, il driver ABFS è un semplice shim client per l'API REST.

Il driver deve tuttavia eseguire ancora alcune funzioni:

Schema dell'URI per il riferimento ai dati

Coerente con altre implementazioni del file system all'interno di Hadoop, il driver ABFS definisce il proprio schema URI in modo che le risorse (directory e file) possano essere indirizzate in modo distinto. Lo schema dell'URI è illustrato in Usare l'URI di Azure Data Lake Storage Gen2. L'URI ha la struttura seguente: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>

Usando questo formato URI, è possibile usare gli strumenti e i framework Hadoop standard per fare riferimento a queste risorse:

hdfs dfs -mkdir -p abfs://fileanalysis@myanalytics.dfs.core.windows.net/tutorials/flightdelays/data
hdfs dfs -put flight_delays.csv abfs://fileanalysis@myanalytics.dfs.core.windows.net/tutorials/flightdelays/data/

Internamente, il driver ABFS converte in file e directory le risorse specificate nell'URI ed esegue chiamate all'API REST di Azure Data Lake Storage con tali riferimenti.

Authentication

Il driver ABFS supporta due forme di autenticazione per consentire all'applicazione Hadoop di accedere in modo sicuro alle risorse contenute nell'account con supporto di Data Lake Storage Gen2. Per informazioni sugli schemi di autenticazione disponibili, vedere la Guida alla sicurezza di Archiviazione di Azure. Sono:

  • Chiave condivisa: consente agli utenti di accedere a TUTTE le risorse nell'account. La chiave viene crittografata e archiviata nella configurazione Hadoop.

  • Microsoft Entra ID OAuth Bearer Token: i token di connessione Microsoft Entra vengono acquisiti e aggiornati dal driver usando l'identità dell'utente finale o un'entità servizio configurata. Con questo modello di autenticazione tutti gli accessi sono autorizzati per ogni chiamata usando l'identità associata al token fornito e valutata in base all'elenco di controllo di accesso POSIX assegnato.

    Nota

    Azure Data Lake Archiviazione Gen2 supporta solo gli endpoint di Azure AD v1.0.

Configurazione

Tutte le informazioni di configurazione per il driver ABFS sono archiviate nel file di configurazione core-site.xml. In tutte le distribuzioni Hadoop con Ambari, la configurazione può essere gestita anche tramite il portale Web o l'API REST di Ambari.

I dettagli di tutte le voci di configurazione supportate sono riportati nella documentazione ufficiale di Hadoop.

Documentazione di Hadoop

Informazioni dettagliate sul driver ABFS sono disponibili nella documentazione ufficiale di Hadoop.

Passaggi successivi