ScalaJobExecutableProps

class aws_cdk.aws_glue_alpha.ScalaJobExecutableProps(*, class_name, glue_version, script, extra_files=None, extra_jars=None, extra_jars_first=None, runtime=None)

Bases: object

(experimental) Props for creating a Scala Spark (ETL or Streaming) job executable.

Parameters:
  • class_name (str) – (experimental) The fully qualified Scala class name that serves as the entry point for the job. Equivalent to a job parameter --class.

  • glue_version (GlueVersion) – (experimental) Glue version.

  • script (Code) – (experimental) The script that executes a job.

  • extra_files (Optional[Sequence[Code]]) – (experimental) Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it. Only individual files are supported, directories are not supported. Equivalent to a job parameter --extra-files. Default: [] - no extra files are copied to the working directory

  • extra_jars (Optional[Sequence[Code]]) – (experimental) Additional Java .jar files that AWS Glue adds to the Java classpath before executing your script. Only individual files are supported, directories are not supported. Equivalent to a job parameter --extra-jars. Default: [] - no extra jars are added to the classpath

  • extra_jars_first (Optional[bool]) – (experimental) Setting this value to true prioritizes the customer’s extra JAR files in the classpath. Equivalent to a job parameter --user-jars-first. Default: false - priority is not given to user-provided jars

  • runtime (Optional[Runtime]) – (experimental) Runtime. It is required for Ray jobs.

Stability:

experimental

ExampleMetadata:

infused

Example:

# bucket: s3.Bucket

glue.Job(self, "ScalaSparkEtlJob",
    executable=glue.JobExecutable.scala_etl(
        glue_version=glue.GlueVersion.V4_0,
        script=glue.Code.from_bucket(bucket, "src/com/example/HelloWorld.scala"),
        class_name="com.example.HelloWorld",
        extra_jars=[glue.Code.from_bucket(bucket, "jars/HelloWorld.jar")]
    ),
    worker_type=glue.WorkerType.G_8X,
    description="an example Scala ETL job"
)

Attributes

class_name

(experimental) The fully qualified Scala class name that serves as the entry point for the job.

Equivalent to a job parameter --class.

See:

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

Stability:

experimental

extra_files

(experimental) Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it.

Only individual files are supported, directories are not supported. Equivalent to a job parameter --extra-files.

Default:

[] - no extra files are copied to the working directory

See:

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

Stability:

experimental

extra_jars

(experimental) Additional Java .jar files that AWS Glue adds to the Java classpath before executing your script. Only individual files are supported, directories are not supported. Equivalent to a job parameter --extra-jars.

Default:

[] - no extra jars are added to the classpath

See:

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

Stability:

experimental

extra_jars_first

(experimental) Setting this value to true prioritizes the customer’s extra JAR files in the classpath.

Equivalent to a job parameter --user-jars-first.

Default:

false - priority is not given to user-provided jars

See:

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

Stability:

experimental

glue_version

(experimental) Glue version.

See:

https://docs.aws.amazon.com/glue/latest/dg/release-notes.html

Stability:

experimental

runtime

(experimental) Runtime.

It is required for Ray jobs.

Stability:

experimental

script

(experimental) The script that executes a job.

Stability:

experimental