欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

千鋒扣丁學堂大數(shù)據(jù)培訓之大數(shù)據(jù)分析場景需要解決哪些技術挑戰(zhàn)

2019-07-04 14:36:21 2632瀏覽

今天千鋒扣丁學堂大數(shù)據(jù)培訓老師給大家分享一篇關于大數(shù)據(jù)架構如何做到流批一體呢?首先大數(shù)據(jù)與現(xiàn)有的科技手段結合,對大多數(shù)產(chǎn)業(yè)而言都能產(chǎn)生巨大的經(jīng)濟及社會價值。這也是當下許多企業(yè),在大數(shù)據(jù)上深耕的原因。大數(shù)據(jù)分析場景需要解決哪些技術挑戰(zhàn)?目前,有哪些主流大數(shù)據(jù)架構模式及其發(fā)展?今天,我們都會一一解讀,并介紹如何結合云上存儲、計算組件,實現(xiàn)更優(yōu)的通用大數(shù)據(jù)架構模式,以及該模式可以涵蓋的典型數(shù)據(jù)處理場景。

大數(shù)據(jù)處理的挑戰(zhàn)

現(xiàn)在已經(jīng)有越來越多的行業(yè)和技術領域需求大數(shù)據(jù)分析系統(tǒng),例如金融行業(yè)需要使用大數(shù)據(jù)系統(tǒng)結合VaR(valueatrisk)或者機器學習方案進行信貸風控,零售、餐飲行業(yè)需要大數(shù)據(jù)系統(tǒng)實現(xiàn)輔助銷售決策,各種IOT場景需要大數(shù)據(jù)系統(tǒng)持續(xù)聚合和分析時序數(shù)據(jù),各大科技公司需要建立大數(shù)據(jù)分析中臺等等。

抽象來看,支撐這些場景需求的分析系統(tǒng),面臨大致相同的技術挑戰(zhàn):

業(yè)務分析的數(shù)據(jù)范圍橫跨實時數(shù)據(jù)和歷史數(shù)據(jù),既需要低延遲的實時數(shù)據(jù)分析,也需要對PB級的歷史數(shù)據(jù)進行探索性的數(shù)據(jù)分析;

可靠性和可擴展性問題,用戶可能會存儲海量的歷史數(shù)據(jù),同時數(shù)據(jù)規(guī)模有持續(xù)增長的趨勢,需要引入分布式存儲系統(tǒng)來滿足可靠性和可擴展性需求,同時保證成本可控;

技術棧深,需要組合流式組件、存儲系統(tǒng)、計算組件和;

可運維性要求高,復雜的大數(shù)據(jù)架構難以維護和管控;

簡述大數(shù)據(jù)架構發(fā)展

Lambda架構

Lambda架構是目前影響最深刻的大數(shù)據(jù)處理架構,它的核心思想是將不可變的數(shù)據(jù)以追加的方式并行寫到批和流處理系統(tǒng)內,隨后將相同的計算邏輯分別在流和批系統(tǒng)中實現(xiàn),并且在查詢階段合并流和批的計算視圖并展示給用戶。Lambda的提出者NathanMarz還假定了批處理相對簡單不易出現(xiàn)錯誤,而流處理相對不太可靠,因此流處理器可以使用近似算法,快速產(chǎn)生對視圖的近似更新,而批處理系統(tǒng)會采用較慢的精確算法,產(chǎn)生相同視圖的校正版本。


圖1Lambda架構示例

Lambda架構典型數(shù)據(jù)流程是(http://lambda-architecture.net/):

所有的數(shù)據(jù)需要分別寫入批處理層和流處理層;

批處理層兩個職責:(i)管理masterdataset(存儲不可變、追加寫的全量數(shù)據(jù)),(ii)預計算batchview;

服務層對batchview建立索引,以支持低延遲、ad-hoc方式查詢view;

流計算層作為速度層,對實時數(shù)據(jù)計算近似的real-timeview,作為高延遲batchview的補償快速視圖;

所有的查詢需要合并batchview和real-timeview;

Lambda架構設計推廣了在不可變的事件流上生成視圖,并且可以在必要時重新處理事件的原則,該原則保證了系統(tǒng)隨需求演進時,始終可以創(chuàng)建相應的新視圖出來,切實可行地滿足了不斷變化的歷史數(shù)據(jù)和實時數(shù)據(jù)分析需求。

Lambda架構的四個挑戰(zhàn)

Lambda架構非常復雜,在數(shù)據(jù)寫入、存儲、對接計算組件以及展示層都有復雜的子課題需要優(yōu)化:

寫入層上,Lambda沒有對數(shù)據(jù)寫入進行抽象,而是將雙寫流批系統(tǒng)的一致性問題反推給了寫入數(shù)據(jù)的上層應用;

存儲上,以HDFS為代表的masterdataset不支持數(shù)據(jù)更新,持續(xù)更新的數(shù)據(jù)源只能以定期拷貝全量snapshot到HDFS的方式保持數(shù)據(jù)更新,數(shù)據(jù)延遲和成本比較大;

計算邏輯需要分別在流批框架中實現(xiàn)和運行,而在類似Storm的流計算框架和HadoopMR的批處理框架做job開發(fā)、調試、問題調查都是比較復雜的;

結果視圖需要支持低延遲的查詢分析,通常還需要將數(shù)據(jù)派生到列存分析系統(tǒng),并保證成本可控。

流批融合的Lambda架構

針對Lambda架構的問題3,計算邏輯需要分別在流批框架中實現(xiàn)和運行的問題,不少計算引擎已經(jīng)開始往流批統(tǒng)一的方向去發(fā)展,例如Spark和Flink,從而簡化lambda架構中的計算部分。實現(xiàn)流批統(tǒng)一通常需要支持:

以相同的處理引擎來處理實時事件和歷史回放事件;

支持exactlyonce語義,保證有無故障情況下計算結果完全相同;

支持以事件發(fā)生時間而不是處理時間進行窗口化。

Kappa架構

Kappa架構由JayKreps提出,不同于Lambda同時計算流計算和批計算并合并視圖,Kappa只會通過流計算一條的數(shù)據(jù)鏈路計算并產(chǎn)生視圖。Kappa同樣采用了重新處理事件的原則,對于歷史數(shù)據(jù)分析類的需求,Kappa要求數(shù)據(jù)的長期存儲能夠以有序log流的方式重新流入流計算引擎,重新產(chǎn)生歷史數(shù)據(jù)的視圖。


圖2Kappa大數(shù)據(jù)架構

Kappa方案通過精簡鏈路解決了1數(shù)據(jù)寫入和3計算邏輯復雜的問題,但它依然沒有解決存儲和展示的問題,特別是在存儲上,使用類似kafka的消息隊列存儲長期日志數(shù)據(jù),數(shù)據(jù)無法壓縮,存儲成本很大,繞過方案是使用支持數(shù)據(jù)分層存儲的消息系統(tǒng)(如Pulsar,支持將歷史消息存儲到云上存儲系統(tǒng)),但是分層存儲的歷史日志數(shù)據(jù)僅能用于Kappabackfill作業(yè),數(shù)據(jù)的利用率依然很低。

Lambda和Kappa的場景區(qū)別:

Kappa不是Lambda的替代架構,而是其簡化版本,Kappa放棄了對批處理的支持,更擅長業(yè)務本身為append-only數(shù)據(jù)寫入場景的分析需求,例如各種時序數(shù)據(jù)場景,天然存在時間窗口的概念,流式計算直接滿足其實時計算和歷史補償任務需求;

Lambda直接支持批處理,因此更適合對歷史數(shù)據(jù)有很多adhoc查詢的需求的場景,比如數(shù)據(jù)分析師需要按任意條件組合對歷史數(shù)據(jù)進行探索性的分析,并且有一定的實時性需求,期望盡快得到分析結果,批處理可以更直接高效地滿足這些需求。

Kappa+

Kappa+是Uber提出流式數(shù)據(jù)處理架構,它的核心思想是讓流計算框架直讀HDFS類的數(shù)倉數(shù)據(jù),一并實現(xiàn)實時計算和歷史數(shù)據(jù)backfill計算,不需要為backfill作業(yè)長期保存日志或者把數(shù)據(jù)拷貝回消息隊列。Kappa+將數(shù)據(jù)任務分為無狀態(tài)任務和時間窗口任務,無狀態(tài)任務比較簡單,根據(jù)吞吐速度合理并發(fā)掃描全量數(shù)據(jù)即可,時間窗口任務的原理是將數(shù)倉數(shù)據(jù)按照時間粒度進行分區(qū)存儲,窗口任務按時間序一次計算一個partition的數(shù)據(jù),partition內亂序并發(fā),所有分區(qū)文件全部讀取完畢后,所有source才進入下個partition消費并更新watermark。事實上,Uber開發(fā)了Apachehudi框架來存儲數(shù)倉數(shù)據(jù),hudi支持更新、刪除已有parquet數(shù)據(jù),也支持增量消費數(shù)據(jù)更新部分,從而系統(tǒng)性解決了問題2存儲的問題。下圖3是完整的Uber大數(shù)據(jù)處理平臺,其中Hadoop->Spark->Analyticaldatauser涵蓋了Kappa+數(shù)據(jù)處理架構。


圖3Uber圍繞Hadoopdataset的大數(shù)據(jù)架構

混合分析系統(tǒng)的Kappa架構

Lambda和Kappa架構都還有展示層的困難點,結果視圖如何支持ad-hoc查詢分析,一個解決方案是在Kappa基礎上衍生數(shù)據(jù)分析流程,如下圖4,在基于使用Kafka+Flink構建Kappa流計算數(shù)據(jù)架構,針對Kappa架構分析能力不足的問題,再利用Kafka對接組合ElasticSearch實時分析引擎,部分彌補其數(shù)據(jù)分析能力。但是ElasticSearch也只適合對合理數(shù)據(jù)量級的熱數(shù)據(jù)進行索引,無法覆蓋所有批處理相關的分析需求,這種混合架構某種意義上屬于Kappa和Lambda間的折中方案。


圖4Kafka+Flink+ElasticSearch的混合分析系統(tǒng)

Lambdaplus:Tablestore+Blink流批一體處理框架

Lambdaplus是基于Tablestore和Blink打造的云上存在可以復用、簡化的大數(shù)據(jù)架構模式,架構方案全serverless即開即用,易搭建免運維。

表格存儲(Tablestore)是阿里云自研的NoSQL多模型數(shù)據(jù)庫,提供PB級結構化數(shù)據(jù)存儲、千萬TPS以及毫秒級延遲的服務能力,表格存儲提供了通道服務(TunnelService)支持用戶以按序、流式地方式消費寫入表格存儲的存量數(shù)據(jù)和實時數(shù)據(jù),同時表格存儲還提供了多元索引功能,支持用戶對結果視圖進行實時查詢和分析。

Blink是阿里云在ApacheFlink基礎上深度改進的實時計算平臺,Blink旨在將流處理和批處理統(tǒng)一,實現(xiàn)了全新的FlinkSQL技術棧,在功能上,Blink支持現(xiàn)在標準SQL幾乎所有的語法和語義,在性能上,Blink也比社區(qū)Flink更加強大。

在TableStore+Blink的云上Lambda架構中,用戶可以同時使用表格存儲作為masterdataset和batch&streamview,批處理引擎直讀表格存儲產(chǎn)生batchview,同時流計算引擎通過TunnelService流式處理實時數(shù)據(jù),持續(xù)生成streamview。


圖5Tablestore+Blink的Lambdaplus大數(shù)據(jù)架構

如上圖5,其具體組件分解:

Lambdabatch層:

Tablestore直接作為masterdataset,支持用戶直讀,配合Tablestore多元索引,用戶的線上服務直讀、ad-hoc查詢masterdataset并將結果返回給用戶;Blink批處理任務向Tablestore下推SQL的查詢條件,直讀Tablestoremasterdataset,計算batchview,并將batchview重新寫回Tablestore;

Streaming層:

Blink流處理任務通過表格存儲TunnelServiceAPI直讀masterdataset中的實時數(shù)據(jù),持續(xù)產(chǎn)生streamview;Kappa架構的backfill任務,可以通過建立全量類型數(shù)據(jù)通道,流式消費masterdataset的存量數(shù)據(jù),從新計算;

Serving層:

為存儲batchview和streamview的Tablestore結果表建立全局二級索引和多元索引,業(yè)務可以低延遲、ad-hoc方式查詢;


圖6Lambdaplus的數(shù)據(jù)鏈路

針對上述Lambda架構1-4的技術問題,Lambdaplus的解決思路:

針對數(shù)據(jù)寫入的問題,Lambdaplus數(shù)據(jù)只需要寫入表格存儲,Blink流計算框架通過通道服務API直讀表格存儲的實時數(shù)據(jù),不需要用戶雙寫隊列或者自己實現(xiàn)數(shù)據(jù)同步;

存儲上,Lambdaplus直接使用表格存儲作為masterdataset,表格存儲支持用戶tp系統(tǒng)低延遲讀寫更新,同時也提供了索引功能ad-hoc查詢分析,數(shù)據(jù)利用率高,容量型表格存儲實例也可以保證數(shù)據(jù)存儲成本可控;

計算上,Lambdaplus利用Blink流批一體計算引擎,統(tǒng)一流批代碼;

展示層,表格存儲提供了多元索引和全局二級索引功能,用戶可以根據(jù)解決視圖的查詢需求和存儲體量,合理選擇索引方式。

總結,表格存儲實現(xiàn)了batchview、masterdataset直接查詢、streamview的功能全集,Blink實現(xiàn)流批統(tǒng)一,Tablestore加Blink的Lambdaplus模式可以明顯簡化Lambda架構的組件數(shù)量,降低搭建和運維難度,拓展用戶數(shù)據(jù)價值。

表格存儲是如何實現(xiàn)支持上述功能全集的

存儲引擎的高并發(fā)、低延遲特性:表格存儲面向在線業(yè)務提供高并發(fā)、低延遲的訪問,并且tps按分區(qū)水平擴展,可以有效支持批處理和Kappabackfill的高吞吐數(shù)據(jù)掃描和流計算按分區(qū)粒度并發(fā)實時處理;

使用通道服務精簡架構:Tablestore數(shù)據(jù)通道支持用戶以按序、流式地方式消費寫入表格存儲的存量數(shù)據(jù)和實時數(shù)據(jù),避免Lambda架構引入消息隊列系統(tǒng)以及masterdataset和隊列的數(shù)據(jù)一致性問題;

二級索引和多元索引的靈活查詢能力:存儲在表格存儲的batchview和real-timeview可以使用多元索引和二級索引實現(xiàn)ad-hoc查詢,使用多元索引進行聚合分析計算;同時展示層也可以利用二級索引和多元索引直接查詢表格存儲masterdataset,不強依賴引擎計算結果。

Lambdaplus的適用場景

基于Tablestore和Blink的Lambdaplus架構,適用于基于分布式NoSQL數(shù)據(jù)庫存儲數(shù)據(jù)的大數(shù)據(jù)分析場景,如IOT、時序數(shù)據(jù)、爬蟲數(shù)據(jù)、用戶行為日志數(shù)據(jù)存儲等,數(shù)據(jù)量以TB級為主。典型的業(yè)務場景如:

大數(shù)據(jù)輿情分析系統(tǒng):


以上就是關于千鋒扣丁學堂大數(shù)據(jù)培訓之大數(shù)據(jù)分析場景需要解決哪些技術挑戰(zhàn)的全部內容,想要了解更多關于大數(shù)據(jù)開發(fā)方面內容的小伙伴,請關注扣丁學堂大數(shù)據(jù)培訓官網(wǎng)、微信等平臺,扣丁學堂IT職業(yè)在線學習教育有專業(yè)的大數(shù)據(jù)講師為您指導,此外扣丁學堂老師精心推出的大數(shù)據(jù)視頻教程定能讓你快速掌握大數(shù)據(jù)從入門到精通開發(fā)實戰(zhàn)技能??鄱W堂大數(shù)據(jù)學習群:209080834。


扣丁學堂微信公眾號                          Python全棧開發(fā)爬蟲人工智能機器學習數(shù)據(jù)分析免費公開課直播間


      【關注微信公眾號獲取更多學習資料】         【掃碼進入Python全棧開發(fā)免費公開課】



查看更多關于“大數(shù)據(jù)培訓資訊”的相關文章>

標簽: 大數(shù)據(jù)培訓 大數(shù)據(jù)視頻教程 大數(shù)據(jù)分析培訓 大數(shù)據(jù)學習視頻 Hadoop生態(tài)圈 數(shù)據(jù)結構 算法

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部