記錄Hive中一次查詢慢的問題

2021-10-13 18:58:39 字數 1206 閱讀 1029

hive查詢問題

快速查詢hive資料倉儲表中的總條數

需要連線hive的元資料(mysql)

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='dwi_evt_blog_dpi_keywords_info_msk_d' and d.name='dwi_m' and a.param_key='numrows';

快速從hive表裡取資料的辦法

select * from dwi_evt_blog_dpi_keywords_info_msk_d limit 10

使用簡單的隨機數範圍取資料

select a.* from (select a.*, rand(100) as random from dwi_evt_blog_dpi_keywords_info_msk_d a)a  where random between 0 and 10;

五. limit 語句快速出結果

一般情況下,limit語句還是需要執行整個查詢語句,然後再返回部分結果。

有乙個配置屬性可以開啟,避免這種情況---對資料來源進行抽樣

hive.limit.optimize.enable=true --- 開啟對資料來源進行取樣的功能

hive.limit.row.max.size --- 設定最小的取樣容量

hive.limit.optimize.limit.file --- 設定最大的取樣樣本數

缺點:有可能部分資料永遠不會被處理到

優化前:

優化後:

一次SQL慢查詢記錄

前段時間,某個深夜,突然接到專案的告警 專案執行異常,檢視告警資訊是由於專案資料庫cpu使用率接近100 導致的。為此深夜中忙活了一陣,當個教訓,且記錄一次。現象 服務資料庫cpu使用率接近100 一直居高不下。原因 sql語句使用不合理的索引,導致資料庫中大量資料的排序,大資料量的記錄排序消耗盡c...

記一次慢查詢引發的事故

首先,測試環境上線新版本,並且通過黑盒測試以及功能測試。然後,我們就上線了新的版本。但是在執行3天後,整個伺服器大部分介面都失效了,基本上都是timeout。檢查伺服器情況 cpu基本上佔滿了。接著查了資料庫狀態,通過mysql命令show processlist 存在大量的waiting for ...

HBase一次慢查詢請求的問題排查與解決過程

以下是我們對hbase集群一次慢查詢請求問題的排查解決過程。專案中有一張hbase表,每天凌晨以後會集中批量匯入一批資料,匯入資料量很大,在千萬到億的量級,然後白天為使用者提供查詢服務。某天突然發現,該錶按照各個region 共計256個 分別僅順序scan少數幾條資料時,部分region的查詢請求...