大家午安 ~ 刚刚打开介面发文时,看到有 iThome 邦友订阅文章,真的是无比开心 Q
感谢大家的不嫌弃
昨天我们已经『启用 CloudFront 日志』,今天我们则要来讨论『如何在 AWS Quicksight Join 不同资料源』,在要进行实作以前,要先建立 CloudFront 日志的资料表,故大家可以参考『Day 18』~『Day 19』文章将 CloudFront Log 转换成 Parquet 格式、调整 Partition 以及自动建立资料表
或者我们也可以於 Athena 手动执行 SQL 语法建立资料表 [1]
CREATE EXTERNAL TABLE IF NOT EXISTS default.cloudfront_logs (
`date` DATE,
time STRING,
location STRING,
bytes BIGINT,
request_ip STRING,
method STRING,
host STRING,
uri STRING,
status INT,
referrer STRING,
user_agent STRING,
query_string STRING,
cookie STRING,
result_type STRING,
request_id STRING,
host_header STRING,
request_protocol STRING,
request_bytes BIGINT,
time_taken FLOAT,
xforwarded_for STRING,
ssl_protocol STRING,
ssl_cipher STRING,
response_result_type STRING,
http_version STRING,
fle_status STRING,
fle_encrypted_fields INT,
c_port INT,
time_to_first_byte FLOAT,
x_edge_detailed_result_type STRING,
sc_content_type STRING,
sc_content_len BIGINT,
sc_range_start BIGINT,
sc_range_end BIGINT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION 's3://<<存放CloudFront的S3 bucket名称>>/cloudfront/'
TBLPROPERTIES ( 'skip.header.line.count'='2' )
完成了资料表的建立後~ 我们就可以开始实作 - 『如何在 AWS Quicksight 进行 Join 不同资料源』
那我们就开始吧 GOGO
这边就是用来设定我们要如何合并资料源的方法以及用哪些栏位进行 Join
下方为 Join clauses,就是设定若当 vpc log 的 xx栏位
与 cloudfront log xx栏位
内容相同时,我们要进行Join
而 Join Type 则是 Join 的类型,分成 Inner、Left、Right、Full
举个例子:
这是产品列表,里面有两个栏位(ID、Product Name),并存放两笔纪录
ID | Product Name |
---|---|
Product001 | 洗碗精 |
Product002 | 洗衣精 |
这是产品订单的资料表,里面有两个栏位(Client Name、ID),并存放两笔纪录
Client Name | ID |
---|---|
Dorothy | Product001 |
Kurama | Product003 |
今天我想知道每个客户购买的产品名称,故我透过 ID 将两个资料表合并以得到 Product Name
Client Name | ID | Product Name |
---|---|---|
Dorothy | Product001 | 洗碗精 |
Client Name | ID | Product Name |
---|---|---|
Dorothy | Product001 | 洗碗精 |
Kurama | Product003 |
Client Name | ID | Product Name |
---|---|---|
Dorothy | Product001 | 洗碗精 |
Product002 | 洗衣精 |
Client Name | ID | Product Name |
---|---|---|
Dorothy | Product001 | 洗碗精 |
Kurama | Product003 | |
Product002 | 洗衣精 |
Join 的方法就依据每个人的需求来选择,这边我就选择 Inner Join
选择完後按储存,你就可以看到两个资料源已成功 Join 起来
那接下来就是可以依据大家的需求开始进行仪表板的建置啦~
今天就先这样,明天我们就会来讨论『如何启用 WAF 日志』,明天见罗 : D ~
如果有任何指点与建议,也欢迎留言交流,一起漫步在 Data on AWS 中。
参考&相关来源:
[1] 为 CloudFront 日志建立资料表
https://docs.aws.amazon.com/zh_tw/athena/latest/ug/cloudfront-logs.html
<<: DAY 24 Big Data 5Vs – Veracity(准确性) Athena(1)
大4pin针脚定义 1 - 12V 黄色线2 - 0V 黑色线3 - 0V 黑色线4 - 5V 红...
前言 如果只有画面像的话,那也太弱了吧! 赶紧来实作新增闹钟的功能,做完拿去炫耀给边身边的人看! 实...
这系列内容主要内容是在讲如何用 Next.js 取代 WordPress 前端,因此约 70% 内容...
自从上次在街边吃了一碗不怎麽地「杂碎面」,咖哩鱼蛋没鱼味,咖哩又不入味,失败!猪皮煮得太烂,没咬头,...
今天来介绍一个酷东西:GitBook 图片取自 GitBook 官网 GitBook GitBook...