數據倉庫筆記

數據倉庫筆記(工作之餘總結)

優化參數設置

set hive.mapred.mode=nonstrict;

set hive.auto.convert.join=false;

set hive.skewjoin.key=100000;

set mapred.reduce.tasks = 15;

set hive.exec.parallel=true;

set hive.exec.parallel.thread.number=10;

 

解釋:

set hive.mapred.mode=nonstrict;

hive提供了一個嚴格模式:1.分區表,不明確分區不讓查詢 2.order by 後不加limit不能查詢 ;3、限制笛卡爾積查詢

set hive.auto.convert.join=false;

防止map join,數據傾斜

是否根據輸入小表的大小,自動將 Reduce 端的 Common Join 轉化爲 Map Join,從而加快大表關聯小表的 Join 速度。

set hive.skewjoin.key=100000;

hive 在運行的時候沒有辦法判斷哪個key 會產生多大的傾斜,所以使用這個參數控制傾斜的閾值,如果超過這個值,新的值會發送給那些還沒有達到的reduce, 一般可以設置成你處理的總記錄數/reduce個數)的2-4倍都可以接受.

set hive.exec.parallel=true;

參數控制在同一個sql中的不同的job是否可以同時運行

set hive.exec.parallel.thread.number=10;

就是控制對於同一個sql來說同時可以運行的job的最大值,該參數默認爲10,此時最大可以同時運行10個job.

 

常用的命令:

show create table table_name;查看建表語句

desc table_name; 查看錶結構

show locks table_name;查看錶是否有鎖

unlock table table_name;對錶解鎖

show locks table_name extended; 查看所表SQL明細

show partitions table_name;查看錶的分區

ALTER TABLE table_name DROP IF EXISTS PARTITION(dt='2019-07-03'); 刪除分區

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章