DAY 23 Big Data 5Vs – Variety(速度) Kinesis (3)

接续串流处理相关的服务介绍:
https://ithelp.ithome.com.tw/upload/images/20211005/20140161hlUADzxrG0.jpg

Kinesis Data Firehose(KDF):
KDF是可以方便将串流资料以近乎即时(near real-time)的速度「载入」储存目标的服务,在这极短的时间段中可以转换资料成新的样貌,方便串接的服务进行後续分析。

首先先建立交付串流Delivery Stream
Delivery Stream会将接收到的串流资料先以特定的大小或期间为单位存於缓冲,再交付至指定目的地。
https://ithelp.ithome.com.tw/upload/images/20211005/20140161uJOKCMj7bV.jpg
建立时需指定资料来源与资料目标地

https://ithelp.ithome.com.tw/upload/images/20211005/20140161CWrDYmmrLA.jpg
建立完成後就会出现在仪表板上,点选之後可以查看状态

如果有转档和压缩的需求
https://ithelp.ithome.com.tw/upload/images/20211005/201401613QGWgpK4BE.jpg
可以到第二个configuration分页调整

https://ithelp.ithome.com.tw/upload/images/20211005/20140161xe2fl92GTH.jpg
转档是整合AWS Lambda的Function来完成
可以点选启用後指定Lambda Function的 ARN
注意这里的缓冲大小Buffer Size是以MB为单位,缓冲间隔Buffer Interval是以秒为单位

https://ithelp.ithome.com.tw/upload/images/20211005/20140161AMPlVBz7tb.jpg
档案压缩是整合AWS Glue的服务,一样可以点选启用後选择要输出的格式

资料串流data stream与交付串流delivery stream的选用:
因为KDS不能直接输出至目标储存区,KDS後面通常会再串接KDF、KDA、Lambda或EC2取出资料後再输出至目标储存区。所以简单区分的话如果是即时(real-time)的应用场景,首先考虑的是KDS;而近乎即时(near real-time)的应用场景,首先考虑建立KDF服务。

Kinesis Data Analytics (KDA):
KDA是可以使用SQL或Java做串流资料做即时ETL分析,其底层就是应用Apache Flink 的框架来做到即时处理串流资料。有新的Studio功能可以编写程序码。

https://ithelp.ithome.com.tw/upload/images/20211005/2014016111lQieax8I.jpg

点选建立分析AP後,设定应用程序类型
https://ithelp.ithome.com.tw/upload/images/20211005/20140161N7YA13JFnX.jpg
https://ithelp.ithome.com.tw/upload/images/20211005/20140161vsa8OwwdIZ.jpg
建立完成後才设定资料源,编写SQL或Java,设定载入目标地。
Flink相关程序码撰写可以参照KDA相关的Git。

串流处理不仅是未来的趋势,也因为近年来资料突刺的现象越来越常见。资料突刺Data acceleration,是指突然暴增的流量,这可能会导致系统的瘫痪,举例像是社群软件中Hashtag流量,或是像电商网站在某个节日促销,它的网站流量也有可能在某个时间点突然冲高。

因为资料的价值其实是会随着时间的增加而下降,所以资料处理的速度就变得很关键。

透过对「速度」问题的了解会发现,串流系统由是分工很细的独立服务串接起来,有点像是每个服务都只专心做一件事情,以达到对速度的要求。但要求快的同时对资料的品质也不可以马虎,而资料品质就与下个主题准确性(Veracity)有关。


<<:  冒险村20 - Design Pattern(1) - Decorator

>>:  android studio 30天学习笔记-day 20-SQLlite

Day5 NodeJS-Events和EventEmitter

今天的主题是NodeJS中的Events和EventEmitter。在JavaScript语法中并不...

树选手3号:XGboost [python实例]

照着前几天的逻辑今天来用python执行xgboost,刚开始一样先写score function方...

D-06-日志写入 ? NLog ? ILogger

日志的写入 相信很多人会在程序内埋log以便问题的追查,尤其是线上的问题不能像开发时期可以设定中断点...

[Day09] 团队系统设计 - PO 系统

上篇文章中,我提出了一个「规画系统」,其系统的起始点,是由 PO 与 Designer 组成的子系统...

Java笔记:观念厘清-stack及heap的差异

本篇为记录不同的Java资料型态在记忆体中的变化情形,参考JVM 的 Stack 和 Heap并重点...