Driver ABFS (Azure Blob File System): un driver di Archiviazione di Azure dedicato per Hadoop
Uno dei metodi di accesso principali per i dati in Azure Data Lake Storage è tramite Hadoop FileSystem. Data Lake Storage consente agli utenti di Archiviazione BLOB di Azure di accedere a un nuovo driver, al driver del file system BLOB di Azure o ABFS
a . 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 Storage.
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 URI è documentato in Usare l'URI di Azure Data Lake Storage. 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.
Autenticazione
Il driver ABFS supporta due forme di autenticazione in modo che l'applicazione Hadoop possa accedere in modo sicuro alle risorse contenute in un account con supporto per Data Lake Storage. 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 Storage supporta solo gli endpoint di Azure AD v1.0.
Impostazione
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.