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