author: kwu
高速查詢hive資料倉儲中的條數。在查詢hive表的條數,通常使用count(*)。可是資料量大的時候,mr跑count(*)往往須要幾分鐘的時間。
1、傳統方式獲得總條數例如以下:
執行時間為91.208s
2、與關係庫一樣hive表也能夠通過查詢元資料來得到總條數:
select d.name,t.tbl_name,t.tbl_id,p.part_id,p.part_name,a.param_value
from tbls t
left join dbs d
on t.db_id = d.db_id
left join partitions p
on t.tbl_id = p.tbl_id
left join partition_params a
on p.part_id=a.part_id
where t.tbl_name='tracklog' and d.name='ods' and a.param_key='numrows';
select format(sum(a.param_value),0)
from tbls t
left join dbs d
on t.db_id = d.db_id
left join partitions p
on t.tbl_id = p.tbl_id
left join partition_params a
on p.part_id=a.part_id
where t.tbl_name='tracklog' and d.name='ods' and a.param_key='numrows';
僅僅需0.071s就可以返回
3、說明通過hive元資料的查詢總條數,僅僅適用於有partition的表,我們正式表基本都是有partition的,僅僅有部分小表。小於1萬條的沒有partition,這樣的小表count(*)是很快的。
資料倉儲 Hive的調優
hive的調優 第乙個調優 fetch抓取,能夠避免使用mr的,就盡量不要用mr,因為mr太慢了 set hive.fetch.task.conversion more 表示我們的全域性查詢,字段查詢,limit查詢都不走mr 這個屬性配置有三個取值 more minimal none 如果配置成n...
資料倉儲以及Hive的使用總結
1 資料倉儲 下面是olap的大致過程 2 hive資料倉儲 1 功能 2 特點 3 資料結構 4 體系結構 5 執行原理 直譯器 編譯器 優化器完成hql查詢語句從詞法分析 語法分析 編譯優化以及查詢計畫生成 查詢計畫進入hdfs mapreduce執行 6 區別於資料庫 查詢語言為hql類似sq...
Hive 資料倉儲 資料型別的選擇
hive 有很多的基礎資料型別,在實際構建數倉的這麼多資料型別,我們該如何選擇呢?如果你的公司足夠大,那麼建議參照以下幾條建議 1 hive 中double型別需要慎用,hive 中double型別存在失真。例如 原始資料是 10000,hive 中10000 可能為10000.0001 2 為了浮...