Het stuurprogramma Azure Blob File System (ABFS): een toegewezen Azure Storage-stuurprogramma voor Hadoop

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

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 voert de complexe taak uit van het toewijzen van bestandssysteemsemantiek (zoals vereist door de Hadoop FileSystem-interface) aan die van de interface van de objectopslagstijl die wordt weergegeven door Azure Blob Storage. Dit stuurprogramma blijft dit model ondersteunen en biedt krachtige toegang tot gegevens die zijn opgeslagen in blobs. Het bevat echter een aanzienlijke hoeveelheid code die deze mapping verzorgt, waardoor het lastig te onderhouden is. Daarnaast moeten filesystem.rename() en FileSystem.delete() die zijn toegepast op mappen, het stuurprogramma een groot aantal bewerkingen uitvoeren, omdat objectarchieven geen systeemeigen directory-ondersteuning bieden. Deze overhead leidt vaak tot verminderde prestaties. Het ABFS-stuurprogramma verhelpt de inherente tekortkomingen van WASB.

Hoe ABFS werkt

De Azure Data Lake Storage REST-interface ondersteunt semantiek van het bestandssysteem via Azure Blob Storage. Aangezien het Hadoop-bestandssysteem ook is ontworpen ter ondersteuning van dezelfde semantiek, 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.

Het stuurprogramma moet echter nog steeds enkele functies 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 Azure Data Lake Storage-URI gebruiken. De structuur van de URI is: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>, waarbij abfss:// TLS wordt gebruikt voor versleutelde verbindingen.

Met deze URI-indeling kunnen standaard Hadoop-hulpprogramma's en frameworks 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 de ABFS-driver de resources die in de URI zijn opgegeven naar bestanden en mappen en roept hij met behulp van deze verwijzingen de Azure Data Lake Storage REST API aan.

Verificatie

Het ABFS-stuurprogramma ondersteunt twee vormen van verificatie, zodat de Hadoop-toepassing veilig toegang heeft tot resources in een Data Lake Storage geschikt account. Verificatie vereist een opslagaccount waarvoor hiërarchische naamruimte is ingeschakeld. Zie de Azure Storage beveiligingshandleiding voor meer informatie over de beschikbare verificatieschema's. De ondersteunde verificatieschema's zijn:

  • Gedeelde sleutel: Deze verificatiemethode verleent gebruikers toegang tot alle resources in het account. De sleutel wordt versleuteld en opgeslagen in de Hadoop-configuratie.

  • Microsoft Entra ID OAuth Bearer-token: het stuurprogramma verkrijgt en vernieuwt Microsoft Entra bearer-tokens met behulp van de identiteit van de eindgebruiker of een geconfigureerde service-principal. Wanneer u dit verificatiemodel gebruikt, autoriseert u alle toegang per aanroep met behulp van de identiteit die is gekoppeld aan het opgegeven token, dat wordt geëvalueerd op basis van de toegewezen POSIX Access Control List (ACL).

    Notitie

    Azure Data Lake Storage ondersteunt Microsoft Entra ID OAuth 2.0-verificatie.

Configuratie

Sla alle configuratie voor het ABFS-stuurprogramma op in het core-site.xml configuratiebestand. In Hadoop-distributies met Ambari kunt u de configuratie ook beheren met behulp van de webportal of Ambari REST API.

Zie de officiële Hadoop-documentatie voor meer informatie over alle ondersteunde configuratievermeldingen.

Volgende stappen