AWS Data Pipeline 不再向新客户提供。的现有客户 AWS Data Pipeline 可以继续照常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EmrConfiguration
该 EmrConfiguration 对象是用于版本为 4.0.0 或更高版本的EMR群集的配置。配置(作为列表)是 RunJobFlow API调用的一个参数。Amazon API 的配置EMR采用分类和属性。 AWS Data Pipeline EmrConfiguration 与相应的属性对象一起使用,在管道执行中启动的EMR集群上配置EmrCluster应用程序,例如 Hadoop、Hive、Spark 或 Pig。由于只能更改新集群的配置,因此您无法为现有资源提供 EmrConfiguration 对象。有关更多信息,请参阅 https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/。
示例
以下配置对象在 core-site.xml
中设置 io.file.buffer.size
和 fs.s3.block.size
属性:
[ { "classification":"core-site", "properties": { "io.file.buffer.size": "4096", "fs.s3.block.size": "67108864" } } ]
相应的管道对象定义在 EmrConfiguration 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" }, ] }
以下示例修改了集群的 Hive 特定属性:EMR
{ "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" } ] }
语法
该对象包含以下字段。
必填字段 | 描述 | 槽类型 |
---|---|---|
分类 | 配置的分类。 | String |
可选字段 | 描述 | 槽类型 |
---|---|---|
配置 | 此配置的子配置。 | 参考对象,例如 “配置”:{"ref”:” myEmrConfiguration Id "} |
parent | 槽将继承自的当前对象的父级。 | 引用对象,例如 “父对象”:{"ref”:” myBaseObject Id "} |
property | 配置属性。 | 引用对象,例如 “属性”:{“ref”:” myPropertyId “} |
运行时字段 | 描述 | 槽类型 |
---|---|---|
@version | 用来创建对象的管道版本。 | String |
系统字段 | 描述 | 槽类型 |
---|---|---|
@error | 用于描述格式不正确的对象的错误消息 | String |
@pipelineId | 该对象所属的管道的 ID | String |
@sphere | 对象的范围指明对象在生命周期中的位置:组件对象产生实例对象,后者执行尝试对象 | String |