EmrConfiguration - AWS Data Pipeline

EmrConfiguration

EmrConfiguration オブジェクトはリリース 4.0.0 以降の EMR クラスターに使用される設定です。(リストとしての) 設定は、RunJobFlow API 呼び出しのパラメーターです。Amazon EMR の設定 API は、分類およびプロパティを受け取ります。AWS Data Pipeline は対応する Property オブジェクトと共に EmrConfiguration を使用して、パイプライン実行で起動された EMR クラスターで Hadoop、Hive、Spark、Pig などの EmrCluster アプリケーションを設定します。設定は新しいクラスターに対してのみ変更できるため、既存のリソースに EmrConfiguration オブジェクトを指定することはできません。詳細については、「https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/」を参照してください。

次の設定オブジェクトは、io.file.buffer.sizefs.s3.block.size および core-site.xml プロパティを設定します。

[ { "classification":"core-site", "properties": { "io.file.buffer.size": "4096", "fs.s3.block.size": "67108864" } } ]

対応するパイプラインオブジェクトの定義では、EmrConfiguration オブジェクトおよび Property オブジェクトのリストを property フィールドで使用します。

{ "objects": [ { "name": "ReleaseLabelCluster", "releaseLabel": "emr-4.1.0", "applications": ["spark", "hive", "pig"], "id": "ResourceId_I1mCc", "type": "EmrCluster", "configuration": { "ref": "coresite" } }, { "name": "coresite", "id": "coresite", "type": "EmrConfiguration", "classification": "core-site", "property": [{ "ref": "io-file-buffer-size" }, { "ref": "fs-s3-block-size" } ] }, { "name": "io-file-buffer-size", "id": "io-file-buffer-size", "type": "Property", "key": "io.file.buffer.size", "value": "4096" }, { "name": "fs-s3-block-size", "id": "fs-s3-block-size", "type": "Property", "key": "fs.s3.block.size", "value": "67108864" } ] }

次の例は、hadoop-env 分類で Hadoop 環境を設定するためのネスト設定です。

[ { "classification": "hadoop-env", "properties": {}, "configurations": [ { "classification": "export", "properties": { "YARN_PROXYSERVER_HEAPSIZE": "2396" } } ] } ]

この設定を使用する、対応するパイプライン定義オブジェクトを次に示します。

{ "objects": [ { "name": "ReleaseLabelCluster", "releaseLabel": "emr-4.0.0", "applications": ["spark", "hive", "pig"], "id": "ResourceId_I1mCc", "type": "EmrCluster", "configuration": { "ref": "hadoop-env" } }, { "name": "hadoop-env", "id": "hadoop-env", "type": "EmrConfiguration", "classification": "hadoop-env", "configuration": { "ref": "export" } }, { "name": "export", "id": "export", "type": "EmrConfiguration", "classification": "export", "property": { "ref": "yarn-proxyserver-heapsize" } }, { "name": "yarn-proxyserver-heapsize", "id": "yarn-proxyserver-heapsize", "type": "Property", "key": "YARN_PROXYSERVER_HEAPSIZE", "value": "2396" }, ] }

次の例では、EMR クラスターの Hive 固有のプロパティを変更します。

{ "objects": [ { "name": "hivesite", "id": "hivesite", "type": "EmrConfiguration", "classification": "hive-site", "property": [ { "ref": "hive-client-timeout" } ] }, { "name": "hive-client-timeout", "id": "hive-client-timeout", "type": "Property", "key": "hive.metastore.client.socket.timeout", "value": "2400s" } ] }

Syntax

このオブジェクトは次のフィールドを含みます。

必須フィールド 説明 スロットタイプ
classification 設定の分類。 文字列

オプションのフィールド 説明 スロットタイプ
設定 この設定のサブ設定。 参照オブジェクト ("configuration":{"ref":"myEmrConfigurationId"} など)
parent スロットの継承元となる現在のオブジェクトの親。 参照オブジェクト ("parent":{"ref":"myBaseObjectId"} など)
property 設定のプロパティ。 参照オブジェクト ("property":{"ref":"myPropertyId"} など)

実行時フィールド 説明 スロットタイプ
@version オブジェクトが作成されたパイプラインのバージョン。 文字列

システムフィールド 説明 スロットタイプ
@error 形式が正しくないオブジェクトを説明するエラー 文字列
@pipelineId このオブジェクトが属するパイプラインの ID 文字列
@sphere オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します 文字列

以下の資料も参照してください。