Het stuurprogramma van het Azure Blob Filesystem (ABFS): een toegewezen Azure Storage-stuurprogramma voor Hadoop

Een van de primaire toegangsmethoden voor gegevens in Azure Data Lake Storage Gen2 is via het Hadoop-bestandssysteem. Met Data Lake Storage Gen2 hebben gebruikers van Azure Blob Storage toegang tot een nieuw stuurprogramma, het stuurprogramma van het Azure Blob-bestandssysteem of ABFS. ABFS maakt deel uit van Apache Hadoop en is opgenomen in veel commerciële distributies van Hadoop. Door het ABFS-stuurprogramma hebben veel toepassingen en frameworks toegang tot gegevens in Azure Blob Storage zonder code die expliciet verwijst naar Data Lake Storage Gen2.

Eerdere mogelijkheid: het Windows Azure Storage Blob-stuurprogramma

Het Windows Azure Storage Blob-stuurprogramma of WASB-stuurprogramma biedt de oorspronkelijke ondersteuning voor Azure Blob Storage. Dit stuurprogramma heeft de complexe taak van het toewijzen van semantiek van het bestandssysteem (zoals vereist door de Hadoop FileSystem-interface) uitgevoerd aan die van de stijlinterface van het objectarchief die wordt weergegeven door Azure Blob Storage. Dit stuurprogramma blijft dit model ondersteunen en biedt hoge prestaties tot gegevens die zijn opgeslagen in blobs, maar bevat een aanzienlijke hoeveelheid code die deze toewijzing uitvoert, waardoor het moeilijk te onderhouden is. Daarnaast moeten sommige bewerkingen, zoals FileSystem.rename() en FileSystem.delete() wanneer deze worden toegepast op mappen, het stuurprogramma een groot aantal bewerkingen uitvoeren (vanwege het ontbreken van ondersteuning voor mappen) wat vaak leidt tot verminderde prestaties. Het ABFS-stuurprogramma is ontworpen om de inherente tekortkomingen van WASB te overwinnen.

Het stuurprogramma van het Azure Blob-bestandssysteem

De AZURE Data Lake Storage REST-interface is ontworpen ter ondersteuning van semantiek van het bestandssysteem via Azure Blob Storage. Aangezien het Hadoop-bestandssysteem ook is ontworpen om dezelfde semantiek te ondersteunen, is er geen vereiste voor een complexe toewijzing in het stuurprogramma. Het Azure Blob File System-stuurprogramma (of ABFS) is dus slechts een client-shim voor de REST API.

Er zijn echter enkele functies die het stuurprogramma nog steeds moet uitvoeren:

URI-schema om te verwijzen naar gegevens

In overeenstemming met andere bestandssysteemimplementaties binnen Hadoop definieert het ABFS-stuurprogramma een eigen URI-schema, zodat resources (mappen en bestanden) afzonderlijk kunnen worden aangepakt. Het URI-schema wordt beschreven in De URI van Azure Data Lake Storage Gen2 gebruiken. De structuur van de URI is: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>

Met deze URI-indeling kunnen standaard Hadoop-hulpprogramma's en -frameworks worden gebruikt om te verwijzen naar deze resources:

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/

Intern vertaalt het ABFS-stuurprogramma de resource('s) die zijn opgegeven in de URI naar bestanden en mappen en voert het aanroepen uit naar de Azure Data Lake Storage REST API met deze verwijzingen.

Verificatie

Het ABFS-stuurprogramma ondersteunt twee vormen van verificatie, zodat de Hadoop-toepassing veilig toegang heeft tot resources die zijn opgenomen in een account dat geschikt is voor Data Lake Storage Gen2. Volledige details van de beschikbare verificatieschema's vindt u in de Beveiligingshandleiding voor Azure Storage. Dit zijn:

  • Gedeelde sleutel: Hiermee hebben gebruikers toegang tot ALLE resources in het account. De sleutel is versleuteld en opgeslagen in de Hadoop-configuratie.

  • Microsoft Entra ID OAuth Bearer-token: Microsoft Entra bearer-tokens worden verkregen en vernieuwd door het stuurprogramma met behulp van de identiteit van de eindgebruiker of een geconfigureerde service-principal. Met dit verificatiemodel wordt alle toegang per aanroep geautoriseerd met behulp van de identiteit die is gekoppeld aan het opgegeven token en geëvalueerd op basis van de toegewezen ACL (POSIX Access Control List).

    Notitie

    Azure Data Lake Storage Gen2 ondersteunt alleen Azure AD v1.0-eindpunten.

Configuration

Alle configuraties voor het ABFS-stuurprogramma worden opgeslagen in het core-site.xml configuratiebestand. In Hadoop-distributies met Ambari kan de configuratie ook worden beheerd met behulp van de webportal of Ambari REST API.

Details van alle ondersteunde configuratievermeldingen worden opgegeven in de officiële Hadoop-documentatie.

Hadoop-documentatie

Het ABFS-stuurprogramma is volledig gedocumenteerd in de officiële Hadoop-documentatie

Volgende stappen