自2011年下半年開始,我就1直關(guān)注Apache開源社區(qū),側(cè)重點放在大數(shù)據(jù)方面的成熟框架和產(chǎn)品。在這期間,陸續(xù)研究過Hadoop、Hive、HBase、Mahout、Kafka、Flume、Storm,和近兩年很火的Spark和Flink等,和很多從事大數(shù)據(jù)的朋友1樣,經(jīng)歷過無數(shù)的夜晚,對著電腦屏幕逐行研究這些源代碼,同時也看到無數(shù)的開源愛好者和技術(shù)專家加入Hadoop開源社區(qū),貢獻(xiàn)自己的氣力,日復(fù)1日,樂此不疲。
談起大數(shù)據(jù),不能不提Hadoop,如今其早已發(fā)展成了大數(shù)據(jù)處理的事實標(biāo)準(zhǔn)。Hadoop誕生于2005年,其遭到Google的兩篇論文(GFS和MapReduce)的啟發(fā)。起初,Hadoop只是用來支持Nutch搜索引擎的項目,從2006年開始,Hadoop脫離了Nutch,成了Apache的頂級項目,不管是在學(xué)術(shù)界還是工業(yè)界都得到了迅猛的發(fā)展。
如今已經(jīng)是2016年了,Hadoop10周歲了,這10年期間圍繞其核心組件(HDFS,MapReduce,Yarn)陸續(xù)出現(xiàn)了1批工具,用來豐富Hadoop生態(tài)圈,解決大數(shù)據(jù)各方面的問題,這其中就包括ApacheKylin。
ApacheKylin(麒麟)是由eBay研發(fā)并貢獻(xiàn)給開源社區(qū)的Hadoop上的散布式大范圍聯(lián)機分析(OLAP)平臺,它提供Hadoop之上的SQL查詢接口及多維分析能力以支持大范圍數(shù)據(jù),能夠處理TB乃至PB級別的分析任務(wù),能夠在亞秒級查詢巨大的Hive表,并支持高并發(fā)。ApacheKylin于2014年10月開源,并于當(dāng)年11月成為Apache孵化器項目,是eBay第1個貢獻(xiàn)給Apache軟件基金會的項目,也是第1個由中國團隊完全貢獻(xiàn)到Apache的項目,在這里對ApacheKylin的中國團隊表示感謝,感謝貢獻(xiàn)如此出色的大數(shù)據(jù)分析平臺。
從去年開始接觸Apache Kylin,我感覺很親切,也很欣喜。當(dāng)前研究的版本為0.7.1,也就是Kylin加入Apache孵化器項目后的第1個Apache發(fā)行版本,雖然當(dāng)時的Kylin存在1些問題,但是其基于Hadoop設(shè)計的框架還是很有創(chuàng)意和特點的。經(jīng)過1年多的發(fā)展,截至目前,ApacheKylin的版本已發(fā)展到1.5.3,并且從1.5版本開始,ApacheKylin進(jìn)行了重構(gòu),支持可擴大架構(gòu);支持更多的數(shù)據(jù)源,構(gòu)建引擎和存儲引擎;構(gòu)建算法不斷優(yōu)化;支持與更多的可視化工具集成等。
如今,Apache Kylin已被利用在eBay、Exponential、京東、美團、明略數(shù)據(jù)、網(wǎng)易及其他公司。愈來愈多的大數(shù)據(jù)團隊開始選擇ApacheKylin作為公司大數(shù)據(jù)分析平臺的組成部份,滿足其海量數(shù)據(jù)的多維指標(biāo)實時查詢分析。通過很多社區(qū)的交換分享,我發(fā)現(xiàn)很多朋友對ApacheKylin沒有1個整體的認(rèn)識,在使用進(jìn)程中出現(xiàn)各種各樣的問題,打擊自信心,他們急切希望能有1本全面介紹Apache Kylin的書籍。由于我常常在博客和社辨別享ApacheKylin實戰(zhàn)方面的1些經(jīng)驗,所以很多朋友鼓勵我能夠?qū)?本比較全面介紹Apache Kylin的書籍,幫助更多的愛好者更好地加入ApacheKylin的社區(qū),并在生產(chǎn)環(huán)境中進(jìn)行實踐。剛開始比較猶豫,畢竟寫書需要花費大量的時間和精力,而且要對讀者負(fù)責(zé),容不得半點馬虎。后來有社區(qū)的幾個朋友給我打電話勸說,和清華大學(xué)出版社的夏毓彥編輯1再鼓勵,還有家人的支持,我就下定決心寫這本書,目的只有1個,就是希望讀者能夠通過這本書,對ApacheKylin有1個完全的認(rèn)識,掌握各方面的技能,并終究利用在自己公司的生產(chǎn)環(huán)境中。
這是1本全面介紹Apache Kylin的書籍,包括環(huán)境搭建、案例實戰(zhàn)演示、源碼分析、Cube優(yōu)化等,另外還會觸及數(shù)據(jù)倉庫、數(shù)據(jù)模型、OLAP、數(shù)據(jù)立方體等方面的知識。通過本書系統(tǒng)性學(xué)習(xí)和實戰(zhàn)操作,朋友們將能夠到達(dá)基于Apache Kylin搭建企業(yè)級大數(shù)據(jù)分析平臺,并熟練掌握使用Apache Kylin多維度地分析海量數(shù)據(jù),終究通過可視化工具展現(xiàn)結(jié)果。
本書合適從事Hadoop、HBase、Hive和Kylin等方面工作的人員參考瀏覽,最好能掌握1點OLAP、數(shù)據(jù)立方體等數(shù)據(jù)倉庫方面的知識。但是我相信這本書也合適任何想從事大數(shù)據(jù)方面工作的程序員和架構(gòu)師。
本書中會觸及大量的Linux Shell命令,這些命令都是在CentOS操作系統(tǒng)上履行成功的,對其他的1些Linux系統(tǒng)也一樣適用,如有不適用的,可以查閱資料,修改命令以符合對應(yīng)的操作系統(tǒng)。
要下載本書章節(jié)中的樣例代碼,請到https://github.com/jiangshouzhuang/-Apache-Kylin-下載。
由于本人的寫作能力有限,可能有些章節(jié)內(nèi)容斟酌其實不全面,或版本升級致使某些章節(jié)部份內(nèi)容不是最新的。為了更好地為讀者服務(wù),我特地建立了1個QQ群:118152802,讀者有關(guān)本書的任何問題,我都會及時給朋友們答復(fù),謝謝支持。
這本書的面世,得到了很多朋友的大力相助,在這里感謝所有幫助我完成這本書的人。
感謝公司的同事們,特別感謝項同德和萬文兵兩位項目經(jīng)理給予的支持和鼓勵,感謝施健健給予的技術(shù)支持和幫助。
感謝CSDN和cnblogs博客中優(yōu)秀的文章給予的技術(shù)支持。
感謝清華大學(xué)出版社所有為本書的出版和發(fā)行付出了辛苦勞動的人們。
最后,我要感謝我的家人,給予我的不懈支持。感謝父母幫我們照顧調(diào)皮搗蛋的寶寶;感謝妻子1如既往地照顧我的生活,給予我充足的時間用來寫作。沒有家人的支持和照顧,我是不可能完成這本書。
自從書預(yù)售以來,陸陸續(xù)續(xù)有很多朋友加了QQ,微信或群,也抽時間幫助很多朋友解決Kylin使用方面的問題和探討如何更好地使用Kylin到實際的項目中。但是由于個人能力有限,還要全身心腸投入到工作中,所以對1些朋友提的問題可能不會很快的回復(fù),還請體諒。
最后非常感謝親愛的讀者和Kylin社區(qū)朋友的支持和鼓勵,希望朋友們多提出寶貴的意見和建議,再次表示感謝。