如何通过S3 Events或AWS Lambda触发Glue ETL Pyspark作业?

阿卡什·巴苏(Aakash Basu)

我计划使用Pyspark在AWS Glue ETL中编写某些作业,就像在使用S3 Events触发AWS Lambda函数时一样,希望在将新文件放入AWS S3位置时被触发。

但是,我仅看到非常狭窄的选项来触发Glue ETL脚本。对此的任何帮助将受到高度赞赏。

以下应该可以触发AWS Lambda的Glue作业。将lambda配置为适当的S3存储桶,并将IAM角色/权限分配给AWS Lambda,以便lambda可以代表用户启动AWS Glue作业。

import boto3
print('Loading function')

def lambda_handler(event, context):
    source_bucket = event['Records'][0]['s3']['bucket']['name']
    s3 = boto3.client('s3')
    glue = boto3.client('glue')
    gluejobname = "YOUR GLUE JOB NAME"

    try:
        runId = glue.start_job_run(JobName=gluejobname)
        status = glue.get_job_run(JobName=gluejobname, RunId=runId['JobRunId'])
        print("Job Status : ", status['JobRun']['JobRunState'])
    except Exception as e:
        print(e)
        print('Error getting object {} from bucket {}. Make sure they exist '
              'and your bucket is in the same region as this '
              'function.'.format(source_bucket, source_bucket))
    raise e

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从S3事件触发AWS EMR Spark作业

如何为Scala Spark ETL设置本地开发环境以在AWS Glue中运行?

通过PUT触发AWS Lambda到单独账户中的s3存储桶

有什么方法可以在AWS Glue作业结束时触发AWS Lambda函数?

ETL作业因AWS Glue中的pyspark.sql.utils.AnalysisException而失败

AWS Glue:如何减少ETL作业的DPU数量

在执行ETL作业之前是否需要运行AWS Glue搜寻器以检测新数据?

AWS Glue ETL和PySpark以及分区数据:如何从分区创建数据框列

在AWS Glue作业中写入S3时是否可以指定SSE:KMS密钥ID?

我们可以从aws Glue PySpark作业触发AWS Lambda函数吗?

如何修复AWS Glue ETL作业中的``调用HeadObject操作:禁止时发生错误(403)''

AWS Glue ETL作业失败,并显示“无法删除密钥:parquet-output / _temporary”

如何倒带Glue Spark ETL作业上的作业书签?

AWS Glue ETL不会输出所有记录

AWS Glue作业以实木复合地板格式写入s3错误,未找到

将ETL作业用于AWS胶水时,如何控制RDS的摄取速率?

在AWS Glue ETL作业中从S3加载分区的json文件

AWS Glue ETL作业的Scala和Java版本是什么?

无法通过上传到 AWS S3 来触发 AWS Lambda

AWS Glue 什么是 ETL 的最佳数据大小

在由 S3 触发的 AWS 中运行 ETL python 脚本

何时使用 Amazon Redshift 频谱通过 AWS Glue ETL 查询 Amazon S3 数据

处理嵌套 s3 文件夹中的分区 Parquet 文件的 AWS GLUE 作业失败

如何通过 AWS SAM 提供 Lambda S3 策略

从 S3 解压缩文件并将其写回 S3 的 AWS Glue 作业

用于 ETL 作业的工具

基于作业参数的 AWS Data Glue ETL 过滤器提取输入

如何调试 aws 胶水 pyspark 作业

如何使用 AWS 还原作业来触发 Lambda 函数