DAY 24 Big Data 5Vs – Veracity(准确性) Athena(1)

第四个要讨论的V是准确性Veracity,在资料处理的过程中,资料会从原本的原始资料raw data经过不同软件的转置、撷取、筛选等运算,处理後资料processed data透过网路在不同的装置与服务器间传输、储存。(资料转换过程可参考DAY7*的 Lake House架构图) 经过的处理越多、经手的人员越多,就会让最终的资料使用者(决策者)思考资料准确性的问题,因为可靠的决策需要来自可信的资料,处理後资料的意义是否还有具有代表性都有可能会被质疑。

如何确保资料在运算处理过程中的准确性,是从另一个角度来检视ETL的过程,处理後资料的真实性/一致性有两种方式来定义:ACID 与 BASE。

ACID*(Atomicity, Consistency, Isolation, and Durability):
强调资料具有强一致性
主要是关联式资料库中,确保交易(transaction)在逻辑转换不会失真所规定得四大特性。

BASE*( Basically Available Soft state Eventually):
强调资料的最终一致性
主要是非关联式资料库中,因为重视资料的可用性,所以牺牲掉一点对一致性的要求,当然适用的资料也会是像经纬度这种比较不会被影响的资料类型。

在速度的部分介绍「执行ETL处理」的应用,真实性的部分介绍「查询ETL处理结果」的服务。
Amazon Athena是可以使用ANSI SQL执行互动式查询的无服务器服务。Athena底层使用Presto,不需要繁复的设定就可以查询从存在S3的资料,当使用者只是需要快速分析一份资料或产出一份报表时就非常适合。
https://ithelp.ithome.com.tw/upload/images/20211006/20140161oZaFb97rVI.jpg

每次登入使用Athena的user都在某个工作群组workgroup之下,预设使用primary workgroup
Workgroup可以用来限制/控制扫描量,如果是因为顶到预先建立的限制而被终止的SQL将不会收费
https://ithelp.ithome.com.tw/upload/images/20211006/201401614I92yYutzk.jpg
https://ithelp.ithome.com.tw/upload/images/20211006/20140161ggLQCten75.jpg
如果第一次使用时无法查询也可能是需要设定workgroup

如果不是第一次进入Athena,会直接进入查询编辑器的页面
https://ithelp.ithome.com.tw/upload/images/20211006/201401612SvuMUIBLA.jpg
在中央编辑区下SQL指令即可,查询结果会出现在下方,

编辑器左方Data Source可以设定资料库,可以加入多个来源执行联合查询
https://ithelp.ithome.com.tw/upload/images/20211006/20140161mg4XU1T9lU.jpg

Athena的服务主要是集成Glue Data Catalog的功能,Athena利用data catalog的虚拟资料表中的中继资料,来查询S3中的资料,架构大概如下。
https://ithelp.ithome.com.tw/upload/images/20211006/20140161OkMARj5bvI.jpg
值得注意的是,Athena是按照数据扫描量收费,所以压缩资料可以节省费用,查询失败不收费。
查询结果会可以从Result右方的小档案图示下载,也同时会存在S3。

*ACID( https://zh.wikipedia.org/wiki/ACID )
*DAY7( https://ithelp.ithome.com.tw/articles/10267527 )
*BASE( https://zh.wikipedia.org/wiki/%E6%9C%80%E7%BB%88%E4%B8%80%E8%87%B4%E6%80%A7 )


<<:  图的储存结构 - 十字链结串列 - DAY 22

>>:  【Day 22】 实作 - 如何在 AWS Quicksight Join 不同资料源

Leetcode: 26. Remove Duplicates from Sorted Array

看大家都写leetcode o3o       Input 传入一个已排序好的阵列位置,把它变成se...

Unity自主学习(三十):完美物件移动

那昨天後来自己在玩写好的脚本时,发现了会有逻辑上的错误,导致物件撞墙时,会不断产生抖动,而之後也去U...

DAY 14 『 Realm 新增、修改、删除 』Part2

昨天分享如何拉 @IBOutlet、按空白处收回键盘、struct 结构的撰写、Realm 环境安装...

DAY14:玉山人工智慧挑战赛-中文手写字辨识(OpenCV图像处理)

问题及解决方法 用YOLOv4模型裁切出来的文字,大部分的图档,都有红框等杂讯的存在,如下图。若将含...

Day 14: 【架构篇】 设计与架构、软件的两大价值 (待改进中... )

「软件架构的目标是最小化 『建置和维护系统所需的人力』」 「架构的规则都是一样的! 年轻设计师可能...