Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Hadoop FileSystem constitue l’une des principales méthodes d’accès aux données dans Azure Data Lake Storage. Les utilisateurs de Data Lake Storage d’Stockage Blob Azure peuvent accéder au pilote du système de fichiers Azure Blob File System ou ABFS. ABFS fait partie d’Apache Hadoop et est inclus dans la plupart des distributions commerciales de Hadoop. En utilisant le pilote ABFS, de nombreuses applications et infrastructures peuvent accéder aux données dans Stockage Blob Azure sans code faisant explicitement référence à Data Lake Storage.
Fonctionnalité antérieure : le pilote Blob de Windows stockage Azure
Le pilote Windows stockage Azure Blob, ou le pilote WASB, a assuré la prise en charge initiale d’Stockage Blob Azure. Ce pilote effectue la tâche complexe de mappage de la sémantique du système de fichiers (comme requis par l’interface Hadoop FileSystem) à celle de l’interface de style du magasin d’objets exposée par Stockage Blob Azure. Ce pilote continue de prendre en charge ce modèle, offrant un accès haute performance aux données stockées dans des blobs. Toutefois, il contient une quantité importante de code qui effectue ce mappage, ce qui rend difficile la maintenance. En outre, FileSystem.rename() et FileSystem.delete() appliqués aux répertoires nécessitent que le pilote effectue un grand nombre d’opérations, car les magasins d’objets ne prennent pas en charge le répertoire natif. Cette surcharge entraîne souvent une dégradation des performances. Le pilote ABFS surmonte les lacunes intrinsèques de WASB.
Fonctionnement d’ABFS
L’interface REST Azure Data Lake Storage prend en charge la sémantique du système de fichiers sur Stockage Blob Azure. Étant donné que le système de fichiers Hadoop est également conçu pour prendre en charge la même sémantique, il n’est pas nécessaire d’utiliser un mappage complexe dans le pilote. Le pilote Azure Blob File System (ou ABFS) est donc un simple shim client pour l’API REST.
Toutefois, le pilote doit toujours effectuer certaines fonctions :
Schéma d’URI pour référencer les données
Conformément à d’autres implémentations de système de fichiers dans Hadoop, le pilote ABFS définit son propre schéma d’URI afin que les ressources (répertoires et fichiers) puissent être traitées séparément. Le schéma d’URI est documenté dans Utiliser l’URI Azure Data Lake Storage. La structure de l’URI est la suivante : abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>, où abfss:// utilise TLS pour les connexions chiffrées.
À l’aide de ce format d’URI, les outils et infrastructures Hadoop standard peuvent référencer ces ressources :
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/
En interne, le pilote ABFS traduit les ressources spécifiées dans l’URI en fichiers et répertoires et effectue des appels à l’API REST Azure Data Lake Storage avec ces références.
Authentification
Le pilote ABFS prend en charge deux formes d’authentification afin que l’application Hadoop puisse accéder en toute sécurité aux ressources contenues dans un compte compatible Data Lake Storage. L’authentification nécessite un compte de stockage avec un espace de noms hiérarchique activé. Pour plus d’informations sur les schémas d’authentification disponibles, consultez le guide de sécurité stockage Azure. Les schémas d’authentification pris en charge sont les suivants :
Clé partagée : Cette méthode d’authentification accorde aux utilisateurs l’accès à toutes les ressources du compte. La clé est chiffrée et stockée dans la configuration Hadoop.
Jeton de porteur OAuth Microsoft Entra ID : Le pilote obtient et renouvelle les jetons de porteur Microsoft Entra en utilisant soit l’identité de l’utilisateur final, soit un principal de service configuré. Lorsque vous utilisez ce modèle d’authentification, vous autorisez chaque accès pour chaque appel en utilisant l’identité associée au jeton fourni, laquelle est évaluée au regard de la liste de contrôle d’accès POSIX (ACL) attribuée.
Remarque
Azure Data Lake Storage prend en charge l’authentification OAuth 2.0 Microsoft Entra ID.
Paramétrage
Stockez toute la configuration du pilote ABFS dans le core-site.xml fichier de configuration. Sur les distributions Hadoop qui présentent Ambari, vous pouvez également gérer la configuration à l’aide du portail web ou de l’API REST Ambari.
Pour plus d’informations sur toutes les entrées de configuration prises en charge, consultez la documentation Officielle de Hadoop.