2 数据清洗、转换
此实验使用S3作为数据源
ETL:
E extract 输入
T transform 转换
L load 输出
大纲
2.1 架构图

2.2 数据清洗
此步会将S3中的原始数据清洗成我们想要的自定义结构的数据。之后,我们可通过APIGateway+Lambda+Athena来实现一个无服务器的数据分析服务。
| 步骤 | 图例 |
|---|---|
| 1、入口 | ![]() |
| 2、创建Job(s3作为数据源,则Type选择Spark,若为Kinesis等,选择Stream Spark) | ![]() |
| 3、IAM角色需要有s3与Glue的权限 | ![]() |
| 4、选择s3脚本位置,若已经完成脚本的编写工作,则可以选择第二项或第三项,若无则Glue会提供默认脚本 | ![]() |
| 5、安全配置参数 | 建议:添加参数–enable-auto-scaling为true。每次在我们执行Job任务时,会根据运行 ETL 任务的数据处理单元(DPU)的个数来分配动态IP,在我们子网的动态IP数低于DPU数时,Job将会执行失败。此参数将会动态分配IP。 |
| 6、数据源() | ![]() |
| 7、数据目标(我们会将清洗后的数据存储到新的s3桶) | ![]() |
| 8、设计架构(在本案例中,我们会自定义脚本。所以不再在此处设计架构)(此处设计后,脚本会自动生成相关代码) | ![]() |
| 9、保存 | ![]() |
2.3 编辑脚本
脚本中的args参数的键值需要从Job的安全配置参数中定义
2.3.1 连接数据源(s3)
#数据源
datasource = glueContext.create_dynamic_frame.from_catalog(database = args['db_name'], table_name = tableName, transformation_ctx = "datasource")
2.3.2. 数据结构转换
mapped_readings = ApplyMapping.apply(frame =

本文详细介绍了如何使用AWS Serverless的Glue服务进行数据清洗和转换,涉及数据源连接、结构转换、数据写入、数据分区等步骤,并通过Athena进行数据分析,最终构建无服务器查询分析服务。




建议:添加参数–enable-auto-scaling为true。每次在我们执行Job任务时,会根据运行 ETL 任务的数据处理单元(DPU)的个数来分配动态IP,在我们子网的动态IP数低于DPU数时,Job将会执行失败。此参数将会动态分配IP。



最低0.47元/天 解锁文章
830

被折叠的 条评论
为什么被折叠?



