Share via


Transformer des données dans un réseau virtuel Azure en utilisant l’activité Hive d’Azure Data Factory à partir du portail Azure

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Dans ce didacticiel, vous utilisez le portail Azure pour créer un pipeline Azure Data Factory qui transforme des données à l’aide d’une activité Hive sur un cluster HDInsight qui se trouve dans un réseau virtuel Azure (VNet). Dans ce tutoriel, vous allez effectuer les étapes suivantes :

  • Créer une fabrique de données.
  • Créer un runtime d’intégration auto-hébergé
  • Créer les services liés Stockage Azure et Azure HDInsight
  • Créer un pipeline avec une activité Hive.
  • Déclencher une exécution du pipeline.
  • Surveiller l’exécution du pipeline.
  • Vérifier la sortie

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Prérequis

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

  • Compte Stockage Azure. Vous créez un script Hive et le téléchargez vers le stockage Azure. La sortie du script Hive est stockée dans ce compte de stockage. Dans cet exemple, le cluster HDInsight utilise ce compte de stockage Azure en tant que stockage principal.

  • Réseau virtuel Azure. Si vous ne disposez pas d’un réseau virtuel Azure, créez-le en suivant ces instructions. Dans cet exemple, HDInsight est dans un réseau virtuel Azure. Voici un exemple de configuration du réseau virtuel Azure.

    Create virtual network

  • Cluster HDInsight. Créez un cluster HDInsight et joignez-le au réseau virtuel que vous avez créé à l’étape précédente en suivant les instructions de cet article : Étendre Azure HDInsight à l’aide d’un réseau virtuel Azure. Voici un exemple de configuration de HDInsight dans un réseau virtuel.

    HDInsight in a virtual network

  • Azure PowerShell. Suivez les instructions de la page Installation et configuration d’Azure PowerShell.

  • Une machine virtuelle. Créez une machine virtuelle Azure et joignez-la au réseau virtuel qui contient votre cluster HDInsight. Pour plus d’informations, reportez-vous à Créer des machines virtuelles.

Téléchargez le script Hive sur votre compte de stockage Blob

  1. Créez un fichier SQL Hive nommé hivescript.hql avec le contenu suivant :

    DROP TABLE IF EXISTS HiveSampleOut; 
    CREATE EXTERNAL TABLE HiveSampleOut (clientid string, market string, devicemodel string, state string)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' 
    STORED AS TEXTFILE LOCATION '${hiveconf:Output}';
    
    INSERT OVERWRITE TABLE HiveSampleOut
    Select 
        clientid,
        market,
        devicemodel,
        state
    FROM hivesampletable
    
  2. Dans votre stockage Blob Azure, créez un conteneur nommé adftutorial s’il n’existe pas.

  3. Créez un dossier nommé hivescripts.

  4. Téléchargez le fichier hivescript.hql dans le sous-dossier hivescripts.

Créer une fabrique de données

  1. Si vous n’avez pas encore créé votre fabrique de données, suivez les étapes de démarrage rapide : Créer une fabrique de données à l’aide du Portail Azure et Azure Data Factory Studio pour en créer une. Après la création, accédez à la fabrique de données dans le Portail Azure.

    Screenshot of home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

  2. Sélectionnez Ouvrir dans la mosaïque Ouvrir Azure Data Factory Studio pour lancer l’application d’intégration de données dans un onglet distinct.

Créer un runtime d’intégration auto-hébergé

Le cluster Hadoop se trouvant dans un réseau virtuel, vous devez installer un runtime d’intégration auto-hébergé (IR) dans le même réseau virtuel. Dans cette section, vous créez une nouvelle machine virtuelle, vous la joignez au même réseau virtuel et vous installez IR auto-hébergé sur celle-ci. L’IR auto-hébergé permet au service Data Factory de distribuer le traitement des requêtes à un service de calcul tel que HDInsight dans un réseau virtuel. Il vous permet également de déplacer des données vers/depuis des magasins de données dans un réseau virtuel dans Azure. Vous utilisez un IR auto-hébergé lorsque le magasin de données ou le calcul se trouve également dans un environnement local.

  1. Dans l’interface utilisateur d’Azure Data Factory, cliquez sur Connexions au bas de la fenêtre, basculez vers l’onglet Runtimes d’intégration, puis cliquez sur le bouton + Nouveau dans la barre d’outils.

    New integration runtime menu

  2. Dans la fenêtre Installation du runtime d’intégration, sélectionnez l’option Perform data movement and dispatch activities to external computes (Effectuer des activités de déplacement des données et distribuer des activités à des services de calcul), puis cliquez sur Suivant.

    Select perform data movement and dispatch activities option

  3. Sélectionnez Réseau privé, puis cliquez sur Suivant.

    Select private network

  4. Entrez MySelfHostedIR pour le Nom, puis cliquez sur Suivant.

    Specify integration runtime name

  5. Copiez la clé d’authentification du runtime d’intégration en cliquant sur le bouton Copier, puis enregistrez-la. Gardez la fenêtre ouverte. Vous utilisez cette clé pour inscrire l’IR installé sur une machine virtuelle.

    Copy authentication key

Installer IR sur une machine virtuelle

  1. Sur la machine virtuelle Azure, téléchargez le runtime d’intégration autohébergé. Utilisez la clé d’authentification obtenue à l’étape précédente pour inscrire manuellement le runtime d’intégration auto-hébergé.

    Register integration runtime

  2. Le message suivant s’affiche une fois que le runtime d’intégration auto-hébergé est bien inscrit.

    Registered successfully

  3. Cliquez sur Lancer Configuration Manager. La page suivante apparaît une fois que le nœud est connecté au service cloud :

    Node is connected

IR auto-hébergé dans l’interface utilisateur d’Azure Data Factory

  1. Dans l’interface utilisateur d’Azure Data Factory, vous devez voir le nom de la machine virtuelle auto-hébergée et son état.

    Existing self-hosted nodes

  2. Cliquez sur Terminer pour fermer la fenêtre Installation du runtime d’intégration. L’IR auto-hébergé apparaît dans la liste des runtime d’intégration.

    Self-hosted IR in the list

Créez des services liés

Cette section explique comment créer et déployer deux services liés :

  • Un service lié au stockage Azure relie un compte de stockage Azure à la fabrique de données. Il s’agit du stockage principal utilisé par votre cluster HDInsight. Dans ce cas, vous utilisez ce compte de stockage Azure pour stocker le script Hive et la sortie du script.
  • Un service lié HDInsight. Azure Data Factory soumet le script Hive à ce cluster HDInsight en vue de son exécution.

Créer le service lié Stockage Azure

  1. Basculez vers l’onglet Services liés, puis cliquez sur Nouveau.

    New linked service button

  2. Dans la fenêtre Nouveau service lié, sélectionnez Stockage Blob Azure, puis cliquez sur Continuer.

    Select Azure Blob Storage

  3. Dans la fenêtre Nouveau service lié, procédez comme suit :

    1. Entrez AzureStorageLinkedService pour Nom.

    2. Sélectionnez MySelfHostedIR pour se connecter via le runtime d’intégration.

    3. Sélectionnez votre compte de stockage Azure pour le Nom du compte de stockage.

    4. Pour tester la connexion au compte de stockage, cliquez sur Tester la connexion.

    5. Cliquez sur Enregistrer.

      Specify Azure Blob Storage account

Créer un service lié Azure HDInsight

  1. Cliquez de nouveau sur Nouveau pour créer un autre service lié.

    New linked service button

  2. Basculez vers l’onglet Calcul, sélectionnez Azure HDInsight, puis cliquez sur Continuer.

    Select Azure HDInsight

  3. Dans la fenêtre Nouveau service lié, procédez comme suit :

    1. Entrez AzureHDInsightLinkedService pour le Nom.

    2. Sélectionnez Apportez votre propre HDInsight.

    3. Sélectionnez votre cluster HDInsight pour Cluster Hdi.

    4. Entrez le nom d’utilisateur pour le cluster HDInsight.

    5. Entrez le mot de passe correspondant à l’utilisateur.

      Azure HDInsight settings

Cet article part du principe que vous avez accès au cluster via Internet. Par exemple, vous devez pouvoir vous connecter au cluster à l’adresse https://clustername.azurehdinsight.net. Cette adresse utilise la passerelle publique qui n’est pas disponible si vous avez utilisé des groupes de sécurité réseau ou des itinéraires définis par l’utilisateur pour restreindre l’accès à partir d’Internet. Pour que la fabrique de données puisse envoyer des travaux au cluster HDInsight sur le réseau virtuel Azure, vous devez configurer votre réseau virtuel Azure de telle sorte que l’URL puisse être résolue sur l’adresse IP privée de la passerelle utilisée par HDInsight.

  1. À partir du portail Azure, ouvrez le réseau virtuel dans lequel HDInsight se trouve. Ouvrez l’interface réseau dont le nom commence par nic-gateway-0. Notez son adresse IP privée. Par exemple, 10.6.0.15.

  2. Si votre réseau virtuel Azure contient un serveur DNS, mettez à jour l’enregistrement DNS pour que l’URL du cluster HDInsight https://<clustername>.azurehdinsight.net puisse être résolu en 10.6.0.15. Si vous n’avez pas de serveur DNS dans votre réseau virtuel Azure, vous pouvez utiliser une solution de contournement temporaire en modifiant le fichier hosts (C:\Windows\System32\drivers\etc) de toutes les machines virtuelles inscrites en tant que nœuds runtime d’intégration auto-hébergés en ajoutant une entrée semblable à la suivante :

    10.6.0.15 myHDIClusterName.azurehdinsight.net

Créer un pipeline

Au cours de cette étape, vous allez créer un pipeline avec une activité Hive. L’activité exécute le script Hive en vue de renvoyer des données à partir d’un exemple de table et de les enregistrer sur un chemin d’accès que vous avez défini.

Notez les points suivants :

  • scriptPath pointe vers le chemin d’accès au script Hive sur le compte de stockage Azure que vous avez utilisé pour MyStorageLinkedService. Le chemin d'accès respecte la casse.
  • Output est un argument utilisé dans le script Hive. Utilisez le format wasbs://<Container>@<StorageAccount>.blob.core.windows.net/outputfolder/ pour le faire pointer vers un dossier existant de votre stockage Azure. Le chemin d'accès respecte la casse.
  1. Dans l’interface utilisateur de Data Factory, cliquez sur + (plus) dans le volet gauche, puis cliquez sur Pipeline.

    New pipeline menu

  2. Dans la boîte à outils Activités, développez l’activité HDInsightet glissez-déposez l’activité Hive vers la surface du concepteur de pipeline.

    drag-drop Hive activity

  3. Dans la fenêtre des propriétés, basculez vers l’onglet Cluster HDI, puis sélectionnez AzureHDInsightLinkedService pour Service lié HDInsight.

    Select HDInsight linked service

  4. Basculez vers l’onglet Scripts, et procédez comme suit :

    1. Sélectionnez AzureStorageLinkedService pour Service lié de script.

    2. Pour Chemin d’accès au fichier, cliquez sur Parcourir le stockage.

      Browse storage

    3. Dans la fenêtre Choisir un fichier ou dossier, accédez au dossier hivescripts du conteneur adftutorial, sélectionnez hivescript.hql, puis cliquez sur Terminer.

      Choose a file or folder

    4. Vérifiez que adftutorial/hivescripts/hivescript.hql pour Chemin d’accès au fichier apparaît.

      Script settings

    5. Dans l’onglet Script, développez la section Avancé.

    6. Cliquez sur Auto-fill from script (Remplissage automatique à partir du script) pour Paramètres.

    7. Entrez la valeur du paramètre Sortie au format suivant : wasbs://<Blob Container>@<StorageAccount>.blob.core.windows.net/outputfolder/. Par exemple : wasbs://adftutorial@mystorageaccount.blob.core.windows.net/outputfolder/.

      Script arguments

  5. Pour publier les artefacts Data Factory, cliquez sur Publier.

    Screenshot shows the option to publish to a Data Factory.

Déclencher une exécution du pipeline

  1. Validez tout d’abord le pipeline en cliquant sur le bouton Valider dans la barre d’outils. Fermez la fenêtre Pipeline Validation Output (Sortie de validation du pipeline) en cliquant sur la flèche droite (>>).

    Validate pipeline

  2. Pour déclencher une exécution du pipeline, cliquez sur Déclencher dans la barre d’outils, puis sur Déclencher maintenant.

    Trigger now

Surveiller l’exécution du pipeline.

  1. Basculez vers l’onglet Surveiller sur la gauche. Vous voyez une exécution du pipeline dans la liste Exécutions du pipeline.

    Monitor pipeline runs

  2. Pour actualiser la liste, cliquez sur Actualiser.

  3. Pour afficher les exécutions d’activités associées aux exécutions du pipeline, cliquez sur Afficher les exécutions d’activités dans la colonneAction. Les autres liens d’action permettent d’arrêter/de réexécuter le pipeline.

    View activity runs

  4. Vous ne voyez qu’une seule exécution d’activité car il n’y a qu’une seule activité dans le pipeline de type HDInsightHive. Pour revenir à l’affichage précédent, cliquez sur le lien Pipelines en haut.

    Activity runs

  5. Vérifiez qu’un fichier de sortie apparaît bien dans outputfolder dans le conteneur adftutorial.

    Output file

Dans ce tutoriel, vous avez effectué les étapes suivantes :

  • Créer une fabrique de données.
  • Créer un runtime d’intégration auto-hébergé
  • Créer les services liés Stockage Azure et Azure HDInsight
  • Créer un pipeline avec une activité Hive.
  • Déclencher une exécution du pipeline.
  • Surveiller l’exécution du pipeline.
  • Vérifier la sortie

Passez au tutoriel suivant pour en savoir plus sur la transformation des données en utilisant un cluster Spark sur Azure :