EmrConfiguration - AWS Data Pipeline

AWS Data PipelineO não está mais disponível para novos clientes. Os clientes atuais do AWS Data Pipeline podem continuar usando o serviço normalmente. Saiba mais

EmrConfiguration

O objeto EmrConfiguration é a configuração usada para clusters do EMR com versões 4.0.0 ou superior. Configurations (como uma lista) é um parâmetro para a chamada da API RunJobFlow. A API de configuração do Amazon EMR obtém uma classificação e as propriedades. O AWS Data Pipeline usa EmrConfiguration com objetos Property correspondentes para configurar um aplicativo do EmrCluster, como Hadoop, Hive, Spark ou Pig, nos clusters do EMR iniciados em uma execução de pipeline. Como a configuração só pode ser alterada para novos clusters, não é possível fornecer um objeto EmrConfiguration para recursos existentes. Para obter mais informações, consulte https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/.

Exemplo

O seguinte objeto de configuração define as propriedades io.file.buffer.size e fs.s3.block.size em core-site.xml:

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

A definição de objeto de pipeline correspondente usa um objeto EmrConfiguration e uma lista de objetos Property no campo 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" } ] }

O exemplo a seguir é uma configuração aninhada usada para definir o ambiente Hadoop com a classificação hadoop-env:

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

Veja a seguir o objeto de definição de pipeline correspondente que usa essa configuração:

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

O exemplo a seguir modifica uma propriedade específica do Hive para um cluster do 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" } ] }

Sintaxe

Este objeto inclui os seguintes campos.

Campos obrigatórios Descrição Tipo de slot
classificação Classificação para a configuração. String

Campos opcionais Descrição Tipo de slot
configuration Subconfiguração para esta configuração. Objeto de referência, como “configuration”:{"ref":"myEmrConfigurationId"}
parent Pai do objeto atual a partir do qual os slots serão herdados. Objeto de referência, como “parent”:{"ref":"myBaseObjectId"}
property Propriedade de configuração. Objeto de referência, como “property”:{"ref":"myPropertyId"}

Campos de tempo de execução Descrição Tipo de slot
@version A versão do pipeline com que o objeto foi criado. String

Campos do sistema Descrição Tipo de slot
@error Erro ao descrever o objeto malformado. String
@pipelineId ID do pipeline ao qual este objeto pertence. String
@sphere A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. String

Consulte também