我们可以在 Java 中为 AWS Glue 编写脚本吗

Can we write script in Java for AWS Glue

我正在尝试使用 Java 创建作业脚本。在 AWS Glue 控制台中,我只能找到“Python, Spark”,这意味着我们根本无法使用 Java 编写脚本?如果是,那么这个 api 用于什么:aws-java-sdk-glue

我什至找到了一些例子:

在上面,似乎我们也可以在 Java 中编写 aws glue 脚本。谁能确认一下?

编辑: 在 Scala 中,我们写成:glueContext.getCatalogSource(database = "my_data_base", tableName = "my_table")

在 Java 中,我发现下面 class,其中有 方法名称 withDatabaseNamewithTableName https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/glue/model/CatalogEntry.html

那请问上面class的目的是什么?

Java 不支持 AWS Glue 作业的实际脚本定义。

您所指的 API 是 AWS SDK,它将允许您创建和管理 AWS Glue 资源,例如 creating/running 爬虫,查看和管理胶水目录,创建作业定义等

因此,您可以使用适用于 Java 的 AWS SDK 管理 Glue 服务中的资源,类似于使用适用于 Java 的 AWS SDK 管理 EC2、S3、RDS 中的资源。

你看到的Glue控制台上的语言选项就是yoiu会写的script/code来提取、转换和加载实际需要处理的数据。源可以是 db 或 s3 存储桶,目标可以是任何内容,具体取决于您的用例。

通常您可以从 AWS 管理控制台创建 Glue 作业或 S3 存储桶,当您不想手动执行此操作时,您需要一个 SDK,其中包含您使用的 API 调用定义创建 AWS 资源。

因此 Glue 作业中的脚本只能用 python or scala 编写,但在创建 Glue 作业时,您可以使用不同的 languages/SDKs.

Java - https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/glue/AWSGlueClient.html

Python - https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html

Java 脚本 - https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Glue.html

Ruby - https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Glue/Client.html

以上是用于在 AWS 中定义资源的 SDK,参考下面 link,其中包含在 Glue 作业中使用的实际代码。

https://github.com/aws-samples/aws-glue-samples