gpt4 book ai didi

python - awsglue.utils.GlueArgumentError : argument --JOB_NAME is required

转载 作者:行者123 更新时间:2023-12-01 09:02:53 26 4
gpt4 key购买 nike

当我使用 Python 在 AWS Glue 中运行 Glue 作业样板时,出现错误

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

glueContext = GlueContext(SparkContext.getOrCreate())
spark = glueContext.spark_session

args = getResolvedOptions(sys.argv, ['JOB_NAME'])
job = Job(glue_context)
job.init(args[‘JOB_NAME’], args)

这是错误

in getResolvedOptions
File "/usr/lib64/python2.7/argparse.py", line 1733, in parse_known_args
namespace, args = self._parse_known_args(args, namespace)
File "/usr/lib64/python2.7/argparse.py", line 1957, in _parse_known_args
self.error(_('argument %s is required') % name)
awsglue.utils.GlueArgumentError: argument --JOB_NAME is required

这遵循我的代码,然后

job.commit()

但是 AWS 表示不提供 JOBNAME。我究竟做错了什么?getResolved 是做什么的?我尝试阅读 AWS 文档,但什么也没得到。

最佳答案

您能否提供示例脚本的引用链接。我确信 AWS 会解释说您应该使用脚本或 lambda 等来开始作业。在这种情况下,您可以指定如下内容:

response = client.start_job_run(
JobName = 'my_test_Job',
Arguments = {
'--day_partition_key': 'partition_0',
'--hour_partition_key': 'partition_1',
'--day_partition_value': day_partition_value,
'--hour_partition_value': hour_partition_value } )

然后在粘合作业中,您可以按如下方式访问这些变量:

args = getResolvedOptions(sys.argv,
['JOB_NAME',
'day_partition_key',
'hour_partition_key',
'day_partition_value',
'hour_partition_value'])

因此,您已在某个地方传递了作业名称的变量/值。明智的做法是,尝试通过名称 JOB_NAME 设置参数并传递一个值来运行作业。

以上代码示例引用:https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-get-resolved-options.html

请告诉我们。

关于python - awsglue.utils.GlueArgumentError : argument --JOB_NAME is required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322381/

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