SparkSQL對(duì)于批流支持的特性及批流一體化支持框架的難點(diǎn)
轉(zhuǎn)載本文需注明出處:微信公眾號(hào)EAWorld,違者必究。
本文介紹了 SparkSQL 和 Flink 對(duì)于批流支持的特性以及批流一體化支持框架的難點(diǎn)。在介紹批流一體化實(shí)現(xiàn)的同時(shí),重點(diǎn)分析了基于普元 SparkSQL-Flow 框架對(duì)批流支持的一種實(shí)現(xiàn)方式。希望對(duì)大家的工作有所幫助,也希望能對(duì) DatasetFlow 模型作為框架實(shí)現(xiàn)提供一些啟發(fā)。
目錄:
1.SparkSQL 和 Flink 對(duì)于批流支持的特性介紹
2.基于SparkSQL-Flow的批量分析框架
3.基于SparkStreaming SQL模式的流式處理支持
4.對(duì)于批流一體化ETL的思考
一、SparkSQL 和 Flink
對(duì)于批流支持的特性介紹
關(guān)于流和批的一些爭(zhēng)論
對(duì)于廣泛使用的Spark和新秀Flink,對(duì)于批和流實(shí)現(xiàn)方式上,以及在論壇和一些文章上,對(duì)批和流都有不同看法。批是流的特例 還是 流是批的特例?
1.從批的角度看,流是多個(gè)批次一份一份的進(jìn)行。無(wú)限個(gè)這樣批次構(gòu)成整個(gè)流處理流程,類如SparkStreaming的處理模式;
2.從流的角度看,批是流的有限流處理。它只不過(guò)在某個(gè)時(shí)間點(diǎn),完成某個(gè)條件停止了而已;類如 Flink 的處理模式;
Spark 和 Flink 都具有流和批處理能力,但是他們的做法是截然相反。Spark Streaming是把流轉(zhuǎn)化成一個(gè)個(gè)小的批來(lái)處理,這種方案的一個(gè)問(wèn)題是我們需要的延遲越低,額外開銷占的比例就會(huì)越大,這導(dǎo)致了Spark Streaming很難做到秒級(jí)甚至亞秒級(jí)的延遲。Flink是把批當(dāng)作一種有限的流,這種做法的一個(gè)特點(diǎn)是在流和批共享大部分代碼的同時(shí)還能夠保留批處理特有的一系列的優(yōu)化。數(shù)據(jù)倉(cāng)庫(kù)早期以及大數(shù)據(jù)早期都是從批處理開始的,所以很多系統(tǒng)都是從批處理做起,包括Spark。在批處理上Spark有著較深的積累,是一個(gè)比較優(yōu)秀的系統(tǒng)。隨著技術(shù)的發(fā)展,很多原來(lái)只有批處理的業(yè)務(wù)都有了實(shí)時(shí)的需求,流處理將會(huì)變得越來(lái)越重要,甚至成為一些數(shù)據(jù)分析的主要場(chǎng)景,如實(shí)時(shí)管控、預(yù)警相關(guān)。
Spark 和 Flink 的異同點(diǎn)
Flink 早期僅支持流式處理,這幾年的Flink無(wú)論從API組織,還是運(yùn)行方式,還是多樣性都越來(lái)越像Spark。
批和流是數(shù)據(jù)融合的兩種應(yīng)用形態(tài)
傳統(tǒng)的數(shù)據(jù)融合通常基于批模式。在批的模式下,我們會(huì)通過(guò)一些周期性運(yùn)行的ETL JOB,將數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫(kù)、文件存儲(chǔ)向下游的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行同步,中間可能有各種類型的轉(zhuǎn)換。
與批模式相比相比, 其最核心的區(qū)別是將批量變?yōu)閷?shí)時(shí):輸入的數(shù)據(jù)不再是周期性的去獲取,而是源源不斷的來(lái)自于業(yè)務(wù)的日志、消息隊(duì)列的消息。進(jìn)而通過(guò)一個(gè)實(shí)時(shí)計(jì)算引擎,進(jìn)行各種聚合運(yùn)算,產(chǎn)生輸出結(jié)果,并且寫入下游。Spark 和 Flink 都能夠支持批和流兩種概念。只不過(guò)像 Flink,其原生就是為流而生,所以在流處理上更自然。
Spark 是有太多包袱,Spark 最早采用 RDD 模型,達(dá)到比 MapReduce 計(jì)算快 100 倍的顯著優(yōu)勢(shì),對(duì) Hadoop 生態(tài)大幅升級(jí)換代。RDD 彈性數(shù)據(jù)集是分割為固定大小的批數(shù)據(jù),自動(dòng)容錯(cuò)、位置感知、本地計(jì)算、可調(diào)度可伸縮等眾多重要特性。RDD 提供了豐富的底層 API 對(duì)數(shù)據(jù)集做操作,為持續(xù)降低使用門檻,Spark 社區(qū)開始開發(fā)高階 API:DataFrame/DataSet,Spark SQL 作為統(tǒng)一的 API,掩蓋了底層,同時(shí)針對(duì)性地做 SQL 邏輯優(yōu)化和物理優(yōu)化。Spark 早期的主要目標(biāo)是替代 MapReduce,MapReduce 是大數(shù)據(jù)批處理的核心模型。
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
即日-11.13立即報(bào)名>>> 【在線會(huì)議】多物理場(chǎng)仿真助跑新能源汽車
-
11月20日火熱報(bào)名中>> 2024 智能家居出海論壇
-
11月28日立即報(bào)名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會(huì)議
-
12月19日立即報(bào)名>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線峰會(huì)
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題
- 1 【一周車話】沒(méi)有方向盤和踏板的車,你敢坐嗎?
- 2 特斯拉發(fā)布無(wú)人駕駛車,還未迎來(lái)“Chatgpt時(shí)刻”
- 3 特斯拉股價(jià)大跌15%:Robotaxi離落地還差一個(gè)蘿卜快跑
- 4 馬斯克給的“驚喜”夠嗎?
- 5 打完“價(jià)格戰(zhàn)”,大模型還要比什么?
- 6 馬斯克致敬“國(guó)產(chǎn)蘿卜”?
- 7 神經(jīng)網(wǎng)絡(luò),誰(shuí)是盈利最強(qiáng)企業(yè)?
- 8 比蘋果偉大100倍!真正改寫人類歷史的智能產(chǎn)品降臨
- 9 諾獎(jiǎng)進(jìn)入“AI時(shí)代”,人類何去何從?
- 10 Open AI融資后成萬(wàn)億獨(dú)角獸,AI人才之爭(zhēng)開啟
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市