AWS Glue CDK - 创建作业类型 Spark (Glue 2.0)
Posted
技术标签:
【中文标题】AWS Glue CDK - 创建作业类型 Spark (Glue 2.0)【英文标题】:AWS Glue CDK - create job type Spark (Glue 2.0) 【发布时间】:2021-05-26 11:14:51 【问题描述】:我找不到任何有关如何使用 spark 类型创建胶水作业的文档。示例和文档建议的方式创建类型 python shell。示例:
glueETLJob = _glue.CfnJob(
self,
"glue_CDK_job",
command =_glue.CfnJob.JobCommandProperty(
name = "glue_CDK_job",
python_version= '3',
script_location = bucket + "/code/glue_CDK_job.py"
),
role= glueRole.role_arn,
max_retries= 0,
name= "glue_CDK_job",
timeout=30,
glue_version="1.0"
)
创建一个版本为 1 的 python shell,但我无法设置glue_version="2.0",因为它似乎只存在于Spark 类型中。
有谁知道如何使用 Spark 类型创建胶水作业并使用 CDK 胶水 2.0 版
谢谢
【问题讨论】:
【参考方案1】:原来JobCommandProperty 中的名称不是像其他人那样的id,而是我正在寻找的类型。所以如果有人有同样的问题,它应该是这样的:
glueETLJob = _glue.CfnJob(
self,
"glue_CDK_job",
command =_glue.CfnJob.JobCommandProperty(
name = "glueetl",
python_version= '3',
script_location = bucket + "/code/glue_CDK_job.py"
),
role= glueRole.role_arn,
max_retries= 0,
name= "glue_CDK_job",
timeout=30,
glue_version="2.0"
)
从https://github.com/aws/aws-cdk/issues/4480得到答案
【讨论】:
【参考方案2】:我遇到了同样的问题,但我意识到问题是由JobCommandProperty
中的name
引起的。将glue_CDK_job
更改为glueetl
即可。
您可以查看 AWS Cloud Formation 的文档。 https://github.com/awsdocs/aws-cloudformation-user-guide/blob/main/doc_source/aws-resource-glue-job.md
【讨论】:
【参考方案3】:const processFifaDataJobName = 'process-data-fifa';
const PYTHON_VERSION = "3";
const GLUE_VERSION = "1.0";
const COMMAND_NAME = "glueetl";
const glueJobProcessFifaData = new glue.CfnJob(this, processFifaDataJobName,
name: processFifaDataJobName,
role: role.roleArn,
command:
name: COMMAND_NAME,
pythonVersion: PYTHON_VERSION,
scriptLocation: 's3://' + bucketName + '/Scripts/process-data.py'
,
glueVersion: GLUE_VERSION
);
对我来说,上面的代码有效。尽管您尝试做的事情非常相似。但这创造了 spark 类型的工作。
【讨论】:
以上是关于AWS Glue CDK - 创建作业类型 Spark (Glue 2.0)的主要内容,如果未能解决你的问题,请参考以下文章