Comment monter ADLS Gen2 pour la hiérarchisation HDFS dans un cluster Big Data

Les sections suivantes fournissent un exemple de configuration de la hiérarchisation HDFS avec une source de données Azure Data Lake Storage Gen2.

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.

Prérequis

Charger des données dans Azure Data Lake Storage

La section suivante décrit comment configurer Azure Data Lake Storage Gen2 pour le test de la hiérarchisation HDFS. Si vous avez déjà des données stockées dans Azure Data Lake Storage, vous pouvez ignorer cette section pour utiliser vos propres données.

  1. Créer un compte de stockage avec des fonctionnalités de Data Lake Storage Gen2.

  2. Créez un système de fichiers dans ce compte de stockage pour vos données.

  3. Chargez un fichier CSV ou Parquet dans le conteneur. Il s’agit de données HDFS externes qui vont être montées sur HDFS dans le cluster Big Data.

Informations d'identification pour le montage

Utiliser les informations d’identification OAuth pour le montage

Pour pouvoir utiliser les informations d’identification OAuth pour le montage, vous devez suivre les étapes suivantes :

  1. Accédez au Portail Azure.

  2. Accédez à Microsoft Entra ID. Ce service doit figurer dans la barre de navigation de gauche.

  3. Sélectionnez Inscriptions d’applications dans le menu des ressources, puis créez une nouvelle inscription.

  4. Créez une application Web et suivez l’Assistant. N’oubliez pas le nom de l’application que vous créez à cette étape. Vous devrez ajouter ce nom à votre compte ADLS en tant qu’utilisateur autorisé. Notez également l’ID du client d’application dans la vue d’ensemble lorsque vous sélectionnez l’application.

  5. Une fois l’application Web créée, accédez à Certificats et secrets et sélectionnez l’option permettant de créer une Nouvelle clé secrète client. Sélectionnez une durée pour la clé. Utilisez Ajouter pour enregistrer le secret.

  6. Revenez à la page Inscriptions des applications et cliquez sur « Points de terminaison » en haut de la page. Notez l’URL du Point de terminaison de jeton OAuth (v2) .

  7. Les éléments suivants doivent maintenant être signalés pour OAuth :

    • « ID du client d’application » de l’application web
    • Secret client
    • Point de terminaison de jeton

Ajout du principal du service à votre compte ADLS

  1. Accédez de nouveau au portail et au système de fichiers de votre compte de stockage ADLS, puis sélectionnez Contrôle d’accès (IAM) dans le menu de gauche.
  2. Sélectionnez « Ajouter une attribution de rôle ».
  3. Sélectionnez le rôle « Contributeur aux données Blob du stockage ».
  4. Recherchez le nom que vous avez créé ci-dessus (notez qu’il n’apparaît pas dans la liste, mais qu’il sera trouvé si vous recherchez le nom complet).
  5. Enregistrez le rôle.

Attendre 5 à 10 minutes avant d’utiliser les informations d’identification pour le montage

Définir la variable d’environnement pour les informations d’identification OAuth

Ouvrez une invite de commandes sur une machine client pouvant accéder à votre cluster Big Data. Définissez une variable d’environnement en utilisant le format suivant. Les informations d’identification doivent figurer dans une liste séparée par des virgules. La commande « set » est utilisée sur Windows. Si vous êtes sur Linux, utilisez « export » à la place.

Notez que vous devez supprimer les sauts de ligne et les espaces entre les virgules « , » lorsque vous fournissez les informations d’identification. La mise en forme ci-dessous a pour simple but de faciliter la lecture.

   set MOUNT_CREDENTIALS=fs.azure.account.auth.type=OAuth,
   fs.azure.account.oauth.provider.type=org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider,
   fs.azure.account.oauth2.client.endpoint=[token endpoint],
   fs.azure.account.oauth2.client.id=[Application client ID],
   fs.azure.account.oauth2.client.secret=[client secret]

Utiliser des clés d’accès pour le montage

Vous pouvez également monter à l’aide des clés d’accès que vous pouvez obtenir pour votre compte ADLS sur le Portail Azure.

Conseil

Pour plus d’informations sur la recherche de la touche d'accès (<storage-account-access-key>) pour votre compte de stockage, consultez Afficher les clés de compte et la chaîne de connexion.

Définir la variable d’environnement pour les informations d’identification de la clé d’accès

  1. Ouvrez une invite de commandes sur une machine client pouvant accéder à votre cluster Big Data.

  2. Ouvrez une invite de commandes sur une machine client pouvant accéder à votre cluster Big Data. Définissez une variable d’environnement au format suivant. Les informations d’identification doivent figurer dans une liste de valeurs séparées par des virgules. La commande « set » est utilisée sur Windows. Si vous êtes sur Linux, utilisez « export » à la place.

Notez que vous devez supprimer les sauts de ligne et les espaces entre les virgules « , » lorsque vous fournissez les informations d’identification. La mise en forme ci-dessous a pour simple but de faciliter la lecture.

set MOUNT_CREDENTIALS=fs.azure.abfs.account.name=<your-storage-account-name>.dfs.core.windows.net,
fs.azure.account.key.<your-storage-account-name>.dfs.core.windows.net=<storage-account-access-key>

Monter le stockage HDFS distant

Maintenant que vous avez défini la variable d’environnement MOUNT_CREDENTIALS pour les clés d’accès ou à l’aide d’OAuth, vous pouvez commencer le montage. Les étapes suivantes permettent de monter le stockage HDFS distant dans Azure Data Lake vers le stockage HDFS local de votre cluster Big Data.

  1. Utilisez kubectl pour rechercher l’adresse IP du service controller-svc-external du point de terminaison dans votre cluster Big Data. Recherchez External-IP.

    kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
    
  2. Connectez-vous à azdata en utilisant l’adresse IP externe du point de terminaison du contrôleur ainsi que votre nom d’utilisateur et votre mot de passe de cluster :

    azdata login -e https://<IP-of-controller-svc-external>:30080
    
  3. Définissez la variable d’environnement MOUNT_CREDENTIALS (faites défiler les instructions)

  4. Montez le stockage HDFS distant dans Azure en utilisant azdata bdc hdfs mount create. Remplacez les valeurs d’espace réservé avant d’exécuter la commande suivante :

    azdata bdc hdfs mount create --remote-uri abfs://<blob-container-name>@<storage-account-name>.dfs.core.windows.net/ --mount-path /mounts/<mount-name>
    

    Notes

    La commande créer un montage est asynchrone. À ce stade, aucun message n’indique si le montage a réussi. Consultez la section état pour vérifier l’état de vos montages.

Si le montage a été correctement effectué, vous devez pouvoir interroger les données HDFS et exécuter des tâches Spark sur ces dernières. Il apparaît dans le stockage HDFS de votre cluster Big Data à l’emplacement spécifié par --mount-path.

Obtenir l’état des montages

Pour répertorier l’état de tous les montages de votre cluster Big Data, utilisez la commande suivante :

azdata bdc hdfs mount status

Pour répertorier l’état d’un montage situé sur un chemin spécifique dans HDFS, utilisez la commande suivante :

azdata bdc hdfs mount status --mount-path <mount-path-in-hdfs>

Actualiser un montage

L’exemple suivant actualise le montage. Cette actualisation efface également le cache de montage.

azdata bdc hdfs mount refresh --mount-path <mount-path-in-hdfs>

Supprimer le montage

Pour supprimer le montage, utilisez la commande azdata bdc hdfs mount delete et spécifiez le chemin de montage dans HDFS :

azdata bdc hdfs mount delete --mount-path <mount-path-in-hdfs>

Étapes suivantes

Pour plus d’informations sur Clusters de Big Data SQL Server 2019, consultez Présentation des Clusters de Big Data SQL Server 2019.