Azure Blob filesystem-drivrutinen (ABFS): en dedikerad Azure Storage driv rutin för HadoopThe Azure Blob Filesystem driver (ABFS): A dedicated Azure Storage driver for Hadoop

En av de primära åtkomst metoderna för data i Azure Data Lake Storage Gen2 är via Hadoop-filsystem.One of the primary access methods for data in Azure Data Lake Storage Gen2 is via the Hadoop FileSystem. Data Lake Storage Gen2 ger användare av Azure Blob Storage åtkomst till en ny driv rutin, Azure Blob-filsystemets driv rutin eller ABFS .Data Lake Storage Gen2 allows users of Azure Blob Storage access to a new driver, the Azure Blob File System driver or ABFS. ABFS är en del av Apache Hadoop och ingår i många av de kommersiella distributionerna av Hadoop.ABFS is part of Apache Hadoop and is included in many of the commercial distributions of Hadoop. Med den här driv rutinen kan många program och ramverk komma åt data i Azure Blob Storage utan kod som uttryckligen refererar till Data Lake Storage Gen2.Using this driver, many applications and frameworks can access data in Azure Blob Storage without any code explicitly referencing Data Lake Storage Gen2.

Tidigare funktion: Windows Azure Storage Blob-drivrutinenPrior capability: The Windows Azure Storage Blob driver

Windows Azure Storage Blob driv rutinen eller WASB-drivrutinen tillhandahöll det ursprungliga stödet för Azure Blob Storage.The Windows Azure Storage Blob driver or WASB driver provided the original support for Azure Blob Storage. Den här driv rutinen utförde den komplexa uppgiften att mappa fil systemets semantik (vilket krävs av Hadoop-filsystem-gränssnittet) till det objekt lagrings gränssnitt som exponeras av Azure Blob Storage.This driver performed the complex task of mapping file system semantics (as required by the Hadoop FileSystem interface) to that of the object store style interface exposed by Azure Blob Storage. Den här driv rutinen fortsätter att stödja den här modellen, vilket ger hög prestanda åtkomst till data som lagras i blobbar, men som innehåller en betydande mängd kod som utför den här mappningen, vilket gör det svårt att underhålla.This driver continues to support this model, providing high performance access to data stored in blobs, but contains a significant amount of code performing this mapping, making it difficult to maintain. Dessutom kräver vissa åtgärder som filesystem. Rename () och filesystem. Delete () som tillämpas på kataloger att driv rutinen kan utföra ett stort antal åtgärder (på grund av att objekt inte innehåller stöd för kataloger) som ofta leder till försämrade prestanda.Additionally, some operations such as FileSystem.rename() and FileSystem.delete() when applied to directories require the driver to perform a vast number of operations (due to object stores lack of support for directories) which often leads to degraded performance. ABFS-drivrutinen har utformats för att lösa de olika bristerna i WASB.The ABFS driver was designed to overcome the inherent deficiencies of WASB.

Azure Blob File System-drivrutinenThe Azure Blob File System driver

Azure Data Lake Storage REST-gränssnittet har utformats för att stödja semantiska fil system över Azure Blob Storage.The Azure Data Lake Storage REST interface is designed to support file system semantics over Azure Blob Storage. Eftersom Hadoop-filsystem också är utformat för att stödja samma semantik finns det inget krav på en komplex mappning i driv rutinen.Given that the Hadoop FileSystem is also designed to support the same semantics there is no requirement for a complex mapping in the driver. Därför är Azure Blob-filsystemets driv rutin (eller ABFS) en klient-Shim för REST API.Thus, the Azure Blob File System driver (or ABFS) is a mere client shim for the REST API.

Det finns dock vissa funktioner som driv rutinen fortfarande måste utföra:However, there are some functions that the driver must still perform:

URI-schema för referens dataURI scheme to reference data

ABFS-drivrutinen är konsekvent med andra fil Systems implementeringar i Hadoop och definierar det egna URI-schemat så att resurser (kataloger och filer) kan särskiljas tydligt.Consistent with other FileSystem implementations within Hadoop, the ABFS driver defines its own URI scheme so that resources (directories and files) may be distinctly addressed. URI-schemat dokumenteras i använd Azure Data Lake Storage Gen2-URI.The URI scheme is documented in Use the Azure Data Lake Storage Gen2 URI. URI-strukturen är: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>The structure of the URI is: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>

Med hjälp av ovanstående URI-format kan du använda vanliga Hadoop-verktyg och ramverk för att referera till dessa resurser:Using the above URI format, standard Hadoop tools and frameworks can be used to reference these 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/

Internt översätter ABFS-drivrutinen resurserna som anges i URI: n till filer och kataloger och anropar Azure Data Lake Storage REST API med dessa referenser.Internally, the ABFS driver translates the resource(s) specified in the URI to files and directories and makes calls to the Azure Data Lake Storage REST API with those references.

AutentiseringAuthentication

ABFS-drivrutinen stöder två typer av autentisering så att Hadoop-programmet kan komma åt resurser som finns i ett Data Lake Storage Gen2 kompatibelt konto.The ABFS driver supports two forms of authentication so that the Hadoop application may securely access resources contained within a Data Lake Storage Gen2 capable account. Fullständig information om tillgängliga autentiseringsscheman finns i säkerhets guiden för Azure Storage.Full details of the available authentication schemes are provided in the Azure Storage security guide. De är:They are:

  • Delad nyckel: Detta gör det möjligt för användare att få åtkomst till alla resurser i kontot.Shared Key: This permits users access to ALL resources in the account. Nyckeln krypteras och lagras i Hadoop-konfigurationen.The key is encrypted and stored in Hadoop configuration.

  • Azure Active Directory OAuth Bearer-token: Azure AD Bearer-token förvärvas och uppdateras av driv rutinen med antingen identiteten för slutanvändaren eller ett konfigurerat huvud namn för tjänsten.Azure Active Directory OAuth Bearer Token: Azure AD bearer tokens are acquired and refreshed by the driver using either the identity of the end user or a configured Service Principal. Med hjälp av den här autentiseringsmetoden auktoriseras all åtkomst per anrop med den identitet som är kopplad till den angivna token och utvärderas mot den tilldelade POSIX-Access Control listan (ACL).Using this authentication model, all access is authorized on a per-call basis using the identity associated with the supplied token and evaluated against the assigned POSIX Access Control List (ACL).

    Anteckning

    Azure Data Lake Storage Gen2 stöder endast Azure AD v 1.0-slut punkter.Azure Data Lake Storage Gen2 supports only Azure AD v1.0 endpoints.

KonfigurationConfiguration

All konfiguration för ABFS-drivrutinen lagras i core-site.xml konfigurations filen.All configuration for the ABFS driver is stored in the core-site.xml configuration file. På Hadoop-distributioner med Ambarikan konfigurationen också hanteras med hjälp av webb portalen eller Ambari REST API.On Hadoop distributions featuring Ambari, the configuration may also be managed using the web portal or Ambari REST API.

Information om alla konfigurations poster som stöds anges i den officiella Hadoop-dokumentationen.Details of all supported configuration entries are specified in the Official Hadoop documentation.

Hadoop-dokumentationHadoop documentation

ABFS-drivrutinen är fullständigt dokumenterad i den officiella Hadoop-dokumentationenThe ABFS driver is fully documented in the Official Hadoop documentation

Nästa stegNext steps