【Day 12】 实作 - 透过 AWS 服务 - Athena 建立以及查询资料表

大家午安~
在第 8、9 天我们完成 Data Collection 以及 Google Analytics 原始资料储存至 AWS S3 Bucket,第 11 天时我们透过 AWS Lambda 处理原始资料并将档案从 json 转换成 Parquet 格式,那接下来的这几天就正式进入资料分析以及视觉化的阶段啦~
https://ithelp.ithome.com.tw/upload/images/20210926/20131073ZEcLt2OrWt.png


我们现在拥有了资料,我们可以使用 AWS Athena 透过标准的 SQL 语法快速查询我们的资料,不过在查询前需要创建『资料表』,用於定义基础来源资料的结构描述(像是:有哪些栏位、栏位的格式、资料的来源位置为何等)。
创建『资料表』有多种方式,我比较常使用以下两种方式:

  1. 手动建立:透过 Athena SQL 语法建立『资料表』
    (需要定义有哪些栏位、每个栏位的格式)
  2. 自动建立:透过 AWS Glue Crawlers 建立『资料表』
    (不需要定义有哪些栏位、每个栏位格式是什麽,非常适用一个资料集中有大量栏位的情况下 0…0 )

但不管是使用哪种方式创建『资料表』,建立的资料表设定都会储存在 AWS Glue Data Catalog,供後续查询使用。
那今天实作我们会先 demo - 『使用 Athena SQL 语法人工建立资料表』~ 那就开始吧 GO GO


步骤一、於 AWS Console 搜寻 Athena

https://ithelp.ithome.com.tw/upload/images/20210926/20131073pACPvvRYBe.png


步骤二、点选 Settings,设定搜寻结果的位置

注意:没有设定 S3 查询路径,Athena 会无法查询喔!!
https://ithelp.ithome.com.tw/upload/images/20210926/20131073bGcVwoIc2b.jpg


步骤三、创建资料库

我们需要一个资料库来存放我们的资料表或者你也可以选择 Default 的资料库,那这边我们选择创建一个新的资料库

create database appflow_data

https://ithelp.ithome.com.tw/upload/images/20210926/20131073pikRzhU1IA.jpg


步骤四、选取资料库

创建完後选取此资料库
https://ithelp.ithome.com.tw/upload/images/20210926/20131073nRC9dbTtAL.jpg


步骤五、创建资料表

这次 DEMO 我们先使用 Athena SQL 语法人工建立『资料表』,下方语法就是我们定义资料来源、来源格式以及要创造哪些栏位以及对应格式,供大家参考
p.s 後续我们也会教学如何用 AWS Glue 自动创建资料表供大家参考~

CREATE EXTERNAL TABLE appflow_data.ga_sample (
  `year` int,
  `month` int,
  `day` int,
  `deviceCategory` string,
  `pageviews` int
 )
STORED AS PARQUET
LOCATION 's3://test-dorothy-ga/ga-data'
tblproperties ("parquet.compression"="SNAPPY");

https://ithelp.ithome.com.tw/upload/images/20210926/20131073q5eUxHIgsm.png


步骤六、创建资料表後,你就可以搜寻 AWS Glue 服务,并从 Tables 找到刚刚新建的资料表的相关资讯~

https://ithelp.ithome.com.tw/upload/images/20210926/20131073KZKaSsI5hE.jpg
https://ithelp.ithome.com.tw/upload/images/20210926/201310730jh6RnYpmS.jpg
https://ithelp.ithome.com.tw/upload/images/20210926/20131073G6BRCfIrdS.jpg


确认资料表成功建立後,我们就可以透过 Athena 下 SQL 语法查询 Google Analytics 数据啦~
例如:捞取所有资料表的资料

SELECT * FROM "appflow_data"."ga_sample"

https://ithelp.ithome.com.tw/upload/images/20210926/20131073cruzuvscTN.png

现在我们可以顺利的查询资料了~接着就是进入建立视觉化分析的阶段啦
那就先明天见啦 : D

如果有任何指点与建议,也欢迎留言交流,一起漫步在Data on AWS中。


<<:  Day12 按键修饰符

>>:  D25-(9/25)-群创(3481)-面板族群

Day 24 - Sticky Nav

前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...

Day 8 - 变数又来了? 变数怎麽叫 a

变数怎麽叫 今天起两天,会介绍一下在C++里面,每一个变数的叫法规则,他们在电脑里面是怎麽样储存的。...

Day18. Blue Prism制造齿轮 -BP Object页 将成绩写入Excel中

以前年轻时,常说我只是一颗小小的螺丝钉没什麽用处, 接着就会听到家中长一辈的人正向鼓励着说:「每一个...

DAY1-EXCEL统计分析:前言

统计在现代社会中是不可或缺的,而更重要的是经过统计後的分析。不论在各行各业皆需要专业且精密的统计分析...

[Day 21]从零开始学习 JS 的连续-30 Days---阵列操作介绍 (上篇)

阵列操作介绍 (上篇) 介绍四种阵列运用: map filter find findlndex 1....