Classification Class
The classification within a EMR Containers application configuration.
Class can be extended to add other classifications. For example, new Classification('xxx-yyy');
Example
ts
new tasks.EmrContainersStartJobRun(this, 'EMR Containers Start Job Run', {
virtualCluster: tasks.VirtualClusterInput.fromVirtualClusterId('de92jdei2910fwedz'),
releaseLabel: tasks.ReleaseLabel.EMR_6_2_0,
jobName: 'EMR-Containers-Job',
jobDriver: {
sparkSubmitJobDriver: {
entryPoint: sfn.TaskInput.fromText('local:///usr/lib/spark/examples/src/main/python/pi.py'),
},
},
applicationConfig: [{
classification: tasks.Classification.SPARK_DEFAULTS,
properties: {
'spark.executor.instances': '1',
'spark.executor.memory': '512M',
},
}],
});
python
tasks.EmrContainersStartJobRun(self, "EMR Containers Start Job Run",
virtual_cluster=tasks.VirtualClusterInput.from_virtual_cluster_id("de92jdei2910fwedz"),
release_label=tasks.ReleaseLabel.EMR_6_2_0,
job_name="EMR-Containers-Job",
job_driver=tasks.JobDriver(
spark_submit_job_driver=tasks.SparkSubmitJobDriver(
entry_point=sfn.TaskInput.from_text("local:///usr/lib/spark/examples/src/main/python/pi.py")
)
),
application_config=[tasks.ApplicationConfiguration(
classification=tasks.Classification.SPARK_DEFAULTS,
properties={
"spark.executor.instances": "1",
"spark.executor.memory": "512M"
}
)]
)
java
EmrContainersStartJobRun.Builder.create(this, "EMR Containers Start Job Run")
.virtualCluster(VirtualClusterInput.fromVirtualClusterId("de92jdei2910fwedz"))
.releaseLabel(ReleaseLabel.EMR_6_2_0)
.jobName("EMR-Containers-Job")
.jobDriver(JobDriver.builder()
.sparkSubmitJobDriver(SparkSubmitJobDriver.builder()
.entryPoint(TaskInput.fromText("local:///usr/lib/spark/examples/src/main/python/pi.py"))
.build())
.build())
.applicationConfig(List.of(ApplicationConfiguration.builder()
.classification(Classification.SPARK_DEFAULTS)
.properties(Map.of(
"spark.executor.instances", "1",
"spark.executor.memory", "512M"))
.build()))
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
new EmrContainersStartJobRun(this, "EMR Containers Start Job Run", new EmrContainersStartJobRunProps {
VirtualCluster = VirtualClusterInput.FromVirtualClusterId("de92jdei2910fwedz"),
ReleaseLabel = ReleaseLabel.EMR_6_2_0,
JobName = "EMR-Containers-Job",
JobDriver = new JobDriver {
SparkSubmitJobDriver = new SparkSubmitJobDriver {
EntryPoint = TaskInput.FromText("local:///usr/lib/spark/examples/src/main/python/pi.py")
}
},
ApplicationConfig = new [] { new ApplicationConfiguration {
Classification = Classification.SPARK_DEFAULTS,
Properties = new Dictionary<string, string> {
{ "spark.executor.instances", "1" },
{ "spark.executor.memory", "512M" }
}
} }
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
tasks.NewEmrContainersStartJobRun(this, jsii.String("EMR Containers Start Job Run"), &EmrContainersStartJobRunProps{
VirtualCluster: tasks.VirtualClusterInput_FromVirtualClusterId(jsii.String("de92jdei2910fwedz")),
ReleaseLabel: tasks.ReleaseLabel_EMR_6_2_0(),
JobName: jsii.String("EMR-Containers-Job"),
JobDriver: &JobDriver{
SparkSubmitJobDriver: &SparkSubmitJobDriver{
EntryPoint: sfn.TaskInput_FromText(jsii.String("local:///usr/lib/spark/examples/src/main/python/pi.py")),
},
},
ApplicationConfig: []ApplicationConfiguration{
&ApplicationConfiguration{
Classification: tasks.Classification_SPARK_DEFAULTS(),
Properties: map[string]*string{
"spark.executor.instances": jsii.String("1"),
"spark.executor.memory": jsii.String("512M"),
},
},
},
})
Initializer
ts
new Classification(classificationStatement: string)
python
Classification(classification_statement: str)
java
new Classification(String classificationStatement)
csharp
new Classification(string classificationStatement)
go
NewClassification(ClassificationStatement *string)
Properties
classificationStatementstringclassification_statementstrclassificationStatementStringClassificationStatementstringClassificationStatement*stringrequired#A literal string in case a new EMR classification is released, if not already defined.
SPARKClassificationsparkClassificationSPARKClassificationSPARKClassificationSPARKClassificationrequiredstatic#Sets the maximizeResourceAllocation property to true or false.
When true, Amazon EMR automatically configures spark-defaults properties based on cluster hardware configuration.
For more info:
SPARK_DEFAULTSClassificationspark_defaultsClassificationSPARK_DEFAULTSClassificationSPARK_DEFAULTSClassificationSPARK_DEFAULTSClassificationrequiredstatic#Sets values in the spark-defaults.conf file.
For more info:
SPARK_ENVClassificationspark_envClassificationSPARK_ENVClassificationSPARK_ENVClassificationSPARK_ENVClassificationrequiredstatic#Sets values in the spark-env.sh file.
For more info:
SPARK_HIVE_SITEClassificationspark_hive_siteClassificationSPARK_HIVE_SITEClassificationSPARK_HIVE_SITEClassificationSPARK_HIVE_SITEClassificationrequiredstatic#Sets values in the hive-site.xml for Spark.
SPARK_LOG4JClassificationspark_log4_jClassificationSPARK_LOG4JClassificationSPARK_LOG4JClassificationSPARK_LOG4JClassificationrequiredstatic#Sets values in the log4j.properties file.
For more settings and info:
SPARK_METRICSClassificationspark_metricsClassificationSPARK_METRICSClassificationSPARK_METRICSClassificationSPARK_METRICSClassificationrequiredstatic#Sets values in the metrics.properties file.
For more settings and info: