SQL on Hadoop的最新進(jìn)展及7項(xiàng)相關(guān)技術(shù)分享
內(nèi)存中,然后再判斷哪些是符合查詢需求的。在ORCFile中數(shù)據(jù)以Stripe為單元讀取到內(nèi)存,那么ORCFile的RecordReader會(huì)根據(jù)Stripe的元數(shù)據(jù)(Index Data,常駐內(nèi)存)判斷該Stripe是否滿足這個(gè)查詢的需求,如果不滿足直接略過(guò)不讀,從而節(jié)省了IO。
通過(guò)對(duì)ORCFile的上述分析,我想大家已經(jīng)看到了brighthouse的影子了吧。都是把列數(shù)據(jù)相應(yīng)的索引、統(tǒng)計(jì)數(shù)據(jù)、詞典等放到內(nèi)存中參與查詢條件的過(guò)濾,如果不符合直接略過(guò)不讀,大量節(jié)省IO。
4. HiveServer2的Security和Concurrency特性
HiveServer2能夠支持并發(fā)客戶端(JDBC/ODBC)的訪問(wèn)。
Cloudera還搞了個(gè)Sentry用于Hadoop生態(tài)系統(tǒng)的的安全性和授權(quán)管理方面的工作。這兩個(gè)特點(diǎn)是企業(yè)級(jí)應(yīng)用Hadoop/Hive主要關(guān)心的。
5. HCatalog Hadoop的統(tǒng)一元數(shù)據(jù)管理平臺(tái)
目前Hive存儲(chǔ)的表格元數(shù)據(jù)和HDFS存儲(chǔ)的表格數(shù)據(jù)之間在schema上沒有一致性保證,也就是得靠管理員來(lái)保證。目前Hive對(duì)列的改變只會(huì)修改 Hive 的元數(shù)據(jù),而不會(huì)改變實(shí)際數(shù)據(jù)。比如你要添加一個(gè)column,那么你用Hive命令行只是修改了了Hive元數(shù)據(jù),沒有修改HDFS上存儲(chǔ)的格式。還得通過(guò)修改導(dǎo)入HDFS的程序來(lái)改變HDFS上存儲(chǔ)的文件的格式。Hadoop系統(tǒng)目前對(duì)表的處理是’schema on read’,有了HCatlog就可以做到EDW的’schema on write’。
6. Windowing and Analytics Functions的支持。
Tez/Stinger
Tez是一種新的基于YARN的DAG計(jì)算模型,主要是為了優(yōu)化Hive而設(shè)計(jì)的。目前Tez/Stinger主要是Hortonworks在搞,他們希望以后把Hive SQL解析成能夠在Tez上跑的DAG而不是MapReduce,從而解決計(jì)算實(shí)時(shí)性的問(wèn)題。Tez的主要特點(diǎn)有:
·底層執(zhí)行引擎不再使用MR,而是使用基于YARN的更加通用的DAG執(zhí)行引擎
·MR是高度抽象的Map和Reduce兩個(gè)操作,而Tez則是在這兩個(gè)操作的基礎(chǔ)上提供了更豐富的接口。把Map具體到Input、Processor、 Sort、Merge、Output,而Reduce也具體化成Input、Shuffle、Sort、Merge、Processor、 Output。其實(shí)這個(gè)跟Spark有點(diǎn)類似了,都是提供更豐富的可操作單元給用戶。
·傳統(tǒng)的Reduce只能輸出到HDFS,而Tez的Reduce Processor能夠輸出給下一個(gè)Reduce Processor作為輸入。
·Hot table也放到內(nèi)存中cache起來(lái)
·Tez service:預(yù)啟動(dòng)container和container重用,降低了每次Query執(zhí)行計(jì)劃生成之后Task啟動(dòng)的時(shí)間,從而提高實(shí)時(shí)性。
·Tez本身只是YARN框架下得一個(gè)library,無(wú)需部署。只需指定mapreduce.framework.name=yarn-tez
·Tez/Stinger還有一個(gè)最重要的feature : Vectorized Query __execution ( 該feature在HDP 2.0 GA中會(huì)提供)。
目前Hive中一行一行的處理數(shù)據(jù),然后調(diào)用lazy deserialization解析出該列的Java對(duì)象,顯然會(huì)嚴(yán)重影響效率。Vectorized Query __execution把多行數(shù)據(jù)同時(shí)讀取并處理(基本的比較或者數(shù)值計(jì)算),降低了函數(shù)調(diào)用的次數(shù),提高了CPU利用率和cache命中率。
Hive->Tez/Stinger未來(lái)工作的主要方向:Cost-based optimizer,基于統(tǒng)計(jì)選擇執(zhí)行策略,例如多表JOIN時(shí)按照怎樣的順序執(zhí)行效率最高。統(tǒng)計(jì)執(zhí)行過(guò)程中每個(gè)中間表的Row/Column等數(shù)目,從而決定啟動(dòng)多少個(gè)MR執(zhí)行。

責(zé)任編輯:廖生玨
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計(jì) -
中國(guó)自主研制的“人造太陽(yáng)”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng)
-
新基建助推 數(shù)據(jù)中心建設(shè)將迎爆發(fā)期
2020-06-16數(shù)據(jù)中心,能源互聯(lián)網(wǎng),電力新基建 -
泛在電力物聯(lián)網(wǎng)建設(shè)下看電網(wǎng)企業(yè)數(shù)據(jù)變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網(wǎng) -
泛在電力物聯(lián)網(wǎng)建設(shè)典型實(shí)踐案例
2019-10-15泛在電力物聯(lián)網(wǎng)案例
-
新基建之充電樁“火”了 想進(jìn)這個(gè)行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎(chǔ)設(shè)施,電力新基建 -
燃料電池汽車駛?cè)雽こ0傩占疫€要多久?
-
備戰(zhàn)全面電動(dòng)化 多部委及央企“定調(diào)”充電樁配套節(jié)奏
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計(jì) -
中國(guó)自主研制的“人造太陽(yáng)”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長(zhǎng)期助力儲(chǔ)能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng) -
5G新基建助力智能電網(wǎng)發(fā)展
2020-06-125G,智能電網(wǎng),配電網(wǎng) -
從智能電網(wǎng)到智能城市
-
山西省首座電力與通信共享電力鐵塔試點(diǎn)成功
-
中國(guó)電建公司公共資源交易服務(wù)平臺(tái)摘得電力創(chuàng)新大獎(jiǎng)
-
電力系統(tǒng)對(duì)UPS的技術(shù)要求