精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产乱码精品一区二区三区四区| 久久久久久久久久久97| 性欧美18~19sex高清播放| 99精品一区二区| va婷婷在线免费观看| 日本在线观看高清完整版| 美女在线一区二区| 欧美尺度大的性做爰视频| 性高潮久久久久久| 极品在线视频| 午夜精品久久99蜜桃的功能介绍| 2021久久国产精品不只是精品| 91av视频导航| 五月婷婷六月香| 一区二区三区欧洲区| 色婷婷亚洲婷婷| 亚洲国产午夜伦理片大全在线观看网站 | 欧美性猛交xxxx黑人猛交| 色噜噜狠狠色综合网| 精品久久久久久亚洲综合网站| 国产偷自视频区视频一区二区| 在线成人免费网站| 丰满岳乱妇一区二区| 国产成+人+综合+亚洲欧美| 亚洲综合色区另类av| 蜜桃欧美视频| 亚洲精品国产精| 日韩电影免费一区| 国产三级中文字幕| 国产黄色的视频| 性欧美xxxx免费岛国不卡电影| 欧美男女性生活在线直播观看| 色婷婷综合久色| 亚洲精品资源在线| 亚洲精品综合在线观看| 啦啦啦中文在线观看日本| 国产亚洲制服色| 国产乱码一区| 国产视频第二页| 日韩av网站免费在线| 性亚洲最疯狂xxxx高清| 疯狂试爱三2浴室激情视频| 欧美女优在线视频| 亚洲国内高清视频| 中文字幕第三区| 亚洲男人在线| 欧美日韩国产高清一区二区三区 | 这里只有精品视频在线观看| 欧美aⅴ在线观看| 99riav视频在线观看| 亚洲主播在线播放| 久久精品在线免费视频| 黄av在线免费观看| 亚洲人被黑人高潮完整版| 亚洲精品国产精品久久| 九色视频成人自拍| 2023国产精品| 日韩欧美电影一区二区| 黄色在线视频观看网站| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品一区在线观看| 污视频在线免费| 99久久精品免费精品国产| 久久99国产精品| 视频在线观看你懂的| 国产日韩精品一区二区三区在线| 欧美一级日本a级v片| 国产日本在线视频| 国产精品视频线看| 日韩不卡一二区| 青草视频在线免费直播 | 经典三级一区二区| 色婷婷精品久久二区二区蜜臀av | 原纱央莉成人av片| 日本精品一区二区三区高清| 日本中文字幕高清| 成人激情久久| 精品福利av导航| 添女人荫蒂视频| blacked蜜桃精品一区| 中文字幕精品久久久久| 青花影视在线观看免费高清| 欧美日一区二区在线观看 | 中文字幕第50页| 暖暖在线中文免费日本| 欧美性猛交视频| 久热精品在线播放| 国产91精品入| 亚洲人成网站免费播放| 成人在线观看高清| 亚洲国产电影| 国产精品观看在线亚洲人成网| 亚洲天堂中文网| 成人一区二区三区中文字幕| 欧美色欧美亚洲另类七区| 日本中文字幕在线观看| 午夜精品一区在线观看| 九九热在线免费| 日韩在线视频一区二区三区| 日韩成人av在线| 少妇愉情理伦三级| 亚洲欧美一区在线| 国产91在线播放| 国产www免费观看| 久久久国产一区二区三区四区小说 | 欧美电影《睫毛膏》| 欧美国产亚洲视频| 日本熟妇一区二区三区| 国产一区美女在线| 欧美三级电影在线播放| 黄色在线观看视频网站| 欧美色区777第一页| 大尺度在线观看| 久久福利影院| 日本最新高清不卡中文字幕| www.黄色av| 国产精品丝袜在线| 男人揉女人奶房视频60分| 精品一区二区三区在线观看视频| 亚洲精品国产精品国自产在线| 特黄一区二区三区| 久久精品导航| 国产欧美日韩伦理| a在线免费观看| 欧美中文字幕一区| 国产亚洲无码精品| 在线成人黄色| 91免费在线视频| 免费在线视频欧美| 欧美午夜精品一区二区三区| 久久偷拍免费视频| 国产精品地址| 成人信息集中地欧美| 国产三级在线免费观看| 欧美性猛交xxxx乱大交蜜桃| 国产在线不卡av| 欧美午夜电影在线观看 | 亚洲国产精品成人久久蜜臀| 国产精品欧美一级免费| 伊人成色综合网| 中文一区二区三区四区| 欧美日韩国产va另类| 国产精品视频在线观看免费 | 日韩精品亚洲精品| 日韩美女黄色片| 成人午夜看片网址| 日本黄大片在线观看| 91九色鹿精品国产综合久久香蕉| 在线观看日韩专区| 18国产免费视频| 久久亚洲捆绑美女| av动漫免费看| 精品美女久久| 国产区精品视频| 国产写真视频在线观看| 91麻豆精品久久久久蜜臀| 免费看91的网站| 蜜桃精品视频在线观看| 亚洲一区二区在线看| 在线免费成人| 欧美精品免费在线| 国精产品一品二品国精品69xx| 亚洲成人免费视| 男生裸体视频网站| 日韩极品在线观看| 亚洲人成77777| 精品中文在线| 69av视频在线播放| 国产私拍精品| 制服.丝袜.亚洲.中文.综合| 久久成人在线观看| 2023国产精品自拍| 天堂av在线8| 亚洲特色特黄| 蜜桃久久影院| 91亚洲精品在看在线观看高清| 欧美日韩成人黄色| 天天躁日日躁狠狠躁喷水| 日本久久一区二区| 国产乱国产乱老熟300| av电影天堂一区二区在线| 午夜dv内射一区二区| 亚洲电影影音先锋| 久99久视频| 日韩av黄色| 97久久精品人搡人人玩 | 欧美精品videos| 欧美美女色图| 欧美一级欧美一级在线播放| 好吊操这里只有精品| 中文成人av在线| 香蕉视频污视频| 蜜臀久久久99精品久久久久久| 欧美a级免费视频| 国产一区二区三区四区大秀| 91精品国产自产在线| 高潮在线视频| 日韩视频精品在线| 亚洲 精品 综合 精品 自拍| 欧美日韩视频在线观看一区二区三区 | 亚洲永久精品唐人导航网址| 国产中文字幕日韩| 在线看片福利| 欧美大肥婆大肥bbbbb| 国产永久免费高清在线观看视频| 欧美一区二区女人| 中文字幕免费视频观看| 亚洲va天堂va国产va久| 91动漫免费网站| 久久在线观看免费| 国产精品91av| 激情丁香综合五月| 亚洲成人av免费看| 亚洲在线黄色| 2018日日夜夜| 欧美日韩hd| 综合视频免费看| 深爱激情久久| 免费观看成人在线| 国产主播性色av福利精品一区| 国产中文欧美精品| 麻豆久久久久| 国产精品久久网| 欧美freesex| 97视频在线观看网址| 免费影视亚洲| 欧美激情啊啊啊| 午夜激情在线| 欧美成年人网站| 毛片在线看网站| 中文字幕日韩有码| 成人性爱视频在线观看| 亚洲人成电影在线播放| 婷婷亚洲一区二区三区| 亚洲国产精品人久久电影| 99热精品在线播放| 日韩一区二区三区免费观看| 中文字幕人妻丝袜乱一区三区 | 99国产精品久久久久久久成人| 欧美日韩综合在线| 波多野结衣视频观看| 色8久久人人97超碰香蕉987| 欧美日韩a v| 在线观看视频一区二区欧美日韩| 波多野结衣在线观看一区| 色婷婷综合久久久中文一区二区| 亚洲综合图片网| 欧美又粗又大又爽| 中文字幕av网站| 欧美日韩aaaaa| 国产露脸无套对白在线播放| 91精品国产美女浴室洗澡无遮挡| 99热在线只有精品| 亚洲精品在线一区二区| 少妇高潮一区二区三区69| 亚洲精品99999| 国产一级片在线播放| 中文字幕精品国产| 成人影欧美片| 欧美国产日本高清在线 | 91久久夜色精品国产九色| 搞av.com| 久久激情中文| 亚洲人视频在线| 国产精品白丝jk白祙喷水网站| 伊人影院在线观看视频| av在线播放不卡| 少妇精品无码一区二区免费视频| 国产精品天美传媒沈樵| 精品国产精品国产精品| 亚洲va在线va天堂| 欧美brazzers| 欧美一区二区三区四区高清 | 9999精品| 久久免费一区| 欧美mv日韩| 国产午夜福利100集发布| 午夜在线一区二区| 中文字幕在线观看日| 国产suv精品一区二区6| 黑人巨大精品欧美| 亚洲视频在线观看一区| 日韩xxxxxxxxx| 欧美日韩中文精品| 免费观看的毛片| 尤物精品国产第一福利三区| 91小视频xxxx网站在线| 青青在线视频一区二区三区| 日日夜夜亚洲| 久99久在线| 午夜国产精品视频| 能看的毛片网站| 国产98色在线|日韩| 免费视频91蜜桃| 亚洲国产精品综合小说图片区| 在线观看亚洲黄色| 亚洲福利精品在线| 欧洲不卡视频| 欧美中文在线观看| 日韩欧美一级| 色狠狠久久av五月综合|| 亚洲性视频h| 三级av免费观看| 91视视频在线直接观看在线看网页在线看 | 国产精品xxx在线观看| 亚洲一区高清| 久久狠狠婷婷| 先锋资源av在线| 亚洲免费在线视频一区 二区| 国产字幕在线观看| 日韩精品免费在线视频观看| 综合图区亚洲| 国产在线播放不卡| 极品美女一区二区三区| 欧美不卡在线播放| 国产成人高清在线| а天堂中文在线资源| 91久久精品一区二区| 欧美一区二区在线观看视频| 久久国产视频网站| 欧美亚洲黄色| 日韩在线三区| 石原莉奈在线亚洲二区| jizz日本免费| 亚洲成年人影院| 丰满人妻妇伦又伦精品国产| 成人97在线观看视频| 福利精品在线| 日韩成人av电影在线| 久久精品导航| 午夜理伦三级做爰电影| 精品久久久久久久久久国产| 亚洲av色香蕉一区二区三区| 麻豆成人在线看| 国语精品视频| 成年人三级视频| 国产一区二区三区在线观看免费| 秋霞欧美一区二区三区视频免费| 在线一区二区三区四区五区| 久久国产精品高清一区二区三区| 欧美怡春院一区二区三区| 久9re热视频这里只有精品| 2018中文字幕第一页| 岛国av在线一区| 一区二区三区视频免费看| 亚洲国产精品悠悠久久琪琪| 国产伦子伦对白在线播放观看| 国产一区二区无遮挡| 一级成人国产| 中文字幕在线看高清电影| 91久久精品一区二区二区| 在线看av的网址| 亚洲xxxxx电影| 国产伊人精品| 日本高清www| 欧美色综合影院| 黄视频网站在线| 97超级在线观看免费高清完整版电视剧| 欧美一区视频| 日本精品一二三区| 福利二区91精品bt7086| 免费观看成年在线视频网站| 国产成人综合精品| 五月精品视频| 亚洲精品久久一区二区三区777 | 韩国日本美国免费毛片| 国产精品亲子乱子伦xxxx裸| 99国产精品久久久久久久成人 | 成年人av网站| 俺去亚洲欧洲欧美日韩| 亚洲成人偷拍| 无码人妻丰满熟妇区毛片18| 国产欧美精品国产国产专区| 国产理论视频在线观看| 777午夜精品福利在线观看| 欧美日韩伦理在线免费| 污免费在线观看| 欧美午夜美女看片| 精品国产白色丝袜高跟鞋| 国产精品sss| 美洲天堂一区二卡三卡四卡视频 | 99在线看视频| 香蕉国产精品偷在线观看不卡| 婷婷丁香综合网| 欧美精品一区二区在线播放| 亚洲日本在线观看视频| 国产女主播av| 久久久久99精品一区| 国产高清免费av| 国产福利视频一区二区| 欧美91视频| 青青草福利视频| 日韩精品专区在线影院重磅| 成人性生活视频| 高清无码视频直接看| 日本一区二区三区四区| 天堂网av2014| 91在线中文字幕| 日韩激情在线观看| 九九热在线视频播放|