自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Apache Kylin發(fā)布新版流處理引擎

大數(shù)據(jù)
新版流式構(gòu)建是在Kylin v1.5的"可插拔 "架構(gòu)下的一個完美實現(xiàn)︰ 將Kafka主題視為一種數(shù)據(jù)源,實現(xiàn)相應(yīng)的適配器,將數(shù)據(jù)先抽取、轉(zhuǎn)換和保存到 HDFS,接下來使用各種Kylin的構(gòu)建引擎(MR/Spark等)對數(shù)據(jù)進行并行計算 。

Apache Kylin在 1.5.0 推出了從流數(shù)據(jù)進行準實時(Near Real Time)處理功能,可以直接從Apache Kafka的主題(Topic)中消費數(shù)據(jù)來構(gòu)建Cube。Apache Kylin 1.5.0的流數(shù)據(jù)是一次實驗性的探索,它打破了以往只能從Apache Hive表構(gòu)建Cube的局限,將數(shù)據(jù)從產(chǎn)生到可查詢的延遲從小時級降低到了分鐘級,滿足了一些對實時性要求比較高的場景;但它在實現(xiàn)上存在一些局限︰

不可擴展︰ 由于是利用單個 Java 進程(而不是利用某種計算框架)對數(shù)據(jù)做處理,當遇到流數(shù)據(jù)高峰時,可能由于資源不足而導(dǎo)致構(gòu)建失敗;

可能會丟失數(shù)據(jù)︰ 由于使用一個起始時間+結(jié)束時間在Kafka隊列中使用二分查找近似地尋找消息的偏移量(offset),過早或過晚到達的消息將會被遺漏,從而使得查詢結(jié)果有誤差 ;

難以監(jiān)控︰ 用于構(gòu)建的任務(wù)是單獨通過shell腳本執(zhí)行的,而不是像其它Cube那樣由任務(wù)引擎統(tǒng)一調(diào)度和執(zhí)行,所以這些任務(wù)是在Web界面和REST API上都無法查詢到的,使得用戶無法方便地使用工具進行監(jiān)控和管理;

其它︰ 必須持續(xù)執(zhí)行,如果有系統(tǒng)宕機將會造成某些時間窗口的任務(wù)沒有被執(zhí)行,從而必須依靠管理員手動恢復(fù);如果宕機時間較長,管理員不得不將長時間窗口切成多個小時間窗口依次來恢復(fù),非常繁瑣 。

為了克服這些限制,Apache Kylin團隊基于Kafka 0.10的API,開發(fā)了新版的準實時流式處理,它已經(jīng)在內(nèi)部測試了一些時間,目前正在公開測試中。

新版流式構(gòu)建是在Kylin v1.5的"可插拔 "架構(gòu)下的一個***實現(xiàn)︰ 將Kafka主題視為一種數(shù)據(jù)源,實現(xiàn)相應(yīng)的適配器,將數(shù)據(jù)先抽取、轉(zhuǎn)換和保存到 HDFS,接下來使用各種Kylin的構(gòu)建引擎(MR/Spark等)對數(shù)據(jù)進行并行計算 。圖 1 是高層次的架構(gòu)圖。

Kylin的Kafka適配器參考了kafka-hadoop-loader的思路和部分代碼, 將Kafka主題抽象成Hadoop輸入文件格式(InputFileFormat),為主題的每個分區(qū)(partition)分配一個Mapper消費數(shù)據(jù); 之后Kylin將利用現(xiàn)有框架進行并行處理,從而使得方案變得可擴展且具有容錯性。

要解決"數(shù)據(jù)丟失"問題,Kylin將開始/結(jié)束消息的偏移量(offset)計入了每個Cube segment,并使用偏移量作為分區(qū)值 ,offset是順序遞增的且不能有重疊和遺漏(如果主題有多個分區(qū),使用各分區(qū)偏移量之和作分區(qū)值);這將確保沒有數(shù)據(jù)丟失,一個消息只會被消費一次。晚到達的消息會被稍后的segment統(tǒng)計進來;每個Segment 有"最早時間”和"最晚時間"; 當用戶按時間條件查詢時,Kylin將掃描與查詢時間范圍相匹配的所有段。圖 2解釋了這個設(shè)計。

上圖中有三個segment,它們的offset依次連續(xù)且無重疊(左包右閉),Seg[100-400]中的消息時間跨度是1:04 – 1:11,Seg[400 - 2000]的時間跨度是1:08 – 1:40;當用戶要查詢1:10的統(tǒng)計信息時,Kylin發(fā)現(xiàn)這兩個Segment都可能有這個時間的消息,故而會掃描這兩個Segment然后再次做匯總計算。

新版流計算引擎也進行其它一些更改和增強︰

允許同時構(gòu)建/合并多個segment,前后的構(gòu)建任務(wù)都是獨立的

自動從前一個segment或從Kafka尋找消息的開始及結(jié)束的offset

支持嵌入格式(結(jié)構(gòu)化)的JSON消息

增加了觸發(fā)流式構(gòu)建的REST API

增加了來檢查和部分填補segment空洞的REST API

內(nèi)部的集成測試結(jié)果初步驗證了當初的目標 ︰

可伸縮︰ 它能夠在一次構(gòu)建中輕松處理上億條消息;

靈活︰ 可以在任何時候,以你期望的頻率觸發(fā)構(gòu)建,例如︰ 在白天每隔 5 分鐘觸發(fā)一次, 在夜間將頻率降低到每個小時,在需要做的維護可以隨時暫停; 由于是Kylin管理所有主題的offset,再恢復(fù)時它可以自動從上一次的結(jié)束位置繼續(xù);

穩(wěn)定︰ 穩(wěn)定性大大提高,在上一版中經(jīng)常發(fā)生的OutOfMemory錯誤再沒有出現(xiàn)過;

易于管理︰ 用戶可通過Kylin的"Monitor"頁面或 REST API檢查所有構(gòu)建任務(wù)的狀態(tài);

構(gòu)建性能︰相比于前一版構(gòu)建時間略長(因為有Hadoop任務(wù)的調(diào)度),但延遲依然在可接受的分鐘級別。

在一個小規(guī)模的測試群集 (8臺 AWS實例,消費 Twitter Sample 消息流) 中,創(chuàng)建一個有9個 維度和3個度量的Cube,每秒約一萬條消息,當構(gòu)建間隔是 2 分鐘的時候,平均每次構(gòu)建需 3 分鐘; 當構(gòu)建間隔是 5 分鐘的時候,平均每次構(gòu)建需要 4 分鐘; 這里是幾個測試中的截圖 ︰

總結(jié),這是比前一版本相比更加健壯和完善的流數(shù)據(jù)OLAP 解決方案?,F(xiàn)在你可以從Apache Kylin的下載頁面下載到 1.6.0-SNAPSHOT 的二進制包,然后按照此教程生成***個流式Cube。

作者介紹:

史少鋒,Apache Kylin PMC 成員,核心開發(fā)人員之一,eBay高級軟件工程師,2014年加入eBay Kylin 團隊并轉(zhuǎn)向大數(shù)據(jù)分析領(lǐng)域,參與了Kylin一系列優(yōu)化和新功能的開發(fā),并致力為Kylin社區(qū)用戶提供支持和幫助。史少峰碩士畢業(yè)于上海交通大學(xué)計算機系,在IBM從事多年軟件全球化和云計算等方面的設(shè)計和開發(fā)。

責任編輯:武曉燕 來源: 網(wǎng)絡(luò)大數(shù)據(jù)
相關(guān)推薦

2022-05-26 21:38:02

開源分布式Hadoop

2011-12-14 09:58:58

JavajBPM

2017-09-06 16:49:43

KSQLKafka數(shù)據(jù)集

2017-06-29 14:10:35

NiFi數(shù)據(jù)數(shù)據(jù)源

2009-05-15 17:29:19

微軟托管服務(wù)引擎MSE

2012-01-05 10:26:26

JavaApache

2010-05-19 08:28:57

Traffic SerApache

2012-03-09 09:47:51

Apache CameJava

2023-08-16 11:43:57

數(shù)據(jù)引擎

2017-05-03 08:32:22

Apache KyliCube設(shè)置

2011-09-16 15:55:09

Java

2011-10-27 10:02:58

Apache Derb

2016-11-15 09:44:21

大數(shù)據(jù)批處理流處理

2012-05-18 16:55:34

JavaBonita

2017-01-15 14:27:32

大數(shù)據(jù)美團點評技術(shù)

2011-04-07 09:06:31

Tomcat

2011-09-27 09:17:17

WPS Office

2011-12-05 10:10:44

Ubuntu 12.0新版發(fā)布

2021-10-14 11:34:05

技術(shù)工作流引擎

2025-01-14 08:59:16

點贊
收藏

51CTO技術(shù)棧公眾號