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

Uno dei metodi di accesso principali per i dati in Azure Data Lake Storage è tramite Hadoop FileSystem. Gli utenti di Data Lake Storage di Archiviazione BLOB di Azure possono accedere al driver di Azure Blob File System o ABFS. ABFS fa parte di Apache Hadoop ed è incluso in molte delle distribuzioni commerciali di Hadoop. Usando il driver ABFS, molte applicazioni e framework possono accedere ai dati in Archiviazione BLOB di Azure senza codice che faccia riferimento in modo esplicito Data Lake Storage.

Funzionalità precedente: il driver Blob di Windows 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. Questo driver esegue la complessa attività di mappare le semantiche del file system, come richiesto dall'interfaccia Hadoop FileSystem, in quelle di un'interfaccia in stile archivio di oggetti esposta da Archiviazione BLOB di Azure. Questo driver continua a supportare questo modello, fornendo accesso ad alte prestazioni ai dati archiviati nei BLOB. Tuttavia, contiene una quantità significativa di codice che esegue questo mapping, che rende difficile la manutenzione. Inoltre, FileSystem.rename() e FileSystem.delete() applicati alle directory richiedono che il driver esegua un numero elevato di operazioni, perché gli archivi oggetti non supportano la directory nativa. Questo sovraccarico spesso comporta prestazioni ridotte. Il driver ABFS supera le carenze intrinseche di WASB.

Funzionamento di ABFS

L'interfaccia REST Azure Data Lake Storage supporta la semantica del file system su 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 Azure Blob File System (o ABFS) è un semplice livello client per l'API REST.

Tuttavia, il driver deve comunque eseguire 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. La struttura dell'URI è : abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>, dove abfss:// usa TLS per le connessioni crittografate.

Usando questo formato URI, gli strumenti e i framework Hadoop standard possono 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 le risorse specificate nell'URI in file e directory e effettua chiamate all'API REST 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 funzionalità di Data Lake Storage. L'autenticazione richiede un account di archiviazione con spazio dei nomi gerarchico abilitato. Per informazioni dettagliate sugli schemi di autenticazione disponibili, vedere la guida alla sicurezza Archiviazione di Azure. Gli schemi di autenticazione supportati sono:

  • Chiave condivisa: Questo metodo di autenticazione concede agli utenti l'accesso a tutte le risorse nell'account. La chiave viene crittografata e archiviata nella configurazione di Hadoop.

  • Token bearer OAuth di Microsoft Entra ID: il driver acquisisce e rinnova i token bearer Microsoft Entra usando l'identità dell'utente finale oppure un'entità servizio configurata. Quando si usa questo modello di autenticazione, si autorizza tutto l'accesso per ogni chiamata usando l'identità associata al token fornito, che viene valutata rispetto all'elenco ACL (POSIX Controllo di accesso List) assegnato.

    Nota

    Azure Data Lake Storage supporta l'autenticazione OAuth 2.0 di Microsoft Entra ID.

Impostazione

Archiviare tutte le configurazioni per il driver ABFS nel core-site.xml file di configurazione. Nelle distribuzioni hadoop che includono Ambari è anche possibile gestire la configurazione usando il portale Web o l'API REST di Ambari.

Per informazioni dettagliate su tutte le voci di configurazione supportate, vedere la documentazione ufficiale di Hadoop.

Passaggi successivi