Jen*_*and 4 etl bigdata aws-glue
AWS Glue 非常适合将数据从原始形式转换为您需要的任何格式,并保持源数据集和目标数据集同步。
但是,我有一个场景,其中数据从不受信任的外部源进入“着陆区域”存储桶,并且第一个 ETL 步骤需要是数据验证步骤,仅允许有效数据传递到数据湖,而无效数据被移至隔离桶进行人工检查。
无效数据包括:
“着陆区域”存储桶不是数据湖的一部分,它只是传入数据的临时死角,因此我需要验证作业在将文件移动到数据湖和/或检疫桶。
这可以用胶水实现吗?如果数据从源存储桶中删除,Glue 最终是否会在后续更新中将其删除到下游?
我是否需要使用不同的工具(例如 StreamSets、NiFi 或带有 AWS Batch 的 Step Functions)来执行此验证步骤,并且仅在数据进入数据湖后才使用 Glue?
(我知道我可以在存储桶本身上设置生命周期规则,以便在一定时间(例如 24 小时)后删除数据,但理论上这可以在 Glue 处理数据之前删除数据,例如,如果 Glue 作业出现问题)
请参阅文档中的 purge_s3_path :
glueContext.purge_s3_path(s3_path, options={}, transformation_ctx="")
Run Code Online (Sandbox Code Playgroud)
以递归方式从指定的 Amazon S3 路径中删除文件。
另外,请确保您AWSGlueServiceRole有s3:DeleteObject权限