文章目录
aws(学习笔记第三十三课) 深入使用cdk
- 使用
cdk
生成athena
以及aws glue crawler
学习内容:
- 使用
aws athena
+aws glue crawler
1. 使用aws athena
1.1 什么是aws athena
aws athena
是aws
提供的数据分析service
,可以使用SQL
语言对S3
上保存的数据进行分析。
managed service
,所以不需要维护。- 基于
OpenSource
的框架构筑 - 基于处理的数据量进行收费
- 对数据提供加密功能
注意 和RDB
不能进行JOIN操作,所以只能提供对csv
和json
进行数据查询
1.2 什么是aws glue
aws glue
是aws
提供的managed ETL service
。能够简单的进行分析数据的准备和load
。table
和schema
关联的metadata
能够作为aws glue catalog data
进行保存。
1.2 为什么aws athena
和aws glue
一起使用
aws athena
结合aws glue
能够将aws glue
作成的database
或者schema
,使用aws athena
进行查询。
2. 开始练习aws athena
2.1 代码链接
2.2 整体架构
2.3 代码解析
2.3.1 创建测试数据的S3 bucket
# creating the buckets where the logs will be placed
logs_bucket = s3.Bucket(self, 'logs-bucket',
bucket_name=f"auditing-logs-{
self.account}",
removal_policy=RemovalPolicy.DESTROY,
auto_delete_objects=True
)
2.3.2 创建保存查询结果的S3 bucket
# creating the bucket where the queries output will be placed
query_output_bucket = s3.Bucket(self, 'query-output-bucket',
bucket_name=f"auditing-analysis-output-{
self.account}",
removal_policy=RemovalPolicy.DESTROY,
auto_delete_objects=True
)
2.3.3 将示例的程序json
数据文件同期到S3 bucket
# uploading the log files to the bucket as examples
s3_deployment.BucketDeployment(self, 'sample-files',
destination_bucket=logs_bucket