I'm trying to follow the AWS Glue documentation to develop a scala program and create a new Glue Job. Following have been my steps so far
Built a sample Scala program as guided by https://docs.aws.amazon.com/glue/latest/dg/glue-etl-scala-example.html.
Bundled the scala main class into a jar-with-dependencies assembly file and uploaded it to S3 under a /bin folder
Launched AWS Glue Service on AWS Management Console
Under "jobs" clicked on Add Job and setup the following
- Name:
- IAM Role : Role that has access to S3, Glue, etc
- Type: Spark
- Glue Version: Spark 3.1, Scala 2 (Glue Version 3.0)
- This job runs as : "An existing Script that you provided"
- Script file Name: FQCN for the scala main class
- S3 path where the script is stored : s3 link to the jar with dependencies jar file
- Temporary directory: did not change
Click on "Next"
Save the job and clicked on Run job
After a while it shows the following error in the cloudwatch logs
2021-12-14 02:24:50,558 ERROR [main] glue.ProcessLauncher (Logging.scala:logError(73)): User class 'xxx.xxx.xxxx.GlueJob' is not initialized. java.lang.ClassNotFoundException: xxx.xxx.xxxx.GlueJob
where am I going wrong?
