Azure Data Factory で Hadoop MapReduce アクティビティを使用してデータを変換するTransform data using Hadoop MapReduce activity in Azure Data Factory

Data Factory パイプラインの HDInsight MapReduce アクティビティは、独自の、またはオンデマンドの HDInsight クラスターで MapReduce プログラムを起動します。The HDInsight MapReduce activity in a Data Factory pipeline invokes MapReduce program on your own or on-demand HDInsight cluster. この記事は、データ変換とサポートされる変換アクティビティの概要を説明する、 データ変換アクティビティ に関する記事に基づいています。This article builds on the data transformation activities article, which presents a general overview of data transformation and the supported transformation activities.

Azure Data Factory を初めて利用する場合は、この記事を読む前に、「Azure Data Factory の概要」を参照し、データの変換に関するチュートリアルを実行してください。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.

HDInsight Pig と Hive アクティビティを使用してパイプラインから HDInsight クラスター上の Pig/Hive スクリプトを実行する方法の詳細については、PigHive に関する記事をご覧ください。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.

構文Syntax

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

構文の詳細Syntax details

プロパティProperty 説明Description 必須Required
名前name アクティビティの名前Name of the activity はいYes
descriptiondescription アクティビティの用途を説明するテキストです。Text describing what the activity is used for いいえNo
typetype MapReduce アクティビティの場合、アクティビティの種類は HDinsightMapReduce ですFor MapReduce Activity, the activity type is HDinsightMapReduce はいYes
linkedServiceNamelinkedServiceName Data Factory のリンクされたサービスとして登録されている HDInsight クラスターへの参照。Reference to the HDInsight cluster registered as a linked service in Data Factory. このリンクされたサービスの詳細については、計算のリンクされたサービスに関する記事をご覧ください。To learn about this linked service, see Compute linked services article. はいYes
classNameclassName 実行するクラスの名前Name of the Class to be executed はいYes
jarLinkedServicejarLinkedService Jar ファイルの格納に使用される Azure Storage のリンクされたサービスへの参照。Reference to an Azure Storage Linked Service used to store the Jar files. このリンクされたサービスを指定していない場合は、HDInsight のリンクされたサービスで定義されている Azure Storage のリンクされたサービスが使用されます。If you don't specify this Linked Service, the Azure Storage Linked Service defined in the HDInsight Linked Service is used. いいえNo
jarFilePathjarFilePath jarLinkedServiceで参照される Azure Storage に格納されている Jar ファイルへのパスを指定します。Provide the path to the Jar files stored in the Azure Storage referred by jarLinkedService. ファイル名は大文字と小文字が区別されます。The file name is case-sensitive. はいYes
jarlibsjarlibs jarLinkedServiceで定義される Azure Storage に格納されているジョブで参照される Jar ライブラリ ファイルへのパスの文字列配列。String array of the path to the Jar library files referenced by the job stored in the Azure Storage defined in jarLinkedService. ファイル名は大文字と小文字が区別されます。The file name is case-sensitive. いいえNo
getDebugInfogetDebugInfo HDInsight クラスターで使用されている Azure Storage または jarLinkedService で指定された Azure Storage にログ ファイルがコピーされるタイミングを指定します。Specifies when the log files are copied to the Azure Storage used by HDInsight cluster (or) specified by jarLinkedService. 使用できる値は以下の通りです。None、Always、または Failure。Allowed values: None, Always, or Failure. 既定値:なし。Default value: None. いいえNo
argumentsarguments Hadoop ジョブの引数の配列を指定します。Specifies an array of arguments for a Hadoop job. 引数はコマンド ライン引数として各タスクに渡されます。The arguments are passed as command-line arguments to each task. いいえNo
definesdefines Hive スクリプト内で参照するキーと値のペアとしてパラメーターを指定します。Specify parameters as key/value pairs for referencing within the Hive script. いいえNo

Example

HDInsight MapReduce アクティビティを使用して、HDInsight クラスター上で MapReduce jar ファイルを実行できます。You can use the HDInsight MapReduce Activity to run any MapReduce jar file on an HDInsight cluster. 次のサンプルのパイプラインの JSON 定義では、Mahout JAR ファイルを実行するために HDInsight アクティビティが構成されます。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"
        ]
    }
}

arguments セクションで MapReduce プログラムに任意の引数を指定できます。You can specify any arguments for the MapReduce program in the arguments section. 実行時に、MapReduce フレームワークのいくつかの引数 (mapreduce.job.tags など) が表示されます。At runtime, you see a few extra arguments (for example: mapreduce.job.tags) from the MapReduce framework. MapReduce の引数と区別するために、次の例のように、オプションと値の両方を引数として使用することを検討してください (-s、--input、--output などがオプションであり、直後に値が続きます)。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).

次の手順Next steps

別の手段でデータを変換する方法を説明している次の記事を参照してください。See the following articles that explain how to transform data in other ways: