在触发 Glue 作业时,我们需要将 4 个参数从 AWS Lambda 传递到 AWS Glue 作业。
response = client.start_job_run(JobName = 'my_test_Job',
Arguments = {
'--yr_partition_val': 2017,
'--mon_partition_val': 05,
'--date_partition_val': 25,
'--hour_partition_val': 07 } )
Run Code Online (Sandbox Code Playgroud)
Glue 需要捕获这 4 个参数才能在 pysparkglue 代码中进一步进行。
我尝试在胶水中使用以下内容来捕获参数:
import sys
from awsglue.utils import getResolvedOptions
args = getResolvedOptions(sys.argv,
['JOB_NAME',
'yr_partition_val',
'mon_partition_val',
'date_partition_val',
'hour_partition_val'])
Run Code Online (Sandbox Code Playgroud)
但得到的错误为:
self.error(_('argument %s is required') % name)
awsglue.utils.GlueArgumentError: argument --JobName is required
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?