Sterownik systemu plików usługi Azure Blob (ABFS): dedykowany sterownik usługi Azure Storage dla usługi Hadoop

Jedną z podstawowych metod dostępu do danych w usłudze Azure Data Lake Storage Gen2 jest usługa Hadoop FileSystem. Usługa Data Lake Storage Gen2 umożliwia użytkownikom usługi Azure Blob Storage dostęp do nowego sterownika, sterownika systemu plików obiektów blob platformy Azure lub ABFS. System ABFS jest częścią platformy Apache Hadoop i jest zawarty w wielu komercyjnych dystrybucjach platformy Hadoop. Dzięki sterownikowi ABFS wiele aplikacji i struktur może uzyskiwać dostęp do danych w usłudze Azure Blob Storage bez jawnego odwoływania się do usługi Data Lake Storage Gen2.

Wcześniejsze możliwości: sterownik obiektów blob usługi Windows Azure Storage

Sterownik obiektów blob usługi Windows Azure Storage lub sterownik WASB zapewniał oryginalną obsługę usługi Azure Blob Storage. Ten sterownik wykonał złożone zadanie mapowania semantyki systemu plików (zgodnie z wymaganiami interfejsu systemu plików Hadoop) do interfejsu stylu magazynu obiektów uwidacznianego przez usługę Azure Blob Storage. Ten sterownik nadal obsługuje ten model, zapewniając wysoki dostęp do danych przechowywanych w obiektach blob, ale zawiera znaczną ilość kodu wykonującego to mapowanie, co utrudnia utrzymanie. Ponadto niektóre operacje, takie jak FileSystem.rename() i FileSystem.delete() stosowane do katalogów, wymagają, aby sterownik wykonał ogromną liczbę operacji (ze względu na brak obsługi katalogów), co często prowadzi do obniżonej wydajności. Sterownik ABFS został zaprojektowany w celu przezwyciężenia nieodłącznych niedociągnięć WASB.

Sterownik systemu plików obiektów blob platformy Azure

Interfejs REST usługi Azure Data Lake Storage jest przeznaczony do obsługi semantyki systemu plików za pośrednictwem usługi Azure Blob Storage. Biorąc pod uwagę, że system plików Hadoop jest również przeznaczony do obsługi tej samej semantyki, nie ma potrzeby tworzenia złożonych mapowań w sterowniku. W związku z tym sterownik systemu plików obiektów blob platformy Azure (lub ABFS) jest zwykłym podkładką klienta interfejsu API REST.

Istnieją jednak pewne funkcje, które sterownik musi nadal wykonywać:

Schemat identyfikatora URI do danych referencyjnych

Zgodnie z innymi implementacjami systemu plików w usłudze Hadoop sterownik ABFS definiuje własny schemat identyfikatora URI, aby zasoby (katalogi i pliki) mogły być wyraźnie rozwiązane. Schemat identyfikatora URI jest udokumentowany w artykule Use the Azure Data Lake Storage Gen2 URI (Korzystanie z identyfikatora URI usługi Azure Data Lake Storage Gen2). Struktura identyfikatora URI to: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>

Korzystając z tego formatu identyfikatora URI, standardowe narzędzia i struktury hadoop mogą służyć do odwołowania się do tych zasobów:

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/

Wewnętrznie sterownik ABFS tłumaczy zasoby określone w identyfikatorze URI na pliki i katalogi oraz wykonuje wywołania interfejsu API REST usługi Azure Data Lake Storage przy użyciu tych odwołań.

Uwierzytelnianie

Sterownik ABFS obsługuje dwie formy uwierzytelniania, dzięki czemu aplikacja Hadoop może bezpiecznie uzyskiwać dostęp do zasobów zawartych na koncie obsługującym usługę Data Lake Storage Gen2. Pełne szczegóły dostępnych schematów uwierzytelniania znajdują się w przewodniku zabezpieczeń usługi Azure Storage. Są to:

  • Klucz współużytkowany: umożliwia użytkownikom dostęp do WSZYSTKICH zasobów na koncie. Klucz jest szyfrowany i przechowywany w konfiguracji usługi Hadoop.

  • Microsoft Entra ID OAuth Bearer Token: tokeny elementu nośnego firmy Microsoft są uzyskiwane i odświeżane przez sterownik przy użyciu tożsamości użytkownika końcowego lub skonfigurowanej jednostki usługi. Korzystając z tego modelu uwierzytelniania, cały dostęp jest autoryzowany dla poszczególnych wywołań przy użyciu tożsamości skojarzonej z podanym tokenem i oceniany względem przypisanej listy kontroli dostępu POSIX (ACL).

    Uwaga

    Usługa Azure Data Lake Storage Gen2 obsługuje tylko punkty końcowe usługi Azure AD w wersji 1.0.

Konfigurowanie

Cała konfiguracja sterownika ABFS jest przechowywana w core-site.xml pliku konfiguracji. W przypadku dystrybucji hadoop z systemem Ambari konfiguracja może być również zarządzana przy użyciu portalu internetowego lub interfejsu API REST systemu Ambari.

Szczegóły wszystkich obsługiwanych wpisów konfiguracji są określone w oficjalnej dokumentacji usługi Hadoop.

Dokumentacja usługi Hadoop

Sterownik ABFS jest w pełni udokumentowany w oficjalnej dokumentacji usługi Hadoop

Następne kroki