• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于Flink實時數(shù)倉的系統(tǒng)設(shè)計及功能實現(xiàn)研究

      2022-07-07 01:55:50曹云柯
      電子技術(shù)與軟件工程 2022年6期
      關(guān)鍵詞:架構(gòu)系統(tǒng)設(shè)計

      曹云柯

      (上海久譽軟件系統(tǒng)有限公司 上海市 200233)

      隨著分布式技術(shù)研究的不斷深入和該技術(shù)應(yīng)用范圍的進(jìn)一步拓寬,智能工業(yè)、信息技術(shù)、生物科技等不同產(chǎn)業(yè)對分布式計算方式的應(yīng)用程度進(jìn)一步加深,數(shù)據(jù)信息處理也從以往的單一的離線處理模式轉(zhuǎn)變?yōu)槎嘟嵌鹊膶崟r在線處理方式,數(shù)據(jù)信息處理量進(jìn)一步加大。因此,實時數(shù)據(jù)信息處理能力也就逐步衍變?yōu)槠髽I(yè)或者其他主體市場競爭能力的一種。但在傳統(tǒng)模式下的實時數(shù)據(jù)信息處理過程中,實時處理功能的發(fā)揮主要依托一致性的內(nèi)部程度的接口和針對性程度的編制,將參數(shù)整合到某一具體平臺后進(jìn)行處理,該類處理方式要求開發(fā)人員具備較強(qiáng)的程度開發(fā)能力,且硬件設(shè)備配置要求較高。因此,本文提出以Flink以及Flink SQL實時計算框架為理論基礎(chǔ),在此框架上構(gòu)建實時數(shù)倉計算平臺,簡化針對性程序處理難度,進(jìn)而為Flink實時數(shù)倉的系統(tǒng)設(shè)計及功能實現(xiàn)提供更多的經(jīng)驗參考。

      1 研究背景與意義

      隨著社會邁入數(shù)字經(jīng)濟(jì)時代,數(shù)據(jù)已成為不容忽視的生產(chǎn)要素?;ヂ?lián)網(wǎng)平臺和移動產(chǎn)業(yè)在全行業(yè)普及,企業(yè)信息化在提升生產(chǎn)效率的同時也產(chǎn)生了大量的數(shù)據(jù)。由于企業(yè)的信息化往往是逐步開展,最初沒有整體規(guī)劃,在建設(shè)企業(yè)內(nèi)部數(shù)據(jù)平臺時往往面臨的底層數(shù)據(jù)架構(gòu)和系統(tǒng)架構(gòu)的巨大差異。離線數(shù)據(jù)倉庫的時效性存在一定延遲,較難滿足實時性要求高的數(shù)據(jù)需求。各系統(tǒng)在開發(fā)后期及運營過程中,定制化報表的需求多,定制化程度高。因此建設(shè)一套實時數(shù)據(jù)抽取轉(zhuǎn)換平臺,支持基于日志文件、數(shù)據(jù)庫表等數(shù)據(jù)源進(jìn)行數(shù)據(jù)抽取轉(zhuǎn)換,并進(jìn)行實時、離線的數(shù)據(jù)匯總及圖表呈現(xiàn),可滿足數(shù)據(jù)整合展現(xiàn)需要,對現(xiàn)有系統(tǒng)侵入性小,具有良好的拓展性。

      在大數(shù)據(jù)信息時代,企業(yè)的市場競爭優(yōu)劣往往體現(xiàn)在大體量數(shù)據(jù)信息的處理質(zhì)量和處理效率上,越來越多的企業(yè)需要將海量參數(shù)中蘊含的信息計算后得出數(shù)據(jù)和數(shù)據(jù)背后蘊藏的價值,進(jìn)而指導(dǎo)企業(yè)戰(zhàn)略方案的制定。本文分析了Flink這一現(xiàn)代企業(yè)中應(yīng)用廣泛的計算方式,在充分了解該算法引擎具備的商業(yè)價值和經(jīng)濟(jì)價值的基礎(chǔ)上,也看到了該引擎應(yīng)用的諸多劣勢,其局限性主要體現(xiàn)在以下方面:

      (1)Flink Job的部署依賴于其本身的操作命令,對開發(fā)和運維人員功能實現(xiàn)所具備的要求較高;

      (2)Flink雖然在1.10版本集成了Blink,在1.13.2版本對SQL做了2次語法更新,但是對一些復(fù)雜的業(yè)務(wù)支持依然不好,且SQL本身的執(zhí)行依賴SQL客戶端或者Table的API,對開發(fā)人員并不友好;

      (3)Flink在不同環(huán)境下的部署,其本身自帶的UI管理平臺并不適用,以Hadoop為例,該環(huán)境下更是各自job管理各自的內(nèi)容、實現(xiàn)各自目的,缺少統(tǒng)一的監(jiān)管平臺。

      同時,以實時計算引擎對比參數(shù)為例分析各不同軟件之間的性能,具體對比示意如表1所示。由表1可知,F(xiàn)link支撐下各項參數(shù)信息能夠得到較好的把控,各功能也能得到圓滿的實現(xiàn)與完成,因此,針對以上實際應(yīng)用中存在的問題,筆者基于Flink實時數(shù)倉進(jìn)行系統(tǒng)設(shè)計及功能分析,設(shè)計出一套完整的實時計算系統(tǒng)來解決現(xiàn)實問題。

      表1:實時計算引擎對比參數(shù)統(tǒng)計表

      2 系統(tǒng)概述

      2.1 Flink概述

      Apache Flink是以分布式數(shù)據(jù)流處理和批量數(shù)據(jù)信息挖掘為目標(biāo)的計算平臺,屬于開源性平臺之一,能夠在Flink正常運行時提供上述兩種數(shù)據(jù)信息挖掘的技術(shù)支撐,計算方案的開源性設(shè)計,有利于系統(tǒng)運行時冗余度的增大,系統(tǒng)針對流處理和批處理兩種不同的應(yīng)用類型,借助系統(tǒng)內(nèi)不同的功能模塊實現(xiàn)參數(shù)信息獲取的不同目標(biāo)。在此過程中,流處理數(shù)據(jù)處理方式對時效性要求和處理容量要求較批處理方式更低,為節(jié)能系統(tǒng)設(shè)計,往往需要兩套參數(shù)計算的運營方式。

      Flink的核心計算架構(gòu)如圖1,圖中Flink Runtime執(zhí)行引擎是分布式系統(tǒng),能夠接受數(shù)據(jù)流程序并在一臺或多臺機(jī)器上以容錯方式執(zhí)行。Flink Runtime執(zhí)行引擎可作為YARN(Yet Another Resource Negotiator)應(yīng)用程序在集群上運行,也可以在Mesos集群上運行,還可以在單機(jī)上運行,為實現(xiàn)諸多功能奠定技術(shù)基礎(chǔ)。

      圖1:Flink核心計算架構(gòu)圖

      2.2 實時數(shù)倉

      數(shù)據(jù)倉庫作為面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策。然而,隨著數(shù)據(jù)時效性在企業(yè)運營中的重要性日益凸現(xiàn),傳統(tǒng)的離線數(shù)據(jù)倉庫架構(gòu)難以滿足數(shù)據(jù)實時分析需求,同時Lambda架構(gòu)存在開發(fā)效率低、維護(hù)成本高等瓶頸,因此,基于Flink引擎、Kappa架構(gòu)實現(xiàn)的實時數(shù)據(jù)倉庫已成為數(shù)據(jù)倉庫應(yīng)用的新趨勢。

      3 實時計算總體框架設(shè)計

      3.1 大數(shù)據(jù)處理的實時化趨勢

      隨著當(dāng)前階段網(wǎng)絡(luò)信息技術(shù)的迅速發(fā)展,大數(shù)據(jù)處理呈現(xiàn)出非常明顯的實時化趨勢,各種各樣的現(xiàn)實生活場景對大數(shù)據(jù)處理技術(shù)的使用信手拈來。例如,春晚直播實時大屏、“雙11”購物節(jié)實時成交額統(tǒng)計和媒體匯報、智慧城市建設(shè)的實時監(jiān)測交通、銀行系統(tǒng)實時風(fēng)控監(jiān)測等。此外,當(dāng)打開淘寶、天貓等應(yīng)用軟件時,會根據(jù)用戶不同的習(xí)慣進(jìn)行實時個性化推薦。由此可知,在未來社會的進(jìn)步與經(jīng)濟(jì)繁榮發(fā)展中,實時化即未來,是當(dāng)下大數(shù)據(jù)處理的主流趨勢。

      3.2 系統(tǒng)模塊功能

      根據(jù)Flink原生的流處理系統(tǒng),保證低延遲性、滿足低延遲性場景要求、完善API和容錯性、使用和部署相對簡單和Flink社區(qū)響應(yīng)速度非??斓幕厩疤嵯拢O(shè)計出一種基于Flink實時數(shù)倉的系統(tǒng),分為數(shù)倉體系和數(shù)倉管理平臺兩個部分,整體架構(gòu)體系如圖2。

      圖2:整體架構(gòu)體系圖

      就數(shù)倉架構(gòu)本身而言,由于數(shù)據(jù)倉庫的運行是以各個模塊之間相互配合為基礎(chǔ)的,但各管理目標(biāo)之間往往是相互獨立的,各自完成自身的設(shè)計功能,能通過隊列或者restFull進(jìn)行數(shù)據(jù)交互,缺乏統(tǒng)一管理的平臺。本文設(shè)計的數(shù)倉(ETL)管理平臺就是為了解決該問題,使運營人員能夠在數(shù)據(jù)采集、文件管理、任務(wù)創(chuàng)建和發(fā)布、任務(wù)監(jiān)控等方面更方便地監(jiān)聽整個數(shù)倉體系。此外,基于Flink實時數(shù)倉的系統(tǒng)管理平臺支持Fast-jar的方式創(chuàng)建Job,同時支持SQL的方式創(chuàng)建SQL-Job任務(wù)。

      在該系統(tǒng)的應(yīng)用中,主要包含數(shù)據(jù)采集層、實時計算層、數(shù)據(jù)存儲層、數(shù)據(jù)展示層和服務(wù)監(jiān)控層五部分。其中,數(shù)據(jù)采集層基于Debeziium、Flume等工具采集實時數(shù)據(jù),將采集到的原始數(shù)據(jù)(ODS)放到消息隊列Kafka中等待消費。

      實時計算層基于Kafka消息隊列及Flink實時計算引擎,針對所采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)解析、分析計算,并將計算結(jié)果。在此過程中,F(xiàn)link本身支持SQL任務(wù)和Fast-Jar任務(wù)2種方式計算Job,但提交過程依賴Flink SQL Client所在客戶端或Flink自帶的UI界面,而杉樹2種方式不統(tǒng)一且缺乏命令復(fù)雜,對開發(fā)者和運維人員都非常不友好。故本文在數(shù)倉管理平臺界面對其進(jìn)行了統(tǒng)一形式的創(chuàng)建和部署。除了原始的Fast-Jar任務(wù)以外,管理平臺將SQL任務(wù)集成為UDF,通過動態(tài)連接器、動態(tài)依賴Jar等方式來靈活構(gòu)建不同的SQL_Job,極大地方便了開發(fā)、運維人員創(chuàng)建新的計算任務(wù)。

      數(shù)據(jù)存儲層是平臺利用分布式存儲架構(gòu)根據(jù)數(shù)據(jù)場景及應(yīng)用需求進(jìn)行個性化存儲,通過 Hive、HBase、HDFS、Redis、RDBMS等存儲模型,為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、實時數(shù)據(jù)等不同類型的數(shù)據(jù)提供存儲支持。就整個數(shù)倉平臺而言,針對不同階段的數(shù)據(jù)會采用不同的存儲方案存儲數(shù)據(jù),如Kafa用來存儲ODS、DWS、DWD等數(shù)據(jù),HBase存儲維表數(shù)據(jù)、DWD、DWS等數(shù)據(jù),Hive存放ODS數(shù)據(jù);Apache Driud存儲ADS等數(shù)據(jù)。

      在數(shù)據(jù)展示層中,操作人員可通過Web界面進(jìn)行交互,實現(xiàn)對實時監(jiān)控、觀察報警統(tǒng)計數(shù)據(jù),同時支持狀態(tài)在線分析、設(shè)備能耗分析等功能。系統(tǒng)使用Apache Suerset作為可視化界面的實現(xiàn)方案,借助其快速直觀、輕量級、具有豐富的功能選項等優(yōu)勢,使各種用戶都可以輕松地以可視化的方式瀏覽數(shù)據(jù),實現(xiàn)簡單的折線圖到高度詳細(xì)的地理空間圖的閱覽過程。

      4 交通數(shù)據(jù)實時分析系統(tǒng)

      下文以某城市交通卡監(jiān)控指標(biāo)實時分析為例分析Flink實時數(shù)倉系統(tǒng)的測試運行效果,通過Debezium工具監(jiān)聽交通卡數(shù)據(jù)庫,獲取相應(yīng)的CDC行級別數(shù)據(jù)變動,寫入Kafka給后續(xù)任務(wù)分析計算。然后選擇地鐵人流量(分鐘)、站點人流量(分鐘)、站點人流TOP_N(分鐘級別)、站點人流TOP_N(天累計)、用戶上下站點線路圖等為統(tǒng)計指標(biāo),按照圖3所示的數(shù)據(jù)分析過程,探究最終實現(xiàn)結(jié)果,圖4即為地鐵各線路人流趨勢圖,由此分析可知,F(xiàn)link實時數(shù)倉系統(tǒng)能夠在采集實時數(shù)據(jù)信息的基礎(chǔ)上,實現(xiàn)實時數(shù)據(jù)存儲、實時數(shù)據(jù)分析、實時監(jiān)控告警和實時數(shù)據(jù)報表生成等諸多功能,實現(xiàn)參數(shù)信息的提取和后續(xù)決策的指導(dǎo)。以下給出部分系統(tǒng)中的性能數(shù)據(jù)舉例:

      圖3:交通卡數(shù)據(jù)分析過程

      圖4:地鐵各線路人流趨勢圖

      - 讀取Kafka主題中1000w數(shù)據(jù),分發(fā)給6個不同主題

      - 處理速率約為27000/s

      開窗計算

      - 事件時間開窗計算730w條數(shù)據(jù)行,統(tǒng)計總?cè)肆骱蛡€線路人流量

      - 處理速率35000/s

      CEP

      - 使用CEP計算進(jìn)站后6小時內(nèi)人員進(jìn)出站情況

      - 在測試YARN環(huán)境下運行速度約為17500/s

      5 結(jié)論

      總之,本文基于流批一體計算引擎Flink設(shè)計大數(shù)據(jù)實時分析平臺,對實際生產(chǎn)過程中產(chǎn)生的海量數(shù)據(jù)進(jìn)行實時采集、處理、分析與存儲,面向不同格式的數(shù)據(jù)進(jìn)行定制化存儲,從而提供實時化、自動化的分析決策,可以實現(xiàn)支撐監(jiān)測大屏、看板系統(tǒng)、報表系統(tǒng)、分析報警系統(tǒng)等多種場景的實時數(shù)據(jù)分析。在實時數(shù)據(jù)處理框架中,借助Flink工具在容錯性、實時性、反壓方面相較于其他框架悠著較大的優(yōu)勢,提出基于Flink實時計算框架,構(gòu)建實時計算平臺,讓用戶通過SQL語句來創(chuàng)建任務(wù),并通過可視化頁面監(jiān)控任務(wù)的執(zhí)行,實現(xiàn)了基于Flink實時數(shù)倉的系統(tǒng)設(shè)計及功能實現(xiàn)。

      在該系統(tǒng)的后續(xù)應(yīng)用和優(yōu)化設(shè)計創(chuàng)新中,可在以下方面進(jìn)行優(yōu)化:首先,盡管SQL語句能在任務(wù)創(chuàng)建上更加方便簡潔,但是對于一些負(fù)責(zé)和細(xì)節(jié)上的操作首選方案還是原生API。其次,就可視化視圖方面,本次設(shè)計方案中使用的是Apache superset,該工具是一種開源的框架,其提供的Dashboard種類有限,需要有用戶自擴(kuò)展Dashboard,或者重新搭建大屏展示界面。最后,F(xiàn)link實時數(shù)倉系統(tǒng)在當(dāng)前框架中缺少血緣分析,且目前只能從Flink作業(yè)監(jiān)控頁面,查看每個算子輸入和輸出的數(shù)據(jù)量大小,無法從交互頁面進(jìn)行查看。未來,基于Flink實時數(shù)倉的系統(tǒng)設(shè)計可在上述三個方面進(jìn)行進(jìn)一步的優(yōu)化設(shè)計,保證其功能實現(xiàn)過程更加優(yōu)良。

      猜你喜歡
      架構(gòu)系統(tǒng)設(shè)計
      基于FPGA的RNN硬件加速架構(gòu)
      Smartflower POP 一體式光伏系統(tǒng)
      WJ-700無人機(jī)系統(tǒng)
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      ZC系列無人機(jī)遙感系統(tǒng)
      北京測繪(2020年12期)2020-12-29 01:33:58
      瞞天過?!律O(shè)計萌到家
      連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
      設(shè)計秀
      海峽姐妹(2017年7期)2017-07-31 19:08:17
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
      有種設(shè)計叫而專
      Coco薇(2017年5期)2017-06-05 08:53:16
      九龙坡区| 青田县| 双辽市| 云浮市| 新竹县| 敖汉旗| 大方县| 仁布县| 应城市| 大方县| 望奎县| 临沂市| 泗洪县| 和平区| 会泽县| 兴业县| 陆川县| 扎兰屯市| 桂东县| 永川市| 罗甸县| 漾濞| 迁西县| 咸宁市| 法库县| 寿宁县| 府谷县| 顺义区| 遵义市| 锦州市| 新河县| 华宁县| 兰州市| 固阳县| 苏尼特右旗| 定远县| 犍为县| 屏东市| 黎城县| 英超| 于都县|