gpt4 book ai didi

aws-glue - 如何使用 AWS java SDK 使用 AWS 胶水作业自动生成脚本

转载 作者:行者123 更新时间:2023-12-04 17:30:32 26 4
gpt4 key购买 nike

我正在使用 Java Sdk 创建粘合作业。它只有两个必需的参数 Command 和 Glue 版本。
但我需要使用自动脚本生成来创建工作。正如我们可以从控制台做的那样,我们添加数据源、AWS Glue 生成的建议脚本、转换类型、数据目标、架构等。如何使用 java sdk 或什至使用 aws 胶水 api 将这些参数添加到胶水作业。

           CreateJobRequest req = new CreateJobRequest();
req.setName("TestJob2");
req.setRole("GlueS3Role");
req.setGlueVersion("1.0");
JobCommand command = new JobCommand();
command.setName("glueetl");
command.setPythonVersion("3");
**// S3 location need not to be given, as script code is auto generated by AWS glue
command.setScriptLocation(S3ScriptLocation);**
req.setCommand(command);

AWSGlue glueClient = AWSGlueClientBuilder.standard()
.withRegion(Regions.US_EAST_1)
.withCredentials(new AWSStaticCredentialsProvider(creds))
.build();

glueClient.createJob(req);
}

最佳答案

我希望 AWS Glue 客户端和触发作业的逻辑的实现将有助于以同样的方式实现胶水作业的自动生成。

胶水客户端:

public GlueClient createClient() {
return GlueClient.builder()
.region(Region.of(regionName))
.credentialsProvider(ProfileCredentialsProvider.create(profileName)).build();

胶水工作流道:
public static String runGlueJob(GlueClient glueClient, String jobName, Map<String, String> glueArguments) {

StartJobRunResponse response = glueClient.startJobRun(StartJobRunRequest.builder().jobName(jobName).arguments(glueArguments).build());
String jobId = response.jobRunId();
logger.info("JobId: " + jobId);

return jobId;

}


要创建新的 AWS Glue 作业定义,我们可以执行以下操作:
CreateJobResult jobResult = glueClient.createJob(CreateJobRequest.builder()
.command(JobCommand.builder().pythonVersion("").scriptLocation("").name("").build())
.defaultArguments()
.description()
.glueVersion()
.logUri()
.name()
.numberOfWorkers()
.role()
.tags()
.build());


然后触发作业

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

关于aws-glue - 如何使用 AWS java SDK 使用 AWS 胶水作业自动生成脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60167572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com