EmrConfiguration - AWS Data Pipeline

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

EmrConfiguration

Das EmrConfiguration Objekt ist die Konfiguration, die für EMR-Cluster mit Versionen 4.0.0 oder höher verwendet wird. Konfigurationen (als Liste) sind ein Parameter für den RunJobFlow API-Aufruf. Die Konfigurations-API für Amazon EMR verwendet eine Klassifizierung und Eigenschaften. AWS Data Pipeline verwendet EmrConfiguration mit entsprechenden Property-Objekten, um eine EmrCluster Anwendung wie Hadoop, Hive, Spark oder Pig auf EMR-Clustern zu konfigurieren, die in einer Pipeline-Ausführung gestartet wurden. Da die Konfiguration nur für neue Cluster geändert werden kann, können Sie kein EmrConfiguration Objekt für vorhandene Ressourcen bereitstellen. Weitere Informationen finden Sie unter https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/.

Beispiel

Das folgende Konfigurationsobjekt legt die io.file.buffer.size und fs.s3.block.size Eigenschaften in core-site.xml fest:

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

Die entsprechende Pipeline-Objektdefinition verwendet ein EmrConfiguration Objekt und eine Liste von Property-Objekten im property Feld:

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

Im folgenden Beispiel wird eine verschachtelte Konfiguration verwendet, um die Hadoop-Umgebung mit der hadoop-env-Klassifizierung festzulegen:

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

Nachfolgend ist das entsprechende Pipeline-Definitionsobjekt mit dieser Konfiguration:

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

Im folgenden Beispiel wird eine HIVE-spezifische Eigenschaft für einen EMR-Cluster geändert:

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

Dieses Objekt enthält die folgenden Felder.

Pflichtfelder Beschreibung Slot-Typ
Klassifizierung Klassifizierung für die Konfiguration. String

Optionale Felder Beschreibung Slot-Typ
Konfiguration Unterkonfiguration für diese Konfiguration. Referenzobjekt, z. B. „configuration“: {"ref“:“ Id "} myEmrConfiguration
übergeordneter Übergeordnetes Objekt des aktuellen Objekts, aus dem Slots übernommen werden. Referenzobjekt, z. B. „parent“: {"ref“:“ myBaseObject Id "}
property Konfigurationseigenschaft Referenzobjekt, z. B. „Eigenschaft“: {"ref“:“ myPropertyId „}

Laufzeitfelder Beschreibung Slot-Typ
@Version Pipeline-Version, mit der das Objekt erstellt wurde. String

Systemfelder Beschreibung Slot-Typ
@error Fehler mit einer Beschreibung des falsch formatierten Objekts String
@pipelineId Id der Pipeline, zu der dieses Objekt gehört String
@sphere Die Kugel eines Objekts bezeichnet seinen Platz im Lebenszyklus: Komponentenobjekte ergeben Instance-Objekte, die Versuchsobjekte ausführen String

Weitere Informationen finden Sie unter: