Skip to content
v2.273.0

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.
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: