hive性能調優

原文:http://www.tuicool.com/articles/rMvQvm

----------------------------------------------------------------------

  1. limit?限制調整

--?因為使用?limit?語句時候,是先執行整個查詢語句,然后再返回部分結果的

set hive.limit.optimize.enable=true;

set hive.limit.row.max.size=10000;

set hive.limit.optimize.limit.file=10;

2.JOIN?優化

。。。

3.???本地模式

--hive?嘗試使用本地模式執行查詢,要不然?hive?會使用?MapReduce?來執行其他所有的查詢

set hive.exec.mode.local.auto=true;

4.?并行執行

set hive.exec.parallel=true;

5.?嚴格模式

--?對分區表進行查詢,在?where?子句中沒有加分區過濾的話,將禁止提交任務?(?默認:?nonstrict)

set hive.mapred.mode=strict;

注:使用嚴格模式可以禁止?3?種類型的查詢:

(?1?)對于分區表,不加分區字段過濾條件,不能執行

(?2?)對于?order by?語句,必須使用?limit?語句。

(?3?)限制笛卡爾積的查詢(?join?的時候不使用?on?,而使用?where?的)。

6.?調整?mapper?和?reducer?個數

set hive.exec.reducers.max=(?集群總?reduce?槽位個數?*1.5)/(?執行中的查詢的平均個數?)

7.JVM?重用

set mapred.job.reuse.jvm.num.tasks=10; --10?為重用個數

8.?索引

索引可以加快含有?group by?語句的查詢的計算速度

9.?動態分區調整

--?動態分區屬性:設置為?true?表示開啟動態分區功能(默認為?false?)

hive.exec.dynamic.partition=true;

--?動態分區屬性:設置為?nonstrict,?表示允許所有分區都是動態的(默認為?strict?)

--?設置為?strict?,表示必須保證至少有一個分區是靜態的

hive.exec.dynamic.partition.mode=strict;

--?動態分區屬性:每個?mapper?或?reducer?可以創建的最大動態分區個數

hive.exec.max.dynamic.partitions.pernode=100;

--?動態分區屬性:一個動態分區創建語句可以創建的最大動態分區個數

hive.exec.max.dynamic.partitions=1000;

--?動態分區屬性:全局可以創建的最大文件個數

hive.exec.max.created.files=100000;

???????????--?控制?DataNode?一次可以打開的文件個數

???????????--?這個參數必須設置在?DataNode?的?$HADOOP_HOME/conf/hdfs-site.xml?文件中

??<property>

??<name>dfs.datanode.max.xcievers</name>

??<value>8192</value>

??</property>

10.?推測執行

--?目的:是通過加快獲取單個?task?的結果以及進行偵測將執行慢的?TaskTracker?加入到黑名單的方式來提高整體的任務執行效率

(?1?)修改???$HADOOP_HOME/conf/mapred-site.xml?文件

??<property>

??<name>mapred.map.tasks.speculative.execution </name>

??<value>true</value>

??</property>

<property>

??<name>mapred.reduce.tasks.speculative.execution </name>

??<value>true</value>

??</property>

(?2?)修改?hive?配置

set hive.mapred.reduce.tasks.speculative.execution=true;

11.?單個?MapReduce?中多個?group by

--?多個?group by?操作組裝到單個?MapReduce?任務中

set hive.multigroupby.singlemr=false;

12.?虛擬列

--?當?hive?產生了非預期的或?null?的時候,可以通過虛擬列進行診斷,判斷哪行數據出現問題

INPUT__FILE__NAME?????(輸入文件名)

BLOCK__OFFSET__INSIDE__FILE?????(塊內偏移量)

ROW__OFFSET__INSIDE__BLOCK?????(?行偏移量,需要設置?hive.exec.rowoffset=true;?啟用?)

13.???其他參數調優

--?開啟?CLI?提示符前打印出當前所在的數據庫名

set hive.cli.print.current.db=true;

--?讓?CLI?打印出字段名稱

hive.cli.print.header=true;

--?提高聚合的性能

set hive.map.aggr=true;

--?對于簡單的不需要聚合的類似?SELECT <col> from <table> LIMIT n?語句,不需要起?MapReduce job?,直接通過?Fetch task?獲取數據

set hive.fetch.task.conversion=more;



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539137.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539137.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539137.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

推薦系統之 BPR 算法及 Librec的BPR算法實現【1】

【推薦系統之 BPR 算法】 1、關于BPR的論文原文&#xff1a; BPR: Bayesian Personalized Ranking from Implicit Feedback 2、參考1&#xff1a;論文快讀 - BPR: Bayesian Personalized Ranking from Implicit Feedback &#xff08;該博主的網站不錯&#xff0c;尤其論文快…

ios 篩選_萬千網友讓quot;低調使用quot;的軟件!居然還支持iOS

點擊藍字關注我們昨天的耳朵神器大家感覺怎么樣&#xff1f;享受了耳朵今天我們享受一下眼睛~可能很多同學對漫畫是情有獨鐘但是&#xff0c;之前小黑一直介紹的都是安卓端的軟件今天要給大家介紹的這款軟件是IOS安卓都有終于可以不被IOS的同學吐槽了而且經過測試小黑真的想說一…

Linux卸載/刪除多余網卡

卸載 使用命令ifconfig命令查看網卡情況 確認自己使用的是哪一塊網卡&#xff0c;然后把其它的網卡都卸載掉。 運行命令ifconfig 網卡名稱 down。 如&#xff1a; ifconfig eth1 down 再次運行ifconfig就會發現被卸載掉的網卡沒了。現在可以ping 一下內網的IP試試看能不能pin…

CentOS7:JDK1.7.0_80安裝

一、安裝前檢查 執行以下命令&#xff1a; rpm -qa | grep jdk 查看系統是否已經自帶openjdk,如果存在 執行以下命令&#xff1a; yum -y remove files files為查出的、系統自帶的openjdk相關文件&#xff0c;運行以上命令將相關文件卸載 執行命令 java -version[rootlocalhost…

python海龜繪圖畫圣誕帽男人_python海龜繪圖實例教程

本文以實例形式介紹了python turtle模塊即海龜繪圖的使用方法&#xff0c;對于需要進行圖形編程的朋友相信會有一定的借鑒價值。python turtle模塊簡介&#xff1a;python2.6版本中引入的一個簡單的繪圖工具&#xff0c;叫做海龜繪圖(turtle graphics)1.使用海龜繪圖首先我們需…

spring+mybatis 多數據源整合

原文&#xff1a;http://blog.csdn.net/fhx007/article/details/12530735 ---------------------------------------------------------------------------------- 直接看spring的配置吧 <!-- 數據源配置 --> <bean id"ds1" class"org.apache.commo…

四管前級怎么去掉高低音音調_一些歌曲音調太高怎么才能唱上去??

展開全部首先得提高肺活量 然后就是練聲&#xff01;怎 樣 練 聲&#xff1a;練聲的目的1&#xff0c;使歌唱發聲系統各器官的肌肉更e68a84e8a2ad62616964757a686964616f31333236373231有力&#xff0c;并能協調一致。2&#xff0c;建立正確的聲音概念。3&#xff0c;擴展音域&…

python繪制星空_用python畫星空源代碼是什么?

用python畫星空源代碼是什么&#xff1f;用python畫星空源代碼是from turtle import *from random import random,randintscreen Screen()width ,height 800,600screen.setup(width,height)screen.title("模擬3D星空")screen.bgcolor("black")screen.mod…

Linux - xshell上傳文件報錯亂碼

xshell上傳文件報錯亂碼&#xff0c;解決方法 rz -be 回車 下載sz filename轉載于:https://www.cnblogs.com/RzCong/p/8600899.html

java元數據是什么_用存儲過程和 JAVA 寫報表數據源有什么弊端?

用存儲過程和 JAVA 寫報表數據源有什么弊端&#xff1f;跟著小編一起來一看一下吧&#xff01;我們在報表開發中經常會使用存儲過程準備數據&#xff0c;存儲過程支持分步計算&#xff0c;可以實現非常復雜的計算邏輯&#xff0c;為報表開發帶來便利。所以&#xff0c;報表開發…

mysql多實例安裝啟動_MySQL多實例安裝啟動

Tips&#xff1a;之前我們的一個實例是mysql3306&#xff0c;我們現在再安裝一個mysql33071。和之前一樣&#xff0c;創建需要的目錄文件夾mkdir -p /data/mysql/mysql3307/{data,logs,tmp}創建完 就給文件授權chown -R mysql:mysql /data/mysql/mysql3307/2.進入mysql3307cd /…

用vhdl實現4位加減法計數器_32位加減法器設計

功能特性設計思路基于一位全加器&#xff0c;設計32位并行加法器。并行加法器中全加器的位數與操作數相同&#xff0c;影響速度&#xff08;延時&#xff09;的主要因素是進位信號的傳遞。主要的高速加法器【1】有基本上都是在超前進位加法器&#xff08;CLA&#xff09;的基礎…

用vim + xdebug 來追蹤thinkphp的執行過程

tree命令的使用幾個有實際應用的參數 -a 這是默認的 -d: 只顯式目錄, 不需要顯式目錄下的文件 -L: 列出顯式的深度. 當前目錄下的所有東西為第一級...在tp下, 有多個Common但是它們的含義不同:Application|- Common (前后臺都使用的公共文件所在目錄)|- Common (公共函數目錄)…

mybatis 中#與$的區別

MyBatis/Ibatis中#和$的區別 #{} 解析的是占位符&#xff1f;可以防止SQL注入&#xff0c;比如打印出來的語句 select * from table where id? 然而${} 則是不能防止SQL注入打印出來的語句 select * from table where id2 實實在在的參數

綠色背景配什么顏色文字_灰色褲子配什么顏色上衣好看

我們許多人都喜歡灰色。灰色是一種很酷的自然色。灰色大氣而沉穩。它介于黑白之間&#xff0c;是一種多用途的顏色&#xff0c;與其他顏色搭配將變得時尚而優雅。那么秋冬季節灰色褲子配什么顏色的上衣好看呢&#xff1f;接下來就來看一組時尚大人的灰色褲子穿搭吧。look1 保溫…

浮柵場效應管 符號_場效應管主要參數與特點,場效應管與其他管子的對比

場效應晶體管(Field Effect Transistor縮寫(FET))簡稱場效應管。主要有兩種類型&#xff1a;結型場效應管(junction FET—JFET)和金屬-氧化物半導體場效應管(metal-oxide semiconductor FET&#xff0c;簡稱MOS-FET)。場效應管由多數載流子參與導電&#xff0c;也稱為單極型晶體…

linux軟鏈接

原文地址&#xff1a;http://biyutong.iteye.com/blog/1445699 ------------------------------------------------------------------------ 實例&#xff1a;ln -s /home/gamestat /gamestat linux下的軟鏈接類似于windows下的快捷方式 ln -s a b 中的 a 就是源文件&am…

MySQL主鍵自增長報duplicate_MySQL使用on duplicate key update引起主鍵不連續自增

innodb_autoinc_lock_mode中有3種模式,0,1,2&#xff0c;數據庫默認是1的情況下,每次使用insert into … on duplicate key update 的時候都會把簡單自增id增加,不管是發生了insert還是updateinnodb_autoinc_lock_mode參數詳解tradition(innodb_autoinc_lock_mode0) 模式&#…

super go_Go 簡單性的價值:來自對 Go 倍加青睞的谷歌軟件工程師的自述

點擊上方藍色“Go語言中文網”關注我們&#xff0c;領全套Go資料&#xff0c;每天學習 Go 語言Go 語言最近幾年逐漸獲得越來越多的開發者的喜歡。在 Go 社區前不久剛剛慶祝Go誕生10周年生日之際&#xff0c;谷歌云軟件工程師 Benjamin Congdon 發表個人博客(11 月 11 日發表)&a…

判斷鼠標是否在元素上_是否清掃保潔、是否霧撒降塵?江城環衛車裝上了北斗,動動鼠標就知道了...

楚天都市報12月1日訊(記者盧成漢 通訊員金嬋 潘婷)環衛車裝上北斗定位系統&#xff0c;它是否上路進行清掃保潔&#xff0c;是否霧撒降塵。城管隊員通過手機或電腦&#xff0c;就可以查到它的運行狀態。1日&#xff0c;東湖高新區城管執法局稱&#xff0c;該區運行的北斗智能環…