Class CfnJob
- All Implemented Interfaces:
IConstruct,IDependable,IInspectable,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct
AWS::Glue::Job.
The AWS::Glue::Job resource specifies an AWS Glue job in the data catalog. For more information, see Adding Jobs in AWS Glue and Job Structure in the AWS Glue Developer Guide.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.glue.*;
Object defaultArguments;
Object nonOverridableArguments;
Object tags;
CfnJob cfnJob = CfnJob.Builder.create(this, "MyCfnJob")
.command(JobCommandProperty.builder()
.name("name")
.pythonVersion("pythonVersion")
.runtime("runtime")
.scriptLocation("scriptLocation")
.build())
.role("role")
// the properties below are optional
.allocatedCapacity(123)
.connections(ConnectionsListProperty.builder()
.connections(List.of("connections"))
.build())
.defaultArguments(defaultArguments)
.description("description")
.executionClass("executionClass")
.executionProperty(ExecutionPropertyProperty.builder()
.maxConcurrentRuns(123)
.build())
.glueVersion("glueVersion")
.logUri("logUri")
.maxCapacity(123)
.maxRetries(123)
.name("name")
.nonOverridableArguments(nonOverridableArguments)
.notificationProperty(NotificationPropertyProperty.builder()
.notifyDelayAfter(123)
.build())
.numberOfWorkers(123)
.securityConfiguration("securityConfiguration")
.tags(tags)
.timeout(123)
.workerType("workerType")
.build();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA fluent builder forCfnJob.static interfaceSpecifies the connections used by a job.static interfaceAn execution property of a job.static interfaceSpecifies code executed when a job is run.static interfaceSpecifies configuration properties of a notification.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThis parameter is no longer supported.The code that executes a job.The connections used for this job.The default arguments for this job, specified as name-value pairs.A description of the job.Indicates whether the job is run with a standard or flexible execution class.The maximum number of concurrent runs that are allowed for this job.Glue version determines the versions of Apache Spark and Python that AWS Glue supports.This field is reserved for future use.The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs.The maximum number of times to retry this job after a JobRun fails.getName()The name you assign to this job definition.Non-overridable arguments for this job, specified as name-value pairs.Specifies configuration properties of a notification.The number of workers of a definedworkerTypethat are allocated when a job runs.getRole()The name or Amazon Resource Name (ARN) of the IAM role associated with this job.The name of theSecurityConfigurationstructure to be used with this job.getTags()The tags to use with this job.The job timeout in minutes.The type of predefined worker that is allocated when a job runs.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetAllocatedCapacity(Number value) This parameter is no longer supported.voidsetCommand(IResolvable value) The code that executes a job.voidThe code that executes a job.voidsetConnections(IResolvable value) The connections used for this job.voidThe connections used for this job.voidsetDefaultArguments(Object value) The default arguments for this job, specified as name-value pairs.voidsetDescription(String value) A description of the job.voidsetExecutionClass(String value) Indicates whether the job is run with a standard or flexible execution class.voidsetExecutionProperty(IResolvable value) The maximum number of concurrent runs that are allowed for this job.voidThe maximum number of concurrent runs that are allowed for this job.voidsetGlueVersion(String value) Glue version determines the versions of Apache Spark and Python that AWS Glue supports.voidThis field is reserved for future use.voidsetMaxCapacity(Number value) The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs.voidsetMaxRetries(Number value) The maximum number of times to retry this job after a JobRun fails.voidThe name you assign to this job definition.voidsetNonOverridableArguments(Object value) Non-overridable arguments for this job, specified as name-value pairs.voidSpecifies configuration properties of a notification.voidSpecifies configuration properties of a notification.voidsetNumberOfWorkers(Number value) The number of workers of a definedworkerTypethat are allocated when a job runs.voidThe name or Amazon Resource Name (ARN) of the IAM role associated with this job.voidsetSecurityConfiguration(String value) The name of theSecurityConfigurationstructure to be used with this job.voidsetTimeout(Number value) The job timeout in minutes.voidsetWorkerType(String value) The type of predefined worker that is allocated when a job runs.Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.core.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validateMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnJob
protected CfnJob(software.amazon.jsii.JsiiObjectRef objRef) -
CfnJob
protected CfnJob(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnJob
@Stability(Stable) public CfnJob(@NotNull Construct scope, @NotNull String id, @NotNull CfnJobProps props) Create a newAWS::Glue::Job.- Parameters:
scope-- scope in which this resource is defined.
id-- scoped id of the resource.
props-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getTags
The tags to use with this job. -
getCommand
The code that executes a job. -
setCommand
The code that executes a job. -
setCommand
The code that executes a job. -
getDefaultArguments
The default arguments for this job, specified as name-value pairs.You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes.
For information about how to specify and consume your own job arguments, see Calling AWS Glue APIs in Python in the AWS Glue Developer Guide .
For information about the key-value pairs that AWS Glue consumes to set up your job, see Special Parameters Used by AWS Glue in the AWS Glue Developer Guide .
-
setDefaultArguments
The default arguments for this job, specified as name-value pairs.You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes.
For information about how to specify and consume your own job arguments, see Calling AWS Glue APIs in Python in the AWS Glue Developer Guide .
For information about the key-value pairs that AWS Glue consumes to set up your job, see Special Parameters Used by AWS Glue in the AWS Glue Developer Guide .
-
getNonOverridableArguments
Non-overridable arguments for this job, specified as name-value pairs. -
setNonOverridableArguments
Non-overridable arguments for this job, specified as name-value pairs. -
getRole
The name or Amazon Resource Name (ARN) of the IAM role associated with this job. -
setRole
The name or Amazon Resource Name (ARN) of the IAM role associated with this job. -
getAllocatedCapacity
This parameter is no longer supported. UseMaxCapacityinstead.The number of capacity units that are allocated to this job.
-
setAllocatedCapacity
This parameter is no longer supported. UseMaxCapacityinstead.The number of capacity units that are allocated to this job.
-
getConnections
The connections used for this job. -
setConnections
The connections used for this job. -
setConnections
The connections used for this job. -
getDescription
A description of the job. -
setDescription
A description of the job. -
getExecutionClass
Indicates whether the job is run with a standard or flexible execution class.The standard execution class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.
The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary.
Only jobs with AWS Glue version 3.0 and above and command type
glueetlwill be allowed to setExecutionClasstoFLEX. The flexible execution class is available for Spark jobs. -
setExecutionClass
Indicates whether the job is run with a standard or flexible execution class.The standard execution class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.
The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary.
Only jobs with AWS Glue version 3.0 and above and command type
glueetlwill be allowed to setExecutionClasstoFLEX. The flexible execution class is available for Spark jobs. -
getExecutionProperty
The maximum number of concurrent runs that are allowed for this job. -
setExecutionProperty
The maximum number of concurrent runs that are allowed for this job. -
setExecutionProperty
@Stability(Stable) public void setExecutionProperty(@Nullable CfnJob.ExecutionPropertyProperty value) The maximum number of concurrent runs that are allowed for this job. -
getGlueVersion
Glue version determines the versions of Apache Spark and Python that AWS Glue supports.The Python version indicates the version supported for jobs of type Spark.
For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.
Jobs that are created without specifying a Glue version default to Glue 0.9.
-
setGlueVersion
Glue version determines the versions of Apache Spark and Python that AWS Glue supports.The Python version indicates the version supported for jobs of type Spark.
For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.
Jobs that are created without specifying a Glue version default to Glue 0.9.
-
getLogUri
This field is reserved for future use. -
setLogUri
This field is reserved for future use. -
getMaxCapacity
The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs.A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.
Do not set
Max Capacityif usingWorkerTypeandNumberOfWorkers.The value that can be allocated for
MaxCapacitydepends on whether you are running a Python shell job or an Apache Spark ETL job:- When you specify a Python shell job (
JobCommand.Name="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. - When you specify an Apache Spark ETL job (
JobCommand.Name="glueetl"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
- When you specify a Python shell job (
-
setMaxCapacity
The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs.A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.
Do not set
Max Capacityif usingWorkerTypeandNumberOfWorkers.The value that can be allocated for
MaxCapacitydepends on whether you are running a Python shell job or an Apache Spark ETL job:- When you specify a Python shell job (
JobCommand.Name="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. - When you specify an Apache Spark ETL job (
JobCommand.Name="glueetl"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
- When you specify a Python shell job (
-
getMaxRetries
The maximum number of times to retry this job after a JobRun fails. -
setMaxRetries
The maximum number of times to retry this job after a JobRun fails. -
getName
The name you assign to this job definition. -
setName
The name you assign to this job definition. -
getNotificationProperty
Specifies configuration properties of a notification. -
setNotificationProperty
Specifies configuration properties of a notification. -
setNotificationProperty
@Stability(Stable) public void setNotificationProperty(@Nullable CfnJob.NotificationPropertyProperty value) Specifies configuration properties of a notification. -
getNumberOfWorkers
The number of workers of a definedworkerTypethat are allocated when a job runs.The maximum number of workers you can define are 299 for
G.1X, and 149 forG.2X. -
setNumberOfWorkers
The number of workers of a definedworkerTypethat are allocated when a job runs.The maximum number of workers you can define are 299 for
G.1X, and 149 forG.2X. -
getSecurityConfiguration
The name of theSecurityConfigurationstructure to be used with this job. -
setSecurityConfiguration
The name of theSecurityConfigurationstructure to be used with this job. -
getTimeout
The job timeout in minutes.This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).
-
setTimeout
The job timeout in minutes.This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).
-
getWorkerType
The type of predefined worker that is allocated when a job runs.Accepts a value of Standard, G.1X, or G.2X.
- For the
Standardworker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. - For the
G.1Xworker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. - For the
G.2Xworker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.
- For the
-
setWorkerType
The type of predefined worker that is allocated when a job runs.Accepts a value of Standard, G.1X, or G.2X.
- For the
Standardworker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. - For the
G.1Xworker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. - For the
G.2Xworker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.
- For the
-