AWS 大数据实战 Lab2 - 批量数据处理(三)

本教程介绍了如何利用Amazon EMR with Spark和AWS Glue构建批量数据分析流程。涉及步骤包括:通过Glue Crawler获取RDS和Kinesis数据的元数据,使用Glue ETL加载数据到S3,使用EMR Spark进行批处理,并将结果存储回S3。此外,还展示了如何设置RDS连接,创建ETL作业,以及在EMR上运行Spark任务进行数据分析。

在本练习中,您将学习如何使用 Amazon EMR(Spark)和 AWS Glue(ETL)构建批量数据分析处理程序。为了使本实验的练习更加贴近实际的业务场景,我们模拟了完整的从数据产生(模拟历史数据和流数据)、数据存储、数据处理、到数据分析和数据可视化的完整过程(数据可视化在 Lab3/Lab4 中完成)。

具体可参考如下架构图:

image-20210319163459801

组件说明如下:

• RDS 作为 Lab2 次实验的历史数据源,RMDBS 格式,包含人员信息表 tbl_customer、产品信息表 tbl_product、地址信息表 tbl_address、交易历史流水表 tbl_transaction,等 4 张表,参与批处理计算;

• Lab1 实验中 Kinesis 的输出(存放在 Lab1 指定的 S3 文件夹中,Json 格式),为近实时当日交易流水,也可以作为 Lab2 批处理的输入,参与批处理计算(注意:学员可以考虑使用 Lab1 的输出数据或者使用我们提前准备好的数据);

• S3 桶作为数据湖的存储基础,包含 input 文件夹(用于 EMR Spark 批处理的输入),存放通过 Glue ETL 加载进来的 RDS 历史数据源和 Kinesis 当日近实时数据,以 Parquet 格式存放。output 文件夹,存放 EMR Spark 批处理的结果数据(Parquet 格式);

详细的数据流步骤说明如下:

image-20210319163529102

具体说明如下:

1.1 通过 Glue Crawler 功能爬取 RDS 库中 4 张表的元数据和 Kinesis 输出的数据的元数据;

1.2 Glue Crawler 将爬取 RDS和 Kinesis 的元数据,存入到 Glue 的 Data Catalog 数据库;

1.3 Glue ETL 通过 Data Catalog 识别 RDS 表元数据和 Kinesis 元数据,以便 ETL 作业引用;

1.4 Glue ETL 加载 4 张表数据和 Kinesis 输出的数据,到指定的 S3 存储桶的 input 文件夹中,作为 Spark 批处理的数据源输入;

1.5 通过 Glue Crawler 功能爬取 S3 桶中 input 文件夹中数据的元数据;

1.6 Glue Crawler 将爬取 input 文件夹中数据的元数据,存入 Glue 的 Data Catalog 数据库;

1.7 EMR Spark 环境通过 Data Catalog 获取 input 文件夹的元数据,进而开展批处理作业;

1.8 将 EMR Spark 批处理作业的结果输出至指定的 S3 存储桶的 output 文件夹中;

1.9 通过 Glue Crawler 功能爬取 S3 桶中 output 文件夹中数据的元数据;

2.0 Glue Crawler 将爬取 output 文件夹中数据的元数据,存入 Glue 的 Data Catalog 数据库;

2.1 利用 Athena 服务,查询 input、output 数据;

其中步骤 1.9/2.0/2.1 和 Lab3 有重叠,所以在此处不做演示或说明。

数据处理(ETL)

本实验演示数据处理的过程(ETL过程,此处我们使用AWS Glue服务),数据分析在下个章节。

连接到RDS

登录并打开AWS Glue控制台,选择添加数据库连接:

image-20210319164543410

设置连接名称(Lab2-Glue-RDS-connection)和类型

image-20210319164629186

选择对应配置(请输入之前部署 rds 时admin的密码,此处为wzlinux2021)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值