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 |