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)題是我們需要的延遲越低,額外開(kāi)銷占的比例就會(huì)越大,這導(dǎo)致了Spark Streaming很難做到秒級(jí)甚至亞秒級(jí)的延遲。Flink是把批當(dāng)作一種有限的流,這種做法的一個(gè)特點(diǎn)是在流和批共享大部分代碼的同時(shí)還能夠保留批處理特有的一系列的優(yōu)化。數(shù)據(jù)倉(cāng)庫(kù)早期以及大數(shù)據(jù)早期都是從批處理開(kāi)始的,所以很多系統(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ù)融合通;谂J健T谂哪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é)果,并且寫(xiě)入下游。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ū)開(kāi)始開(kāi)發(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)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書(shū)】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開(kāi)始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來(lái)商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽(yáng)光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開(kāi)成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?