Драйвер файловой системы Azure Blob (ABFS): специализированный драйвер Хранилища Azure для Hadoop

Одним из основных методов доступа к данным в Azure Data Lake Storage является файловая система Hadoop. Пользователи Data Lake Storage в Хранилище BLOB-объектов Azure могут использовать драйвер файловой системы Azure Blob или ABFS. ABFS является частью Apache Hadoop и входит во многие коммерческие дистрибутивы Hadoop. Используя драйвер ABFS, многие приложения и платформы могут получать доступ к данным в Хранилище BLOB-объектов Azure без явного ссылки на код Data Lake Storage.

Прежняя возможность: драйвер Blob для Windows служба хранилища Azure

Драйвер Windows служба хранилища Azure Blob, или драйвер WASB, обеспечивал первоначальную поддержку Хранилище BLOB-объектов Azure. Этот драйвер выполняет сложную задачу сопоставления семантики файловой системы (в соответствии с интерфейсом Hadoop FileSystem) с интерфейсом стиля хранилища объектов, предоставляемым Хранилище BLOB-объектов Azure. Этот драйвер продолжает поддерживать эту модель, обеспечивая высокопроизводительный доступ к данным, хранящимся в больших двоичных объектах. Однако он содержит значительный объем кода, выполняющего это сопоставление, что затрудняет обслуживание. Кроме того, операции FileSystem.rename() и FileSystem.delete(), применяемые к каталогам, требуют от драйвера выполнения очень большого количества операций, поскольку хранилища объектов не имеют встроенной поддержки каталогов. Эта нагрузка часто приводит к снижению производительности. Драйвер ABFS позволяет преодолеть неотъемлемые недостатки WASB.

Как работает ABFS

REST-интерфейс Azure Data Lake Storage поддерживает семантику файловой системы поверх Хранилище BLOB-объектов Azure. Учитывая, что файловая система Hadoop также предназначена для поддержки той же семантики, нет необходимости в сложном сопоставлении в драйвере. Таким образом, драйвер Azure Blob File System (или ABFS) — это всего лишь клиентская прослойка для REST API.

Однако драйвер по-прежнему должен выполнять некоторые функции:

Схема URI для ссылки на данные

Как и другие реализации файловых систем в Hadoop, драйвер ABFS определяет собственную схему URI, чтобы к ресурсам (каталогам и файлам) можно было обращаться однозначно. Схема URI описана в статье Use the Azure Data Lake Storage URI. Структура URI: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>где abfss:// используется TLS для зашифрованных подключений.

Используя этот формат URI, стандартные средства и платформы Hadoop могут ссылаться на следующие ресурсы:

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/

Во внутреннем интерфейсе драйвер ABFS преобразует ресурсы, указанные в URI, в файлы и каталоги, и выполняет вызовы к REST API Azure Data Lake Storage с этими ссылками.

Проверка подлинности

Драйвер ABFS поддерживает две формы проверки подлинности, чтобы приложение Hadoop могло безопасно получать доступ к ресурсам, содержащимся в учетной записи с поддержкой Data Lake Storage. Для аутентификации требуется учетная запись хранения данных с включенным иерархическим пространством имен. Полные сведения о доступных схемах проверки подлинности см. в руководстве по безопасности служба хранилища Azure. Поддерживаемые схемы проверки подлинности:

  • Общий ключ: Этот метод проверки подлинности предоставляет пользователям доступ ко всем ресурсам в учетной записи. Ключ шифруется и хранится в конфигурации Hadoop.

  • Microsoft Entra ID маркер носителя OAuth: драйвер получает и обновляет маркеры носителя Microsoft Entra с помощью удостоверения конечного пользователя или настроенного субъекта-службы. Когда вы используете эту модель аутентификации, вы авторизуете все запросы доступа для каждого вызова отдельно, используя удостоверение личности, связанное с предоставленным токеном, которое проверяется по назначенному списку управления доступом POSIX (ACL).

    Примечание.

    Azure Data Lake Storage поддерживает проверку подлинности Microsoft Entra ID OAuth 2.0.

Настройка

Сохраните всю конфигурацию драйвера ABFS в core-site.xml файле конфигурации. В дистрибутивах Hadoop, поддерживающих Ambari, вы также можете управлять конфигурацией с помощью веб-портала или REST API Ambari.

Подробные сведения обо всех поддерживаемых параметрах конфигурации см. в официальной документации Hadoop.

Следующие шаги