精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Hive提高查詢效率的八條軍規

大數據
一個簡單的查詢語句,是指一個沒有函數、排序等功能的語句,當開啟一個Fetch Task功能,就執行一個簡單的查詢語句不會生成MapRreduce作業,而是直接使用FetchTask,從hdfs文件系統中進行查詢輸出數據,從而提高效率。

 

[[423380]]

大家好,我是一哥,今天分享一下Hive如何提升查詢效率。Hive作為最常用的數倉計算引擎,是我們必備的技能,但是很多人只是會寫Hql,并不會優化,也不知道如何提升查詢效率,今天分享8條軍規:

我是一哥,現任某500強大數據分析負責人,在這里和大家分享大數據實踐的那些事,個人專注數據倉庫架構,數據分析,MPP數據庫研究、流處理計算等領域~

1、開啟FetchTask

一個簡單的查詢語句,是指一個沒有函數、排序等功能的語句,當開啟一個Fetch Task功能,就執行一個簡單的查詢語句不會生成MapRreduce作業,而是直接使用FetchTask,從hdfs文件系統中進行查詢輸出數據,從而提高效率。

設置的方式:

  1. Hive.fetch.task.conversion 默認為minimal 
  2.   
  3. 修改配置文件hive-site.xml 
  4. <property> 
  5.   <name>hive.fetch.task.conversion</name
  6.   <value>more</value> 
  7.   <description> 
  8.     Some select queries can be converted to single FETCH task  
  9.     minimizing latency.Currently the query should be single  
  10.     sourced not having any subquery and should not have 
  11.     any aggregations or distincts (which incurrs RS),  
  12.     lateral views and joins. 
  13.     1. minimal : SELECT STAR, FILTER on partition columns, LIMIT only 
  14.     2. more    : SELECT, FILTER, LIMIT only (+TABLESAMPLE, virtual columns) 
  15.   </description> 
  16. </property>  
  17.   
  18.   
  19. 或者當前session修改 
  20. hive> set hive.fetch.task.conversion=more; 
  21. 執行SELECT id, money FROM m limit 10; 不走mr 

2、合并中間表

一個日志文件中,每一行記錄,會有很多很多字段,四五十個字段很正常。實際分析中,常常使用少數幾個字段將原始的表中數據,依據業務需求提取出要分析的字段,數據放入到對應的業務表(子表)中,實際的業務針對業務表進行分析。

在實際中,我們會發現,有些業務處理,會有共同數據集用戶表、訂單表、商品表,三個表需要進行join的操作,join 會產生一個結果集,會有很多的業務是針對此jion結果集進行分析。

優化:將眾多的業務中相同的中間結果集,抽取到一個Hive中的表中去。

3、合理使用分區表

外部表、分區表,結合使用,采用多級分區。數據采用存儲格式(textfile、orcfile、parquet)或者數據壓縮(snappy)。

明細數據我們一般采用按天分區,對于特別大的表,可以采用子分區,每個分區其實對應到HDFS上就是一個目錄。數據存儲方式我們可以采用parquet列式存儲,同時具有很好的壓縮性能;同時可以減少大量的表掃描和反序列化的時間。在OLAP查詢場景下,我們選擇需要的列信息進行查詢,而不是直接select * 查詢所有字段。

4、jvm重用

JVM重用是hadoop調優參數的內容,對hive的性能具有非常大的影響,特別是對于很難避免小文件的場景或者task特別多的場景,這類場景大多數執行時間都很短。hadoop默認配置是使用派生JVM來執行map和reduce任務的,這是jvm的啟動過程可能會造成相當大的開銷,尤其是執行的job包含有成千上萬個task任務的情況。JVM重用可以使得JVM實例在同一個JOB中重新使用N次,N的值可以在Hadoop的mapre-site.xml文件中進行設置

  1. mapred.job.reuse.jvm.num.tasks 1 

也可在hive的執行設置:

  1. set mapred.job.reuse.jvm.num.tasks = 10; 

JVM的一個缺點是,開啟JVM重用將會一直占用使用到的task插槽,以便進行重用,直到任務完成后才能釋放。如果某個“不平衡“的job中有幾個reduce task 執行的時間要比其他reduce task消耗的時間多得多的話,那么保留的插槽就會一直空閑著卻無法被其他的job使用,直到所有的task都結束了才會釋放。

5、speculative execution(推測執行)

所謂的推測執行,就是當所有task都開始運行之后,Job Tracker會統計所有任務的平均進度,如果某個task所在的task node機器配置比較低或者CPU load很高(原因很多),導致任務執行比總體任務的平均執行要慢,此時Job Tracker會啟動一個新的任務(duplicate task),原有任務和新任務哪個先執行完就把另外一個kill掉。

推測執行需要設置Job的兩個參數:

  1. mapred.map.tasks.speculative.execution=true 
  2. mapred.reduce.tasks.speculative.execution=true 

6、合理設置reduce個數

reduce個數

參數1:

  1. hive.exec.reducers.bytes.per.reducer=256000000 //每個reduce任務處理的數據量 

參數2:

  1. hive.exec.reducers.max=1009 //每個任務最大的reduce數目 

計算公式:reducer個數=min(參數2,總輸入數據量/參數1)

set mapred.reduce.tasks =N:

每個任務默認的reduce數目。典型為0.99* reduce槽數,hive默認為-1,即自動確定reduce數目。

reduce個數并不是越多越好

同map一樣,啟動和初始化reduce也會消耗時間和資源;另外,有多少個reduce,就會有多少個輸出文件,如果生成了很多個小文件,那么如果這些小文件作為下一個任務的輸入,則也會出現小文件過多的問題。小文件過多會非常影響查詢效率,文件越多造成的IO就越多,同時還會增加元數據(namenode)的壓力。在生產環境中,一定要避免小文件問題,如果核查發現,及時合并文件!!

7、開啟并行執行

并行執行,意思是同步執行hive的多個階段,hive在執行過程,將一個查詢轉化成一個或者多個階段。某個特定的job可能包含眾多的階段,而這些階段可能并非完全相互依賴的,也就是說可以并行執行的,這樣可能使得整個job的執行時間縮短

  1. hive.exec.parallel.thread.number    8//job并行執行的數目,一個SQL語句可能有很多mapreduce任務,限制 
  2. hive.exec.parallel  false 

hive執行開啟:

  1. set hive.exec.parallel=true 

8、優化sql

  • where條件優化

優化前(關系數據庫不用考慮會自動優化):

  1. select m.cid,u.id from order m join customer u on( m.cid =u.id )where m.dt='20180808'

優化后(where條件在map端執行而不是在reduce端執行):

  1. select m.cid,u.id from (select * from order where dt='20180818') m join customer u on( m.cid =u.id); 
  • union優化

盡量不要使用union (union 去掉重復的記錄)而是使用 union all 然后在用group by 去重

  • count distinct優化

不要使用count (distinct cloumn) ,使用子查詢。

  1. select count(1) from (select id from tablename group by id) tmp; 
  • 用in 來代替join

如果需要根據一個表的字段來約束另為一個表,盡量用in來代替join 。

  1. select id,name from tb1 a join tb2 b on(a.id = b.id); 
  2.  
  3. select id,name from tb1 where id in(select id from tb2); 

in 要比join 快

  • 消滅子查詢內的 group by 、 COUNT(DISTINCT),MAX,MIN。可以減少job的數量。
  • join 優化:

Common/shuffle/Reduce JOIN:連接發生的階段,發生在reduce 階段,適用于大表連接大表(默認的方式)

Map join :連接發生在map階段,適用于小表連接大表 大表的數據從文件中讀取;小表的數據存放在內存中(hive中已經自動進行了優化,自動判斷小表,然后進行緩存)。

  1. set hive.auto.convert.join=true

SMB join:Sort -Merge -Bucket Join 對大表連接大表的優化,用桶表的概念來進行優化。在一個桶內發送生笛卡爾積連接(需要是兩個桶表進行join)

  1. set hive.auto.convert.sortmerge.join=true
  2.  
  3. set hive.optimize.bucketmapjoin = true
  4.  
  5. set hive.optimize.bucketmapjoin.sortedmerge = true
  6.  
  7. set hive.auto.convert.sortmerge.join.noconditionaltask=true

 

責任編輯:武曉燕 來源: 數據社
相關推薦

2016-09-18 16:24:26

物聯網網絡安全

2011-05-18 15:40:52

MySQL

2019-03-25 20:40:51

微服務IT開發

2010-08-30 09:37:48

2012-06-01 11:13:58

應用推廣八條黃金法則

2011-05-06 15:34:02

打印機word

2009-01-19 15:34:38

數據倉庫基本準則IDC

2022-02-11 09:45:54

IT人才IT組織

2022-02-14 00:16:17

數據安全云安全

2011-03-07 14:39:12

數據倉庫

2022-04-08 10:00:00

DevOps運維開發

2009-07-08 11:11:23

JVM

2023-10-15 16:42:51

2022-02-08 14:33:22

安全網絡安全身份驗證

2009-12-18 14:08:38

2025-03-05 09:00:00

2023-06-07 15:32:22

2021-12-21 08:00:00

Kubernetes集群容器

2013-08-21 14:25:53

App推廣應用推廣黃金法則移動應用市場

2024-05-24 08:21:20

點贊
收藏

51CTO技術棧公眾號

日韩国产高清视频在线| 亚洲在线国产日韩欧美| 黑人巨大精品欧美一区二区免费| 国产精品视频色| 天海翼在线视频| 国产精品一区二区日韩| 99视频精品在线| 国产精品日韩专区| 免费网站看av| 亚洲精华一区二区三区| 欧美久久久久久蜜桃| 欧美视频日韩视频| 欧美大片在线影院| 国产男男chinese网站| 日韩三区在线| 一区二区激情小说| 日本一区二区在线视频| 精品国产伦一区二区三区| 国产视频一区欧美| 久久久av网站| av中文字幕免费观看| 日韩精品视频在线看| 色综合天天性综合| 久久人人爽人人爽人人av| 国产日本在线| 成人丝袜视频网| 国产专区欧美专区| 毛片毛片女人毛片毛片| 亚洲欧美亚洲| 色妞色视频一区二区三区四区| 亚洲黄色小说在线观看| 激情亚洲小说| 欧美性xxxx极品hd满灌| 欧美中文字幕在线观看视频| 成年人在线视频| 99国内精品久久| 超碰97在线资源| 国产又爽又黄免费软件| 免播放器亚洲| 国内外成人免费激情在线视频| 亚洲视频重口味| 国产日产精品_国产精品毛片| 亚洲精品在线免费播放| 日批视频在线看| 日韩成人一区| 欧美性感一区二区三区| 成人在线观看a| 欧美激情20| 亚洲成人免费视频| 免费在线精品视频| 日本在线免费播放| 中文字幕乱码久久午夜不卡| 欧美日韩一区二区视频在线 | 国产一区二区三区四区老人| 色噜噜狠狠狠综合曰曰曰88av | 亚洲av无码乱码在线观看性色| 久久精品国产精品亚洲精品| 国产精品人人做人人爽| 日韩黄色片网站| 久久在线精品| 日韩免费高清在线观看| www.国产毛片| 天堂va蜜桃一区二区三区| 欧美一区第一页| 久久国产黄色片| 免播放器亚洲| 国产精品一二三视频| 在线观看免费视频a| 久久99久久精品| 成人亚洲综合色就1024| 99热这里只有精品在线观看| 国产酒店精品激情| 成人xxxxx色| 亚州男人的天堂| 久久精品人人做人人爽人人| 免费国产一区二区| 超碰日本道色综合久久综合| 中文字幕自拍vr一区二区三区| 51自拍视频在线观看| 成人在线精品| 精品日韩一区二区三区免费视频| 性农村xxxxx小树林| 国产乱人伦丫前精品视频| 婷婷久久综合九色综合绿巨人 | 欧美熟妇精品一区二区蜜桃视频| 精品国产影院| 亚洲视频专区在线| 色偷偷www8888| 亚洲视频狠狠| 日本不卡视频在线播放| 在线观看免费高清视频| 国产精品影音先锋| 国产一区二区免费在线观看| 国产对白叫床清晰在线播放| 综合欧美一区二区三区| 少妇高潮喷水在线观看| 99蜜月精品久久91| 精品人伦一区二区色婷婷| 玖玖爱在线观看| 国产精品国产三级国产在线观看| 久久久最新网址| 国产三级理论片| 国产成人8x视频一区二区| 欧美色图亚洲自拍| 怡红院av在线| 91国偷自产一区二区使用方法| 亚洲一级免费观看| 国产精品三p一区二区| 在线日韩第一页| 国产性一乱一性一伧一色| 老司机午夜免费精品视频| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲精品成人无码毛片| 国产精品一区2区3区| 美日韩在线视频| 337p粉嫩色噜噜噜大肥臀| 国产成人精品亚洲777人妖| 日本一区免费看| 九色91在线| 欧美日韩国产片| 日韩av一二区| 欧美午夜不卡| 成人黄色在线播放| 国产高清视频免费最新在线| 亚洲午夜精品网| 欧洲美女亚洲激情| 欧美在线电影| 日本伊人精品一区二区三区介绍| 国产草草影院ccyycom| 国产欧美综合在线观看第十页| 国产精品一线二线三线| 久久9999免费视频| 色综久久综合桃花网| 国产一级淫片a视频免费观看| 成人免费高清在线| 日韩中文字幕亚洲精品欧美| xxxxx.日韩| 亚洲人成网在线播放| 免费在线观看黄网站| 国产精品一区二区你懂的| 亚洲韩国在线| 成人黄色免费短视频| 日韩精品高清视频| 日韩av综合在线| 国产不卡一区视频| 成人在线免费高清视频| 亚洲精品一区av| 色小说视频一区| 中文字幕乱码人妻二区三区| 国产性做久久久久久| 黑森林福利视频导航| 国产精品白丝av嫩草影院| 色妞在线综合亚洲欧美| 怡红院男人天堂| 国产精品乱子久久久久| 手机看片福利日韩| 奇米影视亚洲| 国产日韩精品综合网站| 美女写真理伦片在线看| 欧美精品777| xxxx日本少妇| 国产成人在线看| 天堂…中文在线最新版在线| 欧美调教在线| 国产精品27p| 97人人在线| 在线综合亚洲欧美在线视频| 青草影院在线观看| 国产成+人+日韩+欧美+亚洲 | 久久精品动漫| 日韩欧美在线观看强乱免费| 国产毛片精品久久| 麻豆乱码国产一区二区三区| www日本高清视频| 午夜精品久久久久久久99樱桃| 国产精品九九九九九| 人人超碰91尤物精品国产| 亚洲最新免费视频| 波多野结衣一区二区三区免费视频| 国精产品一区一区三区有限在线| 五月天福利视频| 欧美吞精做爰啪啪高潮| 欧美爱爱小视频| 99久久精品国产毛片| 国产一二三四在线视频| 永久亚洲成a人片777777| 国产精品视频500部| 欧洲精品一区二区三区| 久久精品国产电影| 五月婷婷六月色| 欧美年轻男男videosbes| 久久精品亚洲无码| 中文字幕av一区二区三区高| 制服下的诱惑暮生| 午夜在线一区二区| 好色先生视频污| 综合伊思人在钱三区| 成人xxxx视频| 2022成人影院| 九九九久久久久久| 免费在线毛片| 欧美va亚洲va在线观看蝴蝶网| 午夜精品一区二| 亚洲综合一二区| 黄色激情小视频| 99视频热这里只有精品免费| 久久男人资源站| 伊人成综合网yiren22| 国产日本欧美一区二区三区在线 | 亚洲va欧美va| 欧美无砖砖区免费| 九九免费精品视频| 国产日韩欧美a| 在线观看视频你懂得| 日韩精品1区2区3区| 成人区一区二区| 波多野结衣在线播放一区| 99在线视频播放| 最新亚洲国产| 日韩av电影手机在线| 国产午夜精品久久久久免费视| 欧美日韩成人激情| 国产一级一级国产| 亚洲国产视频一区| 一本色道久久88| 久久久久久亚洲综合| 黄色国产在线视频| 久久97超碰国产精品超碰| 欧美黄色免费影院| 亚洲另类视频| 国产一级片91| 国产精品伦理久久久久久| 精品乱色一区二区中文字幕| 综合激情久久| 成人免费视频a| 中文字幕系列一区| 国产成人亚洲综合91精品| 久久av色综合| 久久久999成人| 日韩伦理在线观看| xxx一区二区| 成人三级黄色免费网站| 亚洲国产精品美女| 刘亦菲久久免费一区二区| 欧美男男青年gay1069videost | 99精品视频免费观看| 中文字幕av导航| 久久久久亚洲| 亚洲一区二区三区午夜| 秋霞欧美视频| 日韩视频在线观看视频| 日本一区二区在线看| 欧美一区2区三区4区公司二百| 欧美巨大xxxx| 欧美日韩精品久久| 蜜臀av免费一区二区三区| 久久国产精品免费一区| 台湾色综合娱乐中文网| 国产亚洲精品美女久久久m| 9l亚洲国产成人精品一区二三| 亚洲一区二区三区香蕉 | 欧美日韩国产欧| 蜜臀精品一区二区| 伊人精品在线| 日韩精品视频在线观看视频| 亚洲激情中文在线| 做爰高潮hd色即是空| 久久久久久久久99精品大| 宅男一区二区三区| 欧美影视一区| 99在线免费视频观看| 亚洲高清成人| 日韩一级片播放| 看片网站欧美日韩| 日本精品一区在线| 狠狠久久亚洲欧美| 黑人玩弄人妻一区二区三区| av电影在线观看完整版一区二区| 亚洲自拍偷拍精品| 久久久精品影视| www.黄色com| 亚洲欧美偷拍另类a∨色屁股| 一级片一级片一级片| 亚洲第一成人在线| 在线观看日本视频| 在线观看91视频| 亚洲av无码国产精品久久不卡| 精品不卡在线视频| 免费一级在线观看| 色妞一区二区三区| 免费污视频在线| 国产mv久久久| 亚洲伦理网站| 欧美在线一二三区| 欧美hd在线| 每日在线观看av| 日本欧美一区二区三区| 人妻少妇偷人精品久久久任期| 成人av免费观看| 在线日韩国产网站| 精品久久久久久国产91| 日韩精品一区不卡| 精品福利一区二区三区免费视频| 欧美女优在线| 久久综合伊人77777尤物| 黄网站免费在线观看| 欧美中在线观看| 蜜桃精品视频| 麻豆视频成人| 国产精品99一区二区| 青青青国产在线视频| 懂色av一区二区在线播放| 羞羞在线观看视频| 亚洲成人一区在线| 92久久精品一区二区| 亚洲日韩欧美视频| 色爱综合区网| 国产精品久久久久久久久久99| 另类图片第一页| 黄瓜视频免费观看在线观看www| 亚洲黄色成人| 6080国产精品| 国产欧美综合在线观看第十页| 免费在线视频观看| 欧美巨大另类极品videosbest | 亚洲黄色www网站| 免费网站免费进入在线| 国产精品久久久久久av福利| 卡通动漫国产精品| 青青草影院在线观看| 久久99热这里只有精品| 国产精品毛片一区二区| 亚洲在线视频免费观看| 99久久99久久久精品棕色圆| 亚洲免费高清视频| 国产探花在线观看| 超碰国产精品久久国产精品99| 国产高清一区二区| 激情内射人妻1区2区3区| 久久久无码精品亚洲日韩按摩| 国产亚洲欧美久久久久| 911精品国产一区二区在线| 日韩黄色影院| 国产精品老女人精品视频| 日本中文字幕在线一区| 亚洲午夜精品久久久久久人妖| 国产69精品久久99不卡| 欧美三级日本三级| 日韩视频在线你懂得| 黄视频在线观看网站| 国产日韩精品在线播放| 综合av在线| 一区二区久久精品| 亚洲三级在线播放| 性网爆门事件集合av| 久久的精品视频| 97欧美成人| 亚洲欧美日韩不卡| 极品少妇一区二区| 欧美在线视频第一页| 制服丝袜一区二区三区| 日本在线视频站| 国产91精品一区二区绿帽| 欧美日韩 国产精品| 俄罗斯女人裸体性做爰| 亚洲国产精品天堂| 十八禁一区二区三区| 欧美激情亚洲综合一区| 蜜桃久久久久| 少妇性饥渴无码a区免费| 成人avav影音| 91丝袜一区二区三区| 伊人伊人伊人久久| 日韩一区二区三区免费视频| 午夜精品电影在线观看| 奇米色一区二区| 午夜剧场免费在线观看| 日韩一区二区精品葵司在线 | 亚洲黄色小视频| 狠狠躁夜夜躁av无码中文幕| 91chinesevideo永久地址| 精品一区二区三区在线| 狠狠操狠狠干视频| 亚洲综合色网站| 四虎影院在线播放| 国产精品久久久久久av下载红粉| 欧美日本不卡高清| 成年人在线观看av| 欧美男男青年gay1069videost | 91蝌蚪porny| 成人免费视频国产免费| 精品激情国产视频| 粉嫩精品导航导航| 欧美一级裸体视频| 亚洲青青青在线视频| 日本亚洲欧美| 成人羞羞国产免费| 亚洲综合激情| 欧美日韩人妻精品一区二区三区| 亚洲精品国产电影|