王志紅
摘要:在當(dāng)前我國大數(shù)據(jù)時代的背景下人們對于信息的實時處理平臺愈發(fā)關(guān)注,早在2014年,對于數(shù)據(jù)的分析處理,F(xiàn)link平臺便為其提供了新思路與新方法。筆者結(jié)合自身多年經(jīng)驗,對Flink平臺理論進(jìn)行分析,闡述生態(tài)系統(tǒng)等相關(guān)技術(shù),除此之外,還分析了當(dāng)前Flink平臺所面臨的挑戰(zhàn)。文章內(nèi)容可供各位同行相互參考,希望能為Flink平臺未來的發(fā)展有所啟示。
關(guān)鍵詞:Flink平臺 大數(shù)據(jù)時代 生態(tài)系統(tǒng)
前言
在當(dāng)前我國現(xiàn)代化信息時代,人們在日常生活工作中,會產(chǎn)生大量的數(shù)據(jù)信息,這便是大數(shù)據(jù)。結(jié)合當(dāng)下我國Flink平臺的實際發(fā)展情況來看,有關(guān)數(shù)據(jù)分析、實時計算搜索等功能都能夠在Flink平臺上實現(xiàn),但是Flink平臺在當(dāng)前社會快速發(fā)展的背景下,在運用過程中面臨著諸多問題,基于此本文主要內(nèi)容研究Flink平臺的運用具有十分重要的現(xiàn)實意義。
1 Flink平臺的工作機制與相關(guān)技術(shù)
Flink其本質(zhì)以一個較為新型的流處理系統(tǒng),在Flink中所蘊含的豐富的API接口能夠有效幫助相關(guān)工作人員,對流處理應(yīng)用進(jìn)行開發(fā),除此之外,F(xiàn)link自身還具有十分顯著的靈活性這一特征,與此同時,F(xiàn)link還具有十分高效的流和數(shù)據(jù)容錯。在Flink中,流處理能夠有效以低延時的狀態(tài)對相關(guān)工作任務(wù)開展處理工作。一些新型的而應(yīng)用在處理相關(guān)數(shù)據(jù)過程中,需要開展持續(xù)查詢工作,這些應(yīng)用在一定程度上只能通過流架構(gòu)實現(xiàn)。
在開展流架構(gòu)處理工作時,首選需要從各種數(shù)據(jù)源中收集各種數(shù)據(jù)信息,主要數(shù)據(jù)源包含有機器業(yè)務(wù)平臺的生產(chǎn)業(yè)務(wù)操作日志、數(shù)據(jù)庫結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、文本數(shù)據(jù)等,在此過程中,需要對相關(guān)數(shù)據(jù)進(jìn)行實時加工清洗計算后組織到一個中心。其次,在此中心中形成各種流,例如Apache Kafka這一典型工具,能夠在運行過程中提供broker功能,以自身較高的可靠性,以及較低的失敗容錯率,來對緩沖數(shù)據(jù)以及流日志開展收集工作,進(jìn)而將相關(guān)數(shù)據(jù)信息結(jié)合受眾的喜好進(jìn)行分發(fā)。再次,要對流開展真正的分析工作,在此工程中,F(xiàn)link能夠提供分析工作所需的一步到位的高級編程?;谏鲜鰞?nèi)容可知,F(xiàn)link不僅能夠有效開展流處理,還能夠進(jìn)行批處理。
結(jié)合Flink的實際運行情況來看,在其運行過程中主要依賴于Hadoop平臺來執(zhí)行相關(guān)動作。Hadoop平臺最早起源于Nutch,Nutch的本質(zhì)是一個搜索引擎,基于開源JAVA進(jìn)行實現(xiàn)的。而Flink是Spark擴展而來的平臺,能夠?qū)﹂_展流式數(shù)據(jù)的處理工作以及批處理工作,基于此我們可知Flink對于Hadoop具有良好的兼容性。結(jié)合Hadoop與Flink的實際運行情況來看,F(xiàn)link相較于Hadoop擁有較好的數(shù)據(jù)處理能力這是因為Flink在運行過程中,通過內(nèi)存來開展相關(guān)計算活動。
2 Flink流處理的時間窗口
針對于流式處理平臺而言,在運行過程中,流入其中的信息為無限量,在信息流人之后,流處理系統(tǒng)自身需要開展聚合連接操作,在此過程中,對流入消息會進(jìn)行分段處理,隨后根據(jù)系統(tǒng)在對不同階段的信息進(jìn)行聚合連接處理。其中對消息進(jìn)行分段則被稱為窗口,在流式處理系統(tǒng)中會支持各種各樣的窗口類型,時間窗口也在其中,時間窗口指代的是,根據(jù)時間間隔對流系統(tǒng)的流人信息進(jìn)行分段處理。對于當(dāng)前我國Flink流處理平臺的實際發(fā)展情況來看,通常情況下是根據(jù)系統(tǒng)內(nèi)TASK所在節(jié)點的本地時間對相關(guān)消息進(jìn)行切分處理,采用時間窗口模式,能夠促使流式處理系統(tǒng)在運行過程中不會阻塞消息,保持系統(tǒng)自身的流暢性,但是在此過程中可能會導(dǎo)致部分應(yīng)用的要求無法滿足。例如,F(xiàn)link流處理的信息本身帶有時間戳,因此,用戶自身希望能夠按照信息自身的時間戳來進(jìn)行處理,此要求在Flink流處理的時間窗口中無法實現(xiàn),除此之外,由于Flink流處理平臺中不同節(jié)點的時間不同,導(dǎo)致信息在被處理過程中,流經(jīng)系統(tǒng)中各個節(jié)點的延遲不同,通常情況下表現(xiàn)為,在某節(jié)點,同屬于一個時間窗口的消息在流經(jīng)系統(tǒng)中下一個節(jié)點時可能會被切分到不同的時間窗口中,最終會導(dǎo)致信息最終的處理結(jié)果不能符合預(yù)期的結(jié)果。
結(jié)合當(dāng)前Flink流處理平臺的實際運行情況來看,現(xiàn)如今主要支持三種類型的時間窗口,能夠有效滿足用戶對Flink流處理平臺中時間窗口的要求。首先為Operator Time,它的使用導(dǎo)致Flink平臺在運行過程中能夠根據(jù)task所在節(jié)點的本地時鐘對時間窗口進(jìn)行切分。其次為Event Time,當(dāng)流入的消息自帶時間戳?xí)r,能夠促使Flink流處理平臺能夠根據(jù)時間戳對消息進(jìn)行處理,確保統(tǒng)一時間戳內(nèi)的消息能夠被正確處理。最后為Ingress Time,當(dāng)消息自身并沒有攜帶時間戳?xí)r,但是用戶仍舊希望按照消息進(jìn)行處理,而不是按照系統(tǒng)平臺中的節(jié)點時鐘進(jìn)行劃分,此時利用Ingress Time能夠?qū)ο⑦M(jìn)行有效處理。
3 未來發(fā)展所面臨的挑戰(zhàn)
結(jié)合當(dāng)前我國Flink平臺的發(fā)展現(xiàn)狀來看,目前流式處理平臺類型眾多,其中主要平臺包含有Spark Streaming、Storm、Trident等,并且不同平臺在處理信息數(shù)據(jù)方面具有自身優(yōu)勢,例如,如果僅僅只從模型建造方面對流處理平臺進(jìn)行分析的化,Storm、Trident對于小批量處理方面優(yōu)勢較為突出,并且在處理過程中其所占用的空間較小。如果要從流式處理平臺的延時方面考慮,Storm在此方面優(yōu)勢較為突出,但是在處理過程中的吞吐率上,F(xiàn)link具有十分明顯的優(yōu)勢,但是結(jié)合流處理平臺的整體發(fā)展現(xiàn)狀來看,F(xiàn)link平臺成熟度較低,其余三種主流平臺都相較于Flink平臺成熟。目前Flink平臺在運行過程中主要面臨的問題為工作負(fù)載的問題,因為在當(dāng)前大數(shù)據(jù)時代,F(xiàn)link平臺在處理數(shù)據(jù)信息等相關(guān)內(nèi)容時,需要處理巨大數(shù)量的數(shù)據(jù)量,也要面臨著不斷動態(tài)變化的工作量。由于流應(yīng)用在運行過程中自身特性導(dǎo)致相關(guān)外來數(shù)據(jù)信息能夠隨著時間的變化而變化,因此,F(xiàn)link平臺在運行過程中不能針對自身工作量進(jìn)行提前預(yù)估,因此,在運行過程中需要適應(yīng)動態(tài)資源消耗這一特征,針對于此,F(xiàn)link平臺在未來發(fā)展過程中,需要對其運行過程中的問題進(jìn)行解決,促使自身適應(yīng)數(shù)據(jù)處理的工作負(fù)載,只有這樣才能夠有效保障自身不斷發(fā)展。在Flink平臺的應(yīng)用中,還需對Yarn進(jìn)行合理整合,提升數(shù)據(jù)處理效率,但是就目前來看業(yè)務(wù)平臺在發(fā)展中數(shù)據(jù)的數(shù)量在不斷增加,F(xiàn)link平臺一旦在應(yīng)用中出現(xiàn)故障,就會對業(yè)務(wù)平臺生產(chǎn)環(huán)境中的數(shù)據(jù)處理造成極大阻礙,而這也是Flink平臺在日后需要解決的問題。
4 結(jié)語
綜上所述,F(xiàn)link平臺在發(fā)展過程中,相較于其他主流流式處理平臺成熟度度較低,因此,在運行發(fā)展過程中,應(yīng)該結(jié)合自身實際情況,增強自身工作負(fù)載能力,以便能夠在當(dāng)前大數(shù)據(jù)時代,對相關(guān)數(shù)據(jù)信息進(jìn)行處理,有效促使自身不斷發(fā)展。
參考文獻(xiàn)
[1]蔡鯤鵬.基于Flink平臺的應(yīng)用研究[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2017, 7(2):99-101.
[2]馬黎[1.Spark和Flink平臺大數(shù)據(jù)批量處理的性能分析[J],中國電子科學(xué)研究院學(xué)報,2018,13(2):81-85+103.
[3]倪政君,夏哲雷.Flink的并行Apriori算法設(shè)計與實現(xiàn)[J].中國計量學(xué)院學(xué)報,2018,29(2):175-180.