SparkSQL對(duì)于批流支持的特性及批流一體化支持框架的難點(diǎn)
三、基于SparkStreaming
SQL模式的流式處理支持
SparkSQL-Flow 流式處理支持
ALL in SQL 的設(shè)計(jì),能給數(shù)據(jù)開(kāi)發(fā)人員提供極大方便,復(fù)雜SQL的表達(dá)能力也不弱。
SparkSQL-Flow 流式處理和批處理的配置沒(méi)什么不同,定義一個(gè)流式 Source,如Kafka。流或批模式是由 Source 的實(shí)現(xiàn)決定。SparkSQL-Flow 在加載底層 SPI 來(lái)識(shí)別該 Source 是 Streaming 模式,還是批處理模式。加載時(shí),配置的 Source 中有任意一個(gè)是 Streaming 類(lèi)型,則認(rèn)為是流處理模式。
SparkSQL-Flow流處理過(guò)程中的關(guān)聯(lián)
在 ETL 或者一些實(shí)時(shí)流處理中,我們常常需要對(duì)數(shù)據(jù)做一些關(guān)聯(lián),如字典表關(guān)聯(lián)、字段轉(zhuǎn)義等操作。這在 數(shù)據(jù)處理業(yè)務(wù)場(chǎng)景中很常見(jiàn)。
我們?cè)?Flow XML 中定義多個(gè)Source,這樣在流處理過(guò)程中,流可以在任意 Transformer 中關(guān)聯(lián)其他 Source 表中的字段。另外,我們可以對(duì)作為關(guān)聯(lián)的 Source(Transformer的結(jié)果亦可) 做 cache 處理,這樣根據(jù) Spark 的模式,該表處于內(nèi)存中,且整個(gè)Job 運(yùn)行時(shí)不會(huì)再次觸發(fā)該Source 的 Stage,可以提高性能。
除了使用 Select ... Join 的方式關(guān)聯(lián),還可以使用自定義 UDF 的方式關(guān)聯(lián)字段,UDF 中可以有轉(zhuǎn)換、調(diào)用數(shù)據(jù)庫(kù)、可以調(diào)用 RESTApi 等等。
四、對(duì)于批流一體化ETL的思考
Kettle ETL 工具
提到 ETL 不得不提 Kettle。批、流、數(shù)據(jù)源、多樣性 大多數(shù)設(shè)計(jì)的ETL工具在他面前都相形見(jiàn)絀。
Kettle 作業(yè)是生成了一個(gè) dbr 文件,該 dbr 本質(zhì)上是 Kettle 支持的特有規(guī)范的一種 XML,Kettle 是實(shí)現(xiàn)了執(zhí)行該 XML 規(guī)范的一種解釋器。
但是 Kettle 的缺點(diǎn)很明顯,他的數(shù)據(jù)處理都是 Local 模式,對(duì)于大數(shù)據(jù)系統(tǒng),把數(shù)據(jù)拉到運(yùn)行節(jié)點(diǎn)再計(jì)算缺陷是很明顯的。并且作業(yè)無(wú)法并行化,云化,無(wú)法利用大規(guī)模集群的算力。
DataX
DataX 是阿里開(kāi)源的一個(gè)異構(gòu)數(shù)據(jù)源離線同步工具,致力于實(shí)現(xiàn)包括關(guān)系型數(shù)據(jù)庫(kù)(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各種異構(gòu)數(shù)據(jù)源之間穩(wěn)定高效的數(shù)據(jù)同步功能。
DataX設(shè)計(jì)理念
DataX本身作為數(shù)據(jù)同步框架,將不同數(shù)據(jù)源的同步抽象為從源頭數(shù)據(jù)源讀取數(shù)據(jù)的Reader插件,以及向目標(biāo)端寫(xiě)入數(shù)據(jù)的Writer插件,理論上DataX框架可以支持任意數(shù)據(jù)源類(lèi)型的數(shù)據(jù)同步工作。同時(shí)DataX插件體系作為一套生態(tài)系統(tǒng), 每接入一套新數(shù)據(jù)源該新加入的數(shù)據(jù)源即可實(shí)現(xiàn)和現(xiàn)有的數(shù)據(jù)源互通。
DataX 理論上也支持流處理,不過(guò)他的處理方式跟 Spark 類(lèi)似,流是當(dāng)做無(wú)限的批來(lái)處理。如果了解SpringBatch的話,DataX 更像是多線程的 SpringBatch 的架構(gòu)。DataX 沒(méi)有提供設(shè)計(jì)器,他提供了豐富的Reader和Writer和易擴(kuò)展的插件系統(tǒng)。和 Kettle一樣,DataX 也需要把數(shù)據(jù)拉到本地計(jì)算,并不具有分布式處理能力。
理想中的批流一體ETL
具有如 Kettle 般的算子表達(dá)能力,又具有完全的大數(shù)據(jù)處理能力。
SparkSQL-Flow 是基于Spark架構(gòu),天生具有分布式、本地計(jì)算、完全SQL開(kāi)發(fā)的批流一體化計(jì)算框架。
數(shù)據(jù)中臺(tái)之批流融合框架和產(chǎn)品
框架、計(jì)算平臺(tái):
1.Spark
2.Flink
3.Datax
4.SparkSQL-Flow
相關(guān)產(chǎn)品:
1.DataWorks
2.DataPipeline
DataWorks: DataWorks(數(shù)據(jù)工場(chǎng),原大數(shù)據(jù)開(kāi)發(fā)套件)是阿里云重要的PaaS(Platform-as-a-Service)平臺(tái)產(chǎn)品,為您提供數(shù)據(jù)集成、數(shù)據(jù)開(kāi)發(fā)、數(shù)據(jù)地圖、數(shù)據(jù)質(zhì)量和數(shù)據(jù)服務(wù)等全方位的產(chǎn)品服務(wù),一站式開(kāi)發(fā)管理的界面,幫助企業(yè)專(zhuān)注于數(shù)據(jù)價(jià)值的挖掘和探索。
DataPipeline: 批流一體的數(shù)據(jù)融合平臺(tái) .主要用于各類(lèi)數(shù)據(jù)融合、數(shù)據(jù)交換場(chǎng)景。支持大數(shù)據(jù)、分布式、水平擴(kuò)展、圖形化設(shè)計(jì)器的數(shù)據(jù)交換平臺(tái)。
SparkSQL-Flow實(shí)現(xiàn)了一個(gè)以SparkSQL為基礎(chǔ),以XML為載體的一種批流解釋器。在國(guó)內(nèi)某大型保險(xiǎn)內(nèi)供數(shù)項(xiàng)目所使用。大大減少了Spark程序開(kāi)發(fā)難度,并且有預(yù)留了Spark原生優(yōu)化。且以SQL的方式開(kāi)發(fā)數(shù)據(jù)大大降低了業(yè)務(wù)梳復(fù)雜度以及保證了供數(shù)、驗(yàn)數(shù)算法口徑的一致性。
關(guān)于作者:震秦,普元資深開(kāi)發(fā)工程師。專(zhuān)注于大數(shù)據(jù)開(kāi)發(fā) 8 年,擅長(zhǎng) Hadoop 生態(tài)內(nèi)各工具的使用、優(yōu)化和部分定制開(kāi)發(fā)。曾參與國(guó)內(nèi)多省市公安項(xiàng)目實(shí)施,負(fù)責(zé)大數(shù)據(jù)數(shù)倉(cāng)設(shè)計(jì)、批處理和調(diào)度工具實(shí)現(xiàn)。
關(guān)于EAWorld:使能數(shù)字轉(zhuǎn)型,共創(chuàng)數(shù)智未來(lái)!

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹(shù)機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車(chē)母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車(chē)研發(fā)中心重磅落地,寶馬家門(mén)口“搶人”
最新活動(dòng)更多
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開(kāi)發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車(chē)電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
推薦專(zhuān)題
- 1 先進(jìn)算力新選擇 | 2025華為算力場(chǎng)景發(fā)布會(huì)暨北京xPN伙伴大會(huì)成功舉辦
- 2 人形機(jī)器人,正狂奔在批量交付的曠野
- 3 宇樹(shù)機(jī)器人撞人事件的深度剖析:六維力傳感器如何成為人機(jī)安全的關(guān)鍵屏障
- 4 解碼特斯拉新AI芯片戰(zhàn)略 :從Dojo到AI5和AI6推理引擎
- 5 AI版“四萬(wàn)億刺激”計(jì)劃來(lái)了
- 6 2025年8月人工智能投融資觀察
- 7 8 a16z最新AI百?gòu)?qiáng)榜:硅谷頂級(jí)VC帶你讀懂全球生成式AI賽道最新趨勢(shì)
- 9 Manus跑路,大廠掉線,只能靠DeepSeek了
- 10 地平線的野心:1000萬(wàn)套HSD上車(chē)