Day 23 云上大数据分析

随着时代变化,「Data」彷佛变成兵家必争之地,从零售、传产、工业、科技等等产业来看,会发现几乎每个产业都在强调资料的重要性:包括资料分析、资料视觉化、资料探勘等等,从而演进为Machine Learning、AI资料应用等。在这个过程中,资料的量体也从几十MB,演变成几千GB、TB、PB,也就是所谓的「大数据」(Big Data)
但过往的解决方案像是单一节点资料运算也逐渐无法负荷大数据的分析了。因此Google提出MapReduce的解决方案,通过分散式节点来加强大数据运算的效能。之後也转变成Hadoop、Spark这两项经典的数据分析解决方案,在OLAP的应用上更进了一步

而阿里云,也提供了云原生的数据分析工具:MaxCompute,以及数据流自动化、整合工具 Dataworks。接下来笔者介绍完两款服务後,会进行简易的实作

大数据计算服务(MaxCompute)

属於资料仓储 (DataWarehouse)的一种,主要用於大量结构化数据的SQL分析。一般在企业的资料分析师可能要分析大量数据时,还需要同时维护分散式运算系统(自建Hadoop or Apache Spark);但若是使用单一运算系统来操作,又有效能不足的疑虑。因此通过MaxCompute,可以省去上述的困扰,在下方的实作截图中,可以看到MaxCompute是根据运算量来进行计费;但如果是稳定需要使用运算效能,那也可以选择包年包月的方式来使用
比较特殊的是,MaxCompute无法单独使用,必须搭配Dataworks一同使用,是稍微可惜一点的地方,但好处在於可以快速整合其他资料分析工具,直接打造成一套ETL流程

数据工场 (Dataworks)

属於数据分析的PaaS服务,主要提供了一站式资料治理平台,包含了:Data Integration、Data Studio、Data Map、Data Quality、Data Service

  • Data Integration 资料整合:
    主要是作为offline的离线同步工具,针对结构化以及半结构化的资料进行同步,但需要注意,此工具不包含像是Pub/Sub的资料流发布与订阅的功能

  • Data Studio 资料开发:
    此功能协助开发者通过视觉化的方式来布建资料流的逻辑,并且可以用业务本身以及任务的视角来重新组织程序码的撰写。在进行资料开发的时候,其逻辑为业务流程 > 解决方案,通过部署单一或者多个业务流程来搭建属於自己的资料解决方案

  • Data Map 资料地图:
    资料地图可以让使用者在Metadata(中继资料)的基础上提供企业数据目录管理的功能,包含了全域数据检索、中继资料查询、数据预览。最主要是让使用者可以更快的查询数据、并且根据中继资料提供的资讯,来达成更深的数据理解,并更好的使用这些数据

  • Data Quality 资料品质:
    资料品质的服务可以让使用者针对多个不同结构的资料源进行数据品质检测,并且设定不同的告警标准。品质检测以数据集 (DataSet)为单位,并根据自定义的标准来进行侦测。当发现数据有问题时,也会第一时间中止Data Work Flow,避免错误数据进一步污染其余正常数据,同时也会向使用者发出告警

  • Data Service 资料服务:
    Data Service是针对企业API所开发的服务,主要可用於搭建统一的数据服务平台,同步管理对内对外的API服务。同时也可以透过此服务将资料表生成API,并快速部署到API Gateway (阿里云API服务)。最大的特点是,使用者只需要管理好API本身的设计逻辑即可,不必担心底层的环境

DataWorks 流程示意图:

https://ithelp.ithome.com.tw/upload/images/20211005/201403536jtJm7mUSl.jpg

根据上述示意图,DataWorks其实就是所谓的ETL的流程图,把Dataworks当成是一个工具箱,里面有诸多工具可以协助使用者打造自己的一套ETL流程,也就是在「Data Studio 资料开发」中的业务流程 > 解决方案,组合自己的资料清理跟整理流程

实作示意图:
https://ithelp.ithome.com.tw/upload/images/20211005/20140353cVXsW91Cq7.jpg

实务操作:

本次实作仅会带到如何开立Dataworks的基本单位:工作站,并且在这个工作站内,会在Datasudio中建立表,并从本地端上传一份csv,并运用Maxcompute进行SQL搜寻

  1. 在导览列中找到Dataworks,并且选择地区进行开通,注意,MaxCompute和Dataworks因为是绑在一起的,所以稍晚进行MaxCompute开通也要选择一样的地区,此处选择新加坡
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353A1UaLo4EwE.png

  2. 此处建立工作空间名称完成即可,选择简单模式测试使用
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353omdZtHpqT2.png

  3. 接下来选择引擎,此处直接点选MaxCompute并使用按量付费
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353StjctDfDwC.png
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353oPccxL2gyk.png

  4. 完成之後,回到Dataworks,并查看是否开通引擎成功,有标志就代表开通成功
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353ektuXdLkFn.png

  5. 上述步骤完成後,点选Dataworks首页
    https://ithelp.ithome.com.tw/upload/images/20211005/201403530ABPlzAzn6.png

  6. 进入Dataworks的操作页面,选择左边栏的DataStudio数据开发
    https://ithelp.ithome.com.tw/upload/images/20211005/2014035304AlPj4sTV.png

  7. 点选表管理,以及上方栏位的新增表按钮,并创建新表
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353XOFOmGmVEr.png
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353ZNhBUlIXyn.png

  8. 中文名为表的名称,输入後,请先新增主题*(主题是用以分类的资料夹而已,也可以不新增)*
    https://ithelp.ithome.com.tw/upload/images/20211005/201403532GBLg50bCm.png

  9. 这边有分成一级主题和二级主题,我们仅新建一级主题即可,二级主题是除非有其他考量,需要特别进行分类,再建立二级主题即可
    https://ithelp.ithome.com.tw/upload/images/20211005/201403534hGv1YHeLx.png

  10. 点选左下角图标,回到原本的页面选择添加字段,进行表的结构设计,设计完成後点选右边的储存按钮;物理模型设计可以暂时不必理会,仅是做分类用而已
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353ex7uAXls8b.png
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353ssjcfCiaVn.png

  11. 完成设置後,选择提交到生产环境,建表完成
    https://ithelp.ithome.com.tw/upload/images/20211005/2014035320Zbmyia6H.png

  12. 表建立完成後,点选汇入资料
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353cnpncmm5IL.png

  13. 输入表名,查到test1,选择下一步
    https://ithelp.ithome.com.tw/upload/images/20211005/201403539jN1Z6glzi.png

  14. 上传csv档,可以预览到数据,选择下一步
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353OpfDBGAUmn.png

  15. 做表抬头与值的配对,选择导入数据
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353ZtJp412eiy.png

  16. 导入成功後,直接来做SQL分析,选择左上角放大镜符号,新建一个临时查询任务 ,并选择ODPS SQL
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353NduXFGu8YC.png
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353bjd2tE26JA.png

  17. 建立运算节点
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353uahk3p2fOj.png

  18. 建立完成後,即可点选左上角储存,并滑鼠右移选择执行
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353Vwulp5Oicz.png

  19. 每次运行都是通过MaxCompute来进行运算,所以都会按量收费
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353GxRsEP5xmx.png

  20. 完成运行结果
    https://ithelp.ithome.com.tw/upload/images/20211005/20140353KlPCDymLAJ.png

本次实作到这边结束,Dataworks搭配Maxcompute还有相当多有趣的东西可以进行实作,本次碍於篇幅仅介绍其中一小段服务,个人认为若要进行数据相关的开发,透过Dataworks的确能有效率的完成任务,也算是抛砖引玉,若有兴趣的人可以再自行尝试罗


<<:  Day.26 「闭包要谨慎使用!」 —— JavaScript 闭包(Closure)

>>:  EP20 - [Ruby on Rails] 捐款网站

switch-case 与select

Golang switch-case 与select 如题来看一下switch-case 与sele...

Digital India With CSC Login

Digital India is a campaign launched by the Govern...

D3 - pycharm基本使用

hi 各位夥伴 又到了中秋连假大魔王 每次铁人赛道这时候真的是格外...对於参赛感到.... 虽然今...

【Day 10】EC2 x EIP x 萝卜糕实例制作

tags: 铁人赛 DevOps EIP EC2 萝卜糕 概述 碎念时间 不论是开发软件硬体,还蛮常...

Day11 Android - AlertDialog视窗

今天主要要来提AlertDialog(对话视窗),包含像是通知、基本的功能选择,AlertDialo...