成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

你公司到底需不需要引入實時計算引擎?

HackerShell / 3168人閱讀

摘要:再如通過處理流數(shù)據(jù)生成簡單的報告,如五分鐘的窗口聚合數(shù)據(jù)平均值。復(fù)雜的事情還有在流數(shù)據(jù)中進(jìn)行數(shù)據(jù)多維度關(guān)聯(lián)聚合塞選,從而找到復(fù)雜事件中的根因。因為各種需求,也就造就了現(xiàn)在不斷出現(xiàn)實時計算框架,而下文我們將重磅介紹我們推薦的實時計算框架。

前言
先廣而告之,本文摘自本人《大數(shù)據(jù)重磅炸彈——實時計算框架 Flink》課程第二篇,內(nèi)容首發(fā)自我的知識星球,后面持續(xù)在星球里更新,這里做個預(yù)告,今晚 12 點后漲價至 199。

自己之前發(fā)布過一篇 Chat 《大數(shù)據(jù)“重磅炸彈”:實時計算框架 Flink》,里面介紹了多種需求:

小田,你看能不能做個監(jiān)控大屏實時查看促銷活動銷售額(GMV)?

小朱,搞促銷活動的時候能不能實時統(tǒng)計下網(wǎng)站的 PV/UV 啊?

小鵬,我們現(xiàn)在搞促銷活動能不能實時統(tǒng)計銷量 Top5 ???

小李,怎么回事???現(xiàn)在搞促銷活動結(jié)果服務(wù)器宕機了都沒告警,能不能加一個?

小劉,服務(wù)器這會好卡,是不是出了什么問題啊,你看能不能做個監(jiān)控大屏實時查看機器的運行情況?

小趙,我們線上的應(yīng)用頻繁出現(xiàn) Error 日志,但是只有靠人肉上機器查看才知道情況,能不能在出現(xiàn)錯誤的時候及時告警通知?

小夏,我們 1 元秒殺促銷活動中有件商品被某個用戶薅了 100 件,怎么都沒有風(fēng)控啊?

小宋,你看我們搞促銷活動能不能根據(jù)每個顧客的瀏覽記錄實時推薦不同的商品???

……

大數(shù)據(jù)發(fā)展至今,數(shù)據(jù)呈指數(shù)倍的增長,對實效性的要求也越來越高,于是像上面這種需求也變得越來越多了。

那這些場景對應(yīng)著什么業(yè)務(wù)需求呢?我們來總結(jié)下,大概如下:

初看這些需求,是不是感覺很難?

那么我們接下來來分析一下該怎么去實現(xiàn)?

從這些需求來看,最根本的業(yè)務(wù)都是需要實時查看數(shù)據(jù)信息,那么首先我們得想想如何去采集這些實時數(shù)據(jù),然后將采集的實時數(shù)據(jù)進(jìn)行實時的計算,最后將計算后的結(jié)果下發(fā)到第三方。

數(shù)據(jù)實時采集

就上面這些需求,我們需要采集些什么數(shù)據(jù)呢?

買家搜索記錄信息

買家瀏覽的商品信息

買家下單訂單信息

網(wǎng)站的所有瀏覽記錄

機器 CPU/MEM/IO 信息

應(yīng)用日志信息

數(shù)據(jù)實時計算

采集后的數(shù)據(jù)實時上報后,需要做實時的計算,那我們怎么實現(xiàn)計算呢?

計算所有商品的總銷售額

統(tǒng)計單個商品的銷量,最后求 Top5

關(guān)聯(lián)用戶信息和瀏覽信息、下單信息

統(tǒng)計網(wǎng)站所有的請求 IP 并統(tǒng)計每個 IP 的請求數(shù)量

計算一分鐘內(nèi)機器 CPU/MEM/IO 的平均值、75 分位數(shù)值

過濾出 Error 級別的日志信息

數(shù)據(jù)實時下發(fā)

實時計算后的數(shù)據(jù),需要及時的下發(fā)到下游,這里說的下游代表可能是:

告警方式(郵件、短信、釘釘、微信)

在計算層會將計算結(jié)果與閾值進(jìn)行比較,超過閾值觸發(fā)告警,讓運維提前收到通知,及時做好應(yīng)對措施,減少故障的損失大小。

存儲(消息隊列、DB、文件系統(tǒng)等)

數(shù)據(jù)存儲后,監(jiān)控大盤(Dashboard)從存儲(ElasticSearch、HBase 等)里面查詢對應(yīng)指標(biāo)的數(shù)據(jù)就可以查看實時的監(jiān)控信息,做到對促銷活動的商品銷量、銷售額,機器 CPU、MEM 等有實時監(jiān)控,運營、運維、開發(fā)、領(lǐng)導(dǎo)都可以實時查看并作出對應(yīng)的措施。

讓運營知道哪些商品是爆款,哪些店鋪成交額最多,哪些商品成交額最高,哪些商品瀏覽量最多;

讓運維可以時刻了解機器的運行狀況,出現(xiàn)宕機或者其他不穩(wěn)定情況可以及時處理;

讓開發(fā)知道自己項目運行的情況,從 Error 日志知道出現(xiàn)了哪些 Bug;

讓領(lǐng)導(dǎo)知道這次促銷賺了多少 money。

從數(shù)據(jù)采集到數(shù)據(jù)計算再到數(shù)據(jù)下發(fā),整個流程在上面的場景對實時性要求還是很高的,任何一個地方出現(xiàn)問題都將影響最后的效果!

實時計算場景

前面說了這么多場景,這里我們總結(jié)一下實時計算常用的場景有哪些呢?

交通信號燈數(shù)據(jù)

道路上車流量統(tǒng)計(擁堵狀況)

公安視頻監(jiān)控

服務(wù)器運行狀態(tài)監(jiān)控

金融證券公司實時跟蹤股市波動,計算風(fēng)險價值

數(shù)據(jù)實時 ETL

銀行或者支付公司涉及金融盜竊的預(yù)警

……

另外我自己在我的群里也有做過調(diào)研(不完全統(tǒng)計),他們在公司 Flink(一個實時計算框架)使用場景有這些:

總結(jié)一下大概有下面這四類:

實時數(shù)據(jù)存儲

實時數(shù)據(jù)存儲的時候做一些微聚合、過濾某些字段、數(shù)據(jù)脫敏,組建數(shù)據(jù)倉庫,實時 ETL。

實時數(shù)據(jù)分析

實時數(shù)據(jù)接入機器學(xué)習(xí)框架(TensorFlow)或者一些算法進(jìn)行數(shù)據(jù)建模、分析,然后動態(tài)的給出商品推薦、廣告推薦

實時監(jiān)控告警

金融相關(guān)涉及交易、實時風(fēng)控、車流量預(yù)警、服務(wù)器監(jiān)控告警、應(yīng)用日志告警

實時數(shù)據(jù)報表

活動營銷時銷售額/銷售量大屏,TopN 商品

說到實時計算,這里不得不講一下和傳統(tǒng)的離線計算的區(qū)別!

實時計算 VS 離線計算

再講這兩個區(qū)別之前,我們先來看看流處理和批處理的區(qū)別:

流處理與批處理

看完流處理與批處理這兩者的區(qū)別之后,我們來抽象一下前面文章的場景需求(實時計算):

實時計算需要不斷的從 MQ 中讀取采集的數(shù)據(jù),然后處理計算后往 DB 里存儲,在計算這層你無法感知到會有多少數(shù)據(jù)量過來、要做一些簡單的操作(過濾、聚合等)、及時將數(shù)據(jù)下發(fā)。

相比傳統(tǒng)的離線計算,它卻是這樣的:

在計算這層,它從 DB(不限 MySQL,還有其他的存儲介質(zhì))里面讀取數(shù)據(jù),該數(shù)據(jù)一般就是固定的(前一天、前一星期、前一個月),然后再做一些復(fù)雜的計算或者統(tǒng)計分析,最后生成可供直觀查看的報表(dashboard)。

離線計算的特點

數(shù)據(jù)量大且時間周期長(一天、一星期、一個月、半年、一年)

在大量數(shù)據(jù)上進(jìn)行復(fù)雜的批量運算

數(shù)據(jù)在計算之前已經(jīng)固定,不再會發(fā)生變化

能夠方便的查詢批量計算的結(jié)果

實時計算的特點

在大數(shù)據(jù)中與離線計算對應(yīng)的則是實時計算,那么實時計算有什么特點呢?由于應(yīng)用場景的各不相同,所以這兩種計算引擎接收數(shù)據(jù)的方式也不太一樣:離線計算的數(shù)據(jù)是固定的(不再會發(fā)生變化),通常離線計算的任務(wù)都是定時的,如:每天晚上 0 點的時候定時計算前一天的數(shù)據(jù),生成報表;然而實時計算的數(shù)據(jù)源卻是流式的。

這里我不得不講講什么是流式數(shù)據(jù)呢?我的理解是比如你在淘寶上下單了某個商品或者點擊瀏覽了某件商品,你就會發(fā)現(xiàn)你的頁面立馬就會給你推薦這種商品的廣告和類似商品的店鋪,這種就是屬于實時數(shù)據(jù)處理然后作出相關(guān)推薦,這類數(shù)據(jù)需要不斷的從你在網(wǎng)頁上的點擊動作中獲取數(shù)據(jù),之后進(jìn)行實時分析然后給出推薦。

流式數(shù)據(jù)的特點

數(shù)據(jù)實時到達(dá)

數(shù)據(jù)到達(dá)次序獨立,不受應(yīng)用系統(tǒng)所控制

數(shù)據(jù)規(guī)模大且無法預(yù)知容量

原始數(shù)據(jù)一經(jīng)處理,除非特意保存,否則不能被再次取出處理,或者再次提取數(shù)據(jù)代價昂貴

實時計算的優(yōu)勢

實時計算一時爽,一直實時計算一直爽,對于持續(xù)生成最新數(shù)據(jù)的場景,采用流數(shù)據(jù)處理是非常有利的。例如,再監(jiān)控服務(wù)器的一些運行指標(biāo)的時候,能根據(jù)采集上來的實時數(shù)據(jù)進(jìn)行判斷,當(dāng)超出一定閾值的時候發(fā)出警報,進(jìn)行提醒作用。再如通過處理流數(shù)據(jù)生成簡單的報告,如五分鐘的窗口聚合數(shù)據(jù)平均值。復(fù)雜的事情還有在流數(shù)據(jù)中進(jìn)行數(shù)據(jù)多維度關(guān)聯(lián)、聚合、塞選,從而找到復(fù)雜事件中的根因。更為復(fù)雜的是做一些復(fù)雜的數(shù)據(jù)分析操作,如應(yīng)用機器學(xué)習(xí)算法,然后根據(jù)算法處理后的數(shù)據(jù)結(jié)果提取出有效的信息,作出、給出不一樣的推薦內(nèi)容,讓不同的人可以看見不同的網(wǎng)頁(千人千面)。

使用實時數(shù)據(jù)流面臨的挑戰(zhàn)

數(shù)據(jù)處理唯一性(如何保證數(shù)據(jù)只處理一次?至少一次?最多一次?)

數(shù)據(jù)處理的及時性(采集的實時數(shù)據(jù)量太大的話可能會導(dǎo)致短時間內(nèi)處理不過來,如何保證數(shù)據(jù)能夠及時的處理,不出現(xiàn)數(shù)據(jù)堆積?)

數(shù)據(jù)處理層和存儲層的可擴(kuò)展性(如何根據(jù)采集的實時數(shù)據(jù)量的大小提供動態(tài)擴(kuò)縮容?)

數(shù)據(jù)處理層和存儲層的容錯性(如何保證數(shù)據(jù)處理層和存儲層高可用,出現(xiàn)故障時數(shù)據(jù)處理層和存儲層服務(wù)依舊可用?)

總結(jié)

本文從日常需求來分析該如何去實現(xiàn)這類需求,需要實時采集、實時計算、實時下發(fā),并用圖片把需求完成后的效果圖展示了出來,接著我們分析了對實時性要求高的計算這塊,然后將離線計算與實時計算進(jìn)行了對比、批處理與流處理進(jìn)行對比、離線計算的特點與實時計算的特點進(jìn)行了對比,再加上我自己的調(diào)研結(jié)果,歸納了實時計算的四種使用場景,提出了使用實時計算時要面臨的挑戰(zhàn)。因為各種需求,也就造就了現(xiàn)在不斷出現(xiàn)實時計算框架,而下文我們將重磅介紹我們推薦的實時計算框架 —— Flink。

Github 代碼倉庫

https://github.com/zhisheng17/flink-learning/

以后這個項目的所有代碼都將放在這個倉庫里,包含了自己學(xué)習(xí) flink 的一些 demo 和博客。

博客

1、Flink 從0到1學(xué)習(xí) —— Apache Flink 介紹

2、Flink 從0到1學(xué)習(xí) —— Mac 上搭建 Flink 1.6.0 環(huán)境并構(gòu)建運行簡單程序入門

3、Flink 從0到1學(xué)習(xí) —— Flink 配置文件詳解

4、Flink 從0到1學(xué)習(xí) —— Data Source 介紹

5、Flink 從0到1學(xué)習(xí) —— 如何自定義 Data Source ?

6、Flink 從0到1學(xué)習(xí) —— Data Sink 介紹

7、Flink 從0到1學(xué)習(xí) —— 如何自定義 Data Sink ?

8、Flink 從0到1學(xué)習(xí) —— Flink Data transformation(轉(zhuǎn)換)

9、Flink 從0到1學(xué)習(xí) —— 介紹 Flink 中的 Stream Windows

10、Flink 從0到1學(xué)習(xí) —— Flink 中的幾種 Time 詳解

11、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 ElasticSearch

12、Flink 從0到1學(xué)習(xí) —— Flink 項目如何運行?

13、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 Kafka

14、Flink 從0到1學(xué)習(xí) —— Flink JobManager 高可用性配置

15、Flink 從0到1學(xué)習(xí) —— Flink parallelism 和 Slot 介紹

16、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)批量寫入到 MySQL

17、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 RabbitMQ

18、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 HBase

19、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 HDFS

20、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 Redis

21、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 Cassandra

22、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 Flume

23、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 InfluxDB

24、Flink 從0到1學(xué)習(xí) —— Flink 讀取 Kafka 數(shù)據(jù)寫入到 RocketMQ

25、Flink 從0到1學(xué)習(xí) —— 你上傳的 jar 包藏到哪里去了

26、Flink 從0到1學(xué)習(xí) —— 你的 Flink job 日志跑到哪里去了

27、阿里巴巴開源的 Blink 實時計算框架真香

28、Flink 從0到1學(xué)習(xí) —— Flink 中如何管理配置?

29、Flink 從0到1學(xué)習(xí)—— Flink 不可以連續(xù) Split(分流)?

30、Flink 從0到1學(xué)習(xí)—— 分享四本 Flink 國外的書和二十多篇 Paper 論文

31、Flink 架構(gòu)、原理與部署測試

32、為什么說流處理即未來?

33、OPPO 數(shù)據(jù)中臺之基石:基于 Flink SQL 構(gòu)建實時數(shù)據(jù)倉庫

34、流計算框架 Flink 與 Storm 的性能對比

35、Flink狀態(tài)管理和容錯機制介紹

36、Apache Flink 結(jié)合 Kafka 構(gòu)建端到端的 Exactly-Once 處理

37、360深度實踐:Flink與Storm協(xié)議級對比

38、如何基于Flink+TensorFlow打造實時智能異常檢測平臺?只看這一篇就夠了

39、Apache Flink 1.9 重大特性提前解讀

40、Flink 全網(wǎng)最全資源(視頻、博客、PPT、入門、實戰(zhàn)、源碼解析、問答等持續(xù)更新)

41、Flink 靈魂兩百問,這誰頂?shù)米。?/p> 源碼解析

1、Flink 源碼解析 —— 源碼編譯運行

2、Flink 源碼解析 —— 項目結(jié)構(gòu)一覽

3、Flink 源碼解析—— local 模式啟動流程

4、Flink 源碼解析 —— standalone session 模式啟動流程

5、Flink 源碼解析 —— Standalone Session Cluster 啟動流程深度分析之 Job Manager 啟動

6、Flink 源碼解析 —— Standalone Session Cluster 啟動流程深度分析之 Task Manager 啟動

7、Flink 源碼解析 —— 分析 Batch WordCount 程序的執(zhí)行過程

8、Flink 源碼解析 —— 分析 Streaming WordCount 程序的執(zhí)行過程

9、Flink 源碼解析 —— 如何獲取 JobGraph?

10、Flink 源碼解析 —— 如何獲取 StreamGraph?

11、Flink 源碼解析 —— Flink JobManager 有什么作用?

12、Flink 源碼解析 —— Flink TaskManager 有什么作用?

13、Flink 源碼解析 —— JobManager 處理 SubmitJob 的過程

14、Flink 源碼解析 —— TaskManager 處理 SubmitJob 的過程

15、Flink 源碼解析 —— 深度解析 Flink Checkpoint 機制

16、Flink 源碼解析 —— 深度解析 Flink 序列化機制

17、Flink 源碼解析 —— 深度解析 Flink 是如何管理好內(nèi)存的?

18、Flink Metrics 源碼解析 —— Flink-metrics-core

19、Flink Metrics 源碼解析 —— Flink-metrics-datadog

20、Flink Metrics 源碼解析 —— Flink-metrics-dropwizard

21、Flink Metrics 源碼解析 —— Flink-metrics-graphite

22、Flink Metrics 源碼解析 —— Flink-metrics-influxdb

23、Flink Metrics 源碼解析 —— Flink-metrics-jmx

24、Flink Metrics 源碼解析 —— Flink-metrics-slf4j

25、Flink Metrics 源碼解析 —— Flink-metrics-statsd

26、Flink Metrics 源碼解析 —— Flink-metrics-prometheus

26、Flink Annotations 源碼解析

27、Flink 源碼解析 —— 如何獲取 ExecutionGraph ?

28、大數(shù)據(jù)重磅炸彈——實時計算框架 Flink

29、Flink Checkpoint-輕量級分布式快照

30、Flink Clients 源碼解析原文出處:zhisheng的博客,歡迎關(guān)注我的公眾號:zhisheng

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75885.html

相關(guān)文章

  • Data Lakehouse數(shù)據(jù)湖到底是什么呢?

    摘要:數(shù)據(jù)湖通常更大,其存儲成本也更為廉價。高存儲成本數(shù)倉和數(shù)據(jù)湖都是為了降低數(shù)據(jù)存儲的成本。數(shù)據(jù)停滯在數(shù)據(jù)湖中,數(shù)據(jù)停滯是一個最為嚴(yán)重的問題,如果數(shù)據(jù)一直無人治理,那將很快變?yōu)閿?shù)據(jù)沼澤。數(shù)據(jù)湖(Data Lake),湖倉一體(Data Lakehouse)儼然已經(jīng)成為了大數(shù)據(jù)領(lǐng)域最為火熱的流行詞,在接受這些流行詞洗禮的時候,身為技術(shù)人員我們往往會發(fā)出這樣的疑問,這是一種新的技術(shù)嗎,還是僅僅只是概...

    Tecode 評論0 收藏0
  • 「回顧」網(wǎng)易數(shù)據(jù)基礎(chǔ)平臺建設(shè)

    摘要:特點有聚合運算相關(guān)算法,時序數(shù)據(jù)庫相對于關(guān)系型數(shù)據(jù)庫沒有特別復(fù)雜的查詢,最常見的使用類型是寬表使用,在此基礎(chǔ)上做一些聚合算法插值查詢。 首先簡單介紹一下網(wǎng)易杭州研究院情況簡介,如下圖所示: showImg(https://segmentfault.com/img/bVbni6K?w=720&h=285); 我們公司主要從事平臺技術(shù)開發(fā)和建設(shè)方面,工作的重點方向主要在解決用戶在數(shù)據(jù)治理中...

    sevi_stuo 評論0 收藏0

發(fā)表評論

0條評論

HackerShell

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<