Transformer des données à l’aide d’une activité Hadoop MapReduce dans Azure Data Factory ou Synapse Analytics | Microsoft Docs

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 !

L’activité MapReduce de HDInsight dans un pipeline Azure Data Factory ou Synapse Analytics appelle un programme MapReduce sur votre propre cluster HDInsight ou à la demande. Cet article s'appuie sur l'article Activités de transformation des données qui présente une vue d'ensemble de la transformation des données et les activités de transformation prises en charge.

Pour en savoir plus, avant de lire cet article, consultez l’introduction à Azure Data Factory ou Synapse Analytics, puis suivez le tutoriel Transformer des données.

Consultez Pig et Hive pour plus d’informations sur l’exécution de scripts Pig/Hive sur un cluster HDInsight à partir d’un pipeline à l’aide des activités Pig et Hive de HDInsight.

Ajouter une activité HDInsight MapReduce à un pipeline avec une IU

Pour utiliser une activité de HDInsight MapReduce dans un pipeline, procédez comme suit :

  1. Recherchez MapReduce dans le volet Activités du pipeline, puis faites glisser une activité MapReduce vers le canevas du pipeline.

  2. Sélectionnez la nouvelle activité MapReduce sur le canevas si elle n’est pas déjà sélectionnée.

  3. Sélectionnez l’onglet Cluster HDI pour sélectionner ou créer un nouveau service lié à un cluster HDInsight qui sera utilisé pour exécuter l’activité MapReduce.

    Shows the UI for a MapReduce activity.

  4. Sélectionnez l’onglet Jar pour sélectionner ou créer un service lié Jar à un compte de stockage Azure qui hébergera votre script. Spécifiez un nom de classe à exécuter ici, ainsi qu’un chemin d’accès au fichier dans l’emplacement de stockage. Vous pouvez également configurer des détails avancés, notamment un emplacement de bibliothèque Jar, une configuration de débogage ainsi que des arguments et des paramètres de configuration à transmettre au script.

    Shows the UI for the Jar tab for a MapReduce activity.

Syntaxe

{
    "name": "Map Reduce Activity",
    "description": "Description",
    "type": "HDInsightMapReduce",
    "linkedServiceName": {
        "referenceName": "MyHDInsightLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "className": "org.myorg.SampleClass",
        "jarLinkedService": {
            "referenceName": "MyAzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "jarFilePath": "MyAzureStorage/jars/sample.jar",
        "getDebugInfo": "Failure",
        "arguments": [
            "-SampleHadoopJobArgument1"
        ],
        "defines": {
            "param1": "param1Value"
        }
    }
}

Détails de la syntaxe

Propriété Description Obligatoire
name Nom de l’activité Oui
description Texte décrivant la raison motivant l’activité. Non
type Pour l’activité MapReduce, le type d’activité est HDinsightMapReduce. Oui
linkedServiceName Référence au cluster HDInsight enregistré en tant que service lié. Pour en savoir plus sur ce service lié, consultez l’article Services liés de calcul. Oui
ClassName Nom de la classe à exécuter Oui
jarLinkedService Référence à un service lié Stockage Azure utilisé pour stocker les fichiers Jar. Seuls les services liés Stockage Blob Azure et ADLS Gen2 sont pris en charge ici. Si vous ne spécifiez pas ce service lié, le service lié Stockage Azure défini dans le service lié HDInsight est utilisé. Non
jarFilePath Indiquez le chemin des fichiers Jar stockés dans le stockage Azure référencé par jarLinkedService. Le nom de fichier respecte la casse. Oui
jarlibs Le tableau de chaînes du chemin des fichiers de bibliothèque Jar référencés par le travail stocké dans le stockage Azure défini dans jarLinkedService. Le nom de fichier respecte la casse. Non
getDebugInfo Spécifie quand les fichiers journaux sont copiés vers le stockage Azure utilisé par le cluster HDInsight (ou) spécifié par jarLinkedService. Valeurs autorisées : None, Always ou Failure. Valeur par défaut : Aucun. Non
arguments Spécifie un tableau d’arguments pour un travail Hadoop. Les arguments sont passés sous la forme d’arguments de ligne de commande à chaque tâche. Non
defines Spécifier les paramètres sous forme de paires clé/valeur pour le référencement au sein du script Hive. Non

Exemple

Vous pouvez utiliser l’activité MapReduce de HDInsight pour exécuter un fichier jar MapReduce dans un cluster HDInsight. Dans l'exemple suivant de définition JSON d'un pipeline, l'activité HDInsight est configurée pour exécuter un fichier JAR Mahout.

{
    "name": "MapReduce Activity for Mahout",
    "description": "Custom MapReduce to generate Mahout result",
    "type": "HDInsightMapReduce",
    "linkedServiceName": {
        "referenceName": "MyHDInsightLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "className": "org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob",
        "jarLinkedService": {
            "referenceName": "MyStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "jarFilePath": "adfsamples/Mahout/jars/mahout-examples-0.9.0.2.2.7.1-34.jar",
        "arguments": [
            "-s",
            "SIMILARITY_LOGLIKELIHOOD",
            "--input",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/input",
            "--output",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/output/",
            "--maxSimilaritiesPerItem",
            "500",
            "--tempDir",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/temp/mahout"
        ]
    }
}

Vous pouvez spécifier les arguments du programme MapReduce dans la section arguments. Lors de l’exécution, vous verrez quelques arguments supplémentaires (par exemple : mapreduce.job.tags) à partir de l’infrastructure MapReduce. Pour différencier vos arguments avec les arguments MapReduce, envisagez d’utiliser l’option et la valeur en tant qu’arguments, comme indiqué dans l’exemple suivant (-s, --entrée, --sortie, etc. sont des options immédiatement suivies par leurs valeurs).

Consultez les articles suivants qui expliquent comment transformer des données par d’autres moyens :