原創(chuàng)|行業(yè)資訊|編輯:陳俊吉|2016-08-16 09:26:24.000|閱讀 860 次
概述:在打開本文章前,或許您已經(jīng)產(chǎn)生疑問(wèn):BigInsights里包含了Big SQL 和Spark SQL,它們有何區(qū)別,而作為用戶又該如何選擇?
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
由于前期的文件已經(jīng)多次介紹了Big SQL的特點(diǎn)和工作機(jī)制,如《》,《BigSQL發(fā)動(dòng)機(jī)的結(jié)構(gòu)和工作原理》和《BigSQL讓HBase更易用》等,而Spark SQL在網(wǎng)上也有很多金喜正規(guī)買球相關(guān)的文章,所以,這兩個(gè)SQL on Hadoop引擎的功能特點(diǎn)在此不在細(xì)述。
兩種SQL引擎在一些數(shù)據(jù)處理的場(chǎng)景都是可以勝任和互換的。然而,Spark SQL目前還很不成熟,包括對(duì)SQL標(biāo)準(zhǔn)的支持、對(duì)數(shù)據(jù)訪問(wèn)的安全性控制(行級(jí)和列級(jí)的訪問(wèn)控制)和并發(fā)有待改進(jìn),而且它在處理數(shù)據(jù)時(shí)受內(nèi)存容量的限制。所以,在更多的場(chǎng)景中,Big SQL無(wú)論在功能上還是性能上才是最佳選擇。
鑒于Big SQL和Spark的流行性,企業(yè)想要部署和使用這兩種技術(shù)的期望是合理的。幸運(yùn)的是,Spark的應(yīng)用程序不難與Big SQL共享Big SQL表中的數(shù)據(jù)。這種可能得益于Big SQL的設(shè)計(jì),特別是它重用了Hive的HCatalog元數(shù)據(jù)管理并支持不同的Hadoop文件格式的存儲(chǔ)數(shù)據(jù)(而不是專有的格式)。這種方法使得Spark SQL非常容易地獲取Big SQL表的數(shù)據(jù)。
下面,我們看一個(gè)簡(jiǎn)單的例子,以說(shuō)明Spark SQL如何訪問(wèn)Big SQL的數(shù)據(jù)。
在BigInsights中,假設(shè)您已經(jīng)在Hive倉(cāng)庫(kù)或在DFS目錄中已經(jīng)創(chuàng)建了一個(gè)Big SQL表,現(xiàn)在您只需調(diào)用標(biāo)準(zhǔn)Spark SQL語(yǔ)句和表達(dá)式,以創(chuàng)建一個(gè)HiveContext并使用HiveQL語(yǔ)法查詢Big SQL表。一旦您把數(shù)據(jù)讀入到Spark,您就可以使用適當(dāng)?shù)腡ransformation和Action進(jìn)行數(shù)據(jù)處理。
這例子簡(jiǎn)單明了吧!
那么,Big SQL和Spark SQL之間如何選擇呢?看看下面這張圖就明白了:
對(duì)于很多場(chǎng)景,Spark SQL想做的事情,Big SQL可能一點(diǎn)興趣都沒(méi)有。例如,應(yīng)用場(chǎng)景是獲取數(shù)據(jù)用于機(jī)器學(xué)習(xí),或者是數(shù)據(jù)科學(xué)家從零開始編寫探索性的查詢,那Spark SQL是個(gè)相當(dāng)好的選擇,而且它利用內(nèi)存計(jì)算能過(guò)獲取很好的性能。
然而,如果您想從數(shù)據(jù)倉(cāng)庫(kù)Offload工作負(fù)載:其查詢,報(bào)表和應(yīng)用程序以最小的修改代價(jià)運(yùn)行在Hadoop上,那么對(duì)每個(gè)查詢都要維護(hù)兩個(gè)版本是不可接受的。對(duì)于生產(chǎn)環(huán)境,數(shù)據(jù)訪問(wèn)的安全性也是另一個(gè)非常重要的要求。還有,需要多用戶并發(fā)…這時(shí),Big SQL才是最佳答案。
所以,Big SQL和Spark SQL不是互斥的。您應(yīng)該同時(shí)使用Big SQL和Spark SQL解決不同的問(wèn)題。
詳情請(qǐng)咨詢!
客服熱線:023-66090381
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn