Trasformare dati tramite l'attività Hadoop MapReduce in Azure Data FactoryTransform data using Hadoop MapReduce activity in Azure Data Factory

L'attività HDInsight MapReduce in una pipeline di Data Factory richiama il programma MapReduce nei cluster HDInsight personalizzati o su richiesta.The HDInsight MapReduce activity in a Data Factory pipeline invokes MapReduce program on your own or on-demand HDInsight cluster. Questo articolo si basa sull'articolo relativo alle attività di trasformazione dei dati che presenta una panoramica generale della trasformazione dei dati e le attività di trasformazione supportate.This article builds on the data transformation activities article, which presents a general overview of data transformation and the supported transformation activities.

Se non si ha familiarità con Azure Data Factory, prima di leggere questo articolo leggere l'introduzione ad Azure Data Factory ed eseguire Tutorial: transform data (Esercitazione: Trasformare i dati).If you are new to Azure Data Factory, read through Introduction to Azure Data Factory and do the tutorial: Tutorial: transform data before reading this article.

Vedere Pig e Hive per informazioni dettagliate sull'esecuzione di script Pig/Hive in un cluster HDInsight da una pipeline tramite le attività HDInsight Pig e Hive.See Pig and Hive for details about running Pig/Hive scripts on a HDInsight cluster from a pipeline by using HDInsight Pig and Hive activities.

SintassiSyntax

{
    "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"
        }
    }
}

Dettagli sintassiSyntax details

ProprietàProperty DescriptionDescription ObbligatoriaRequired
namename Nome dell'attivitàName of the activity Yes
descriptiondescription Testo descrittivo per lo scopo dell'attivitàText describing what the activity is used for NoNo
typetype Per l'attività MapReduce, il tipo di attività è HDinsightMapReduceFor MapReduce Activity, the activity type is HDinsightMapReduce Yes
linkedServiceNamelinkedServiceName Riferimento al cluster HDInsight registrato come servizio collegato in Data Factory.Reference to the HDInsight cluster registered as a linked service in Data Factory. Per informazioni su questo servizio collegato, vedere l'articolo Servizi collegati di calcolo.To learn about this linked service, see Compute linked services article. Yes
classNameclassName Nome della classe da eseguireName of the Class to be executed Yes
jarLinkedServicejarLinkedService Riferimento a un servizio collegato di Archiviazione di Azure usato per archiviare i file Jar.Reference to an Azure Storage Linked Service used to store the Jar files. Se non si specifica questo servizio collegato, viene usato il servizio collegato Archiviazione di Azure definito nel servizio collegato HDInsight.If you don't specify this Linked Service, the Azure Storage Linked Service defined in the HDInsight Linked Service is used. NoNo
jarFilePathjarFilePath Specificare il percorso dei file Jar archiviati nel servizio Archiviazione di Azure indicato da jarLinkedService.Provide the path to the Jar files stored in the Azure Storage referred by jarLinkedService. Il nome del file distingue tra maiuscole e minuscole.The file name is case-sensitive. Yes
jarlibsjarlibs Percorso dei file di libreria Jar indicati dal processo archiviato nel servizio Archiviazione di Azure indicato da jarLinkedService.String array of the path to the Jar library files referenced by the job stored in the Azure Storage defined in jarLinkedService. Il nome del file distingue tra maiuscole e minuscole.The file name is case-sensitive. NoNo
getDebugInfogetDebugInfo Specifica quando i file di log vengono copiati nel servizio Archiviazione di Azure usato dal cluster HDInsight o specificato da jarLinkedService.Specifies when the log files are copied to the Azure Storage used by HDInsight cluster (or) specified by jarLinkedService. Valori consentiti: None, Always o Failure.Allowed values: None, Always, or Failure. Valore predefinito: None.Default value: None. NoNo
argumentsarguments Specifica una matrice di argomenti per un processo Hadoop.Specifies an array of arguments for a Hadoop job. Gli argomenti vengono passati a ogni attività come argomenti della riga di comando.The arguments are passed as command-line arguments to each task. NoNo
definesdefines Nei riferimenti all'interno dello script Hive, specificare i parametri come coppie chiave/valore.Specify parameters as key/value pairs for referencing within the Hive script. NoNo

EsempioExample

È possibile usare l’attività MapReduce di HDInsight per l'esecuzione di file JAR di MapReduce in un cluster HDInsight.You can use the HDInsight MapReduce Activity to run any MapReduce jar file on an HDInsight cluster. Nella definizione JSON seguente di una pipeline di esempio l'attività HDInsight è configurata per eseguire un file JAR di Mahout.In the following sample JSON definition of a pipeline, the HDInsight Activity is configured to run a Mahout JAR file.

{
    "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"
        ]
    }
}

È possibile specificare eventuali argomenti per il programma MapReduce nella sezione arguments.You can specify any arguments for the MapReduce program in the arguments section. In fase di esecuzione, vengono visualizzati alcuni argomenti aggiuntivi (ad esempio: mapreduce.job.tags) dal framework di MapReduce.At runtime, you see a few extra arguments (for example: mapreduce.job.tags) from the MapReduce framework. Per differenziare gli argomenti con gli argomenti di MapReduce, è consigliabile usare sia l'opzione che il valore come argomenti, come illustrato nell'esempio seguente (- s, --input - output e così via sono opzioni immediatamente seguite dai valori).To differentiate your arguments with the MapReduce arguments, consider using both option and value as arguments as shown in the following example (-s, --input, --output etc., are options immediately followed by their values).

Passaggi successiviNext steps

Vedere gli articoli seguenti che illustrano come trasformare i dati in altri modi:See the following articles that explain how to transform data in other ways: