代码之家  ›  专栏  ›  技术社区  ›  Zeitgeist

AWS Glue:使用pyspark从脚本中获取job\u id

  •  6
  • Zeitgeist  · 技术社区  · 7 年前

    我正在尝试从该作业的脚本访问AWS ETL Glue作业id。这是您可以在AWS Glue控制台的第一列中看到的RunID,类似于 jr_5fc6d4ecf0248150067f2 . 如何使用pyspark以编程方式获取它?

    2 回复  |  直到 7 年前
        1
  •  21
  •   Brett    7 年前

    我在任何地方都没有找到这个文档,但它是作为命令行参数传入的。

    import sys
    from awsglue.utils import getResolvedOptions
    
    args = getResolvedOptions(sys.argv, ['JOB_NAME'])
    job_run_id = args['JOB_RUN_ID']
    
        2
  •  -1
  •   Basanta    7 年前

    您可以使用 boto3 用于python访问AWS服务的SDK

    import boto3
    
    def lambda_handler(event, context):
        client = boto3.client('glue')
        client.start_crawler(Name='test_crawler')
        glue = boto3.client(service_name='glue', region_name='us-east-2',
                  endpoint_url='https://glue.us-east-2.amazonaws.com')
    
        myNewJobRun = client.start_job_run(JobName=myJob['Name'])
        print myNewJobRun['JobRunId']