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 class
A fluent builder forCfnJob
.static interface
Specifies the connections used by a job.static interface
An execution property of a job.static interface
Specifies code executed when a job is run.static interface
Specifies configuration properties of a notification.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The 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 definedworkerType
that 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 theSecurityConfiguration
structure 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.void
inspect
(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties
(Map<String, Object> props) void
setAllocatedCapacity
(Number value) This parameter is no longer supported.void
setCommand
(IResolvable value) The code that executes a job.void
The code that executes a job.void
setConnections
(IResolvable value) The connections used for this job.void
The connections used for this job.void
setDefaultArguments
(Object value) The default arguments for this job, specified as name-value pairs.void
setDescription
(String value) A description of the job.void
setExecutionClass
(String value) Indicates whether the job is run with a standard or flexible execution class.void
setExecutionProperty
(IResolvable value) The maximum number of concurrent runs that are allowed for this job.void
The maximum number of concurrent runs that are allowed for this job.void
setGlueVersion
(String value) Glue version determines the versions of Apache Spark and Python that AWS Glue supports.void
This field is reserved for future use.void
setMaxCapacity
(Number value) The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs.void
setMaxRetries
(Number value) The maximum number of times to retry this job after a JobRun fails.void
The name you assign to this job definition.void
setNonOverridableArguments
(Object value) Non-overridable arguments for this job, specified as name-value pairs.void
Specifies configuration properties of a notification.void
Specifies configuration properties of a notification.void
setNumberOfWorkers
(Number value) The number of workers of a definedworkerType
that are allocated when a job runs.void
The name or Amazon Resource Name (ARN) of the IAM role associated with this job.void
setSecurityConfiguration
(String value) The name of theSecurityConfiguration
structure to be used with this job.void
setTimeout
(Number value) The job timeout in minutes.void
setWorkerType
(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, validateProperties
Methods inherited from class software.amazon.awscdk.core.CfnRefElement
getRef
Methods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:
inspect
in 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:
renderProperties
in classCfnResource
- Parameters:
props
- This parameter is required.
-
getCfnProperties
- Overrides:
getCfnProperties
in 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. UseMaxCapacity
instead.The number of capacity units that are allocated to this job.
-
setAllocatedCapacity
This parameter is no longer supported. UseMaxCapacity
instead.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
glueetl
will be allowed to setExecutionClass
toFLEX
. 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
glueetl
will be allowed to setExecutionClass
toFLEX
. 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 Capacity
if usingWorkerType
andNumberOfWorkers
.The value that can be allocated for
MaxCapacity
depends 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 Capacity
if usingWorkerType
andNumberOfWorkers
.The value that can be allocated for
MaxCapacity
depends 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 definedworkerType
that 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 definedworkerType
that 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 theSecurityConfiguration
structure to be used with this job. -
setSecurityConfiguration
The name of theSecurityConfiguration
structure 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
Standard
worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. - For the
G.1X
worker 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.2X
worker 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
Standard
worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. - For the
G.1X
worker 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.2X
worker 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
-