之前一直考慮更換impala的檔案儲存格式為parquet,但是沒有立即使用,最近又做了一些測試,看看parquet是否真的有用。在測試的時候順便測了一下compute語句的效果,一起作為參考。下面抽出乙個小業務的部分測試結果來展示。
庫名和表名當然不是真的。
表名行數
字段數物理儲存大小
ain34231137
111.4 g
a_in
395857172
114.4 g
in62025197
62.5 g
c4055068
144708.3 m
這個記錄是當時隨手測的乙個結果。
select
count(*) from c;
檔案格式
第1次執行耗時
第2次執行耗時
text
7.72s
0.74s
parquet
5.90s
0.53s
select
count(uid) from c
where ***
檔案格式
where字句數量
持續時間
讀取hdfs位元組數
累積記憶體使用峰值
text
1826ms
3g361.1m
parquet
1623ms
17.1 m
6.9m
text
21.04s
3g112.3 m
parquet
2623ms
17.6 m
7.1 m
text
3930ms
3g112.3 m
parquet
3631ms
18.4 m
7.6 m
text
6961ms
3g120.6 m
parquet
6836ms
22.9 m
45.1 m
text
131.04s
3g117 m
parquet
131.04s
33.2 m
19.5 m
dev表是另外乙個表,不是parquet格式。
select substr(a1.dt,1,7) dt, count(distinct a1.uid)
from (
select userid uid , createtime dt
from dev) a1
left
join (
select uid, dt
from (
select userid uid, time dt from a_in
union
allselect uid uid, stime dt from ain
where atype='1'
union
allselect uid, time dt
from c
where state!=0
and source='test') a1 ) a2
on a1.uid = a2.uid and substr(a1.dt,1,7)>substr(a2.dt,1,7)
left
join (
select uid, dt
from (select userid uid, time dt from
inunion
allselect uid, time dt from c
where state!=0
and source='pc') a1 ) a3
on a1.uid = a3.uid and substr(a1.dt,1,7)>substr(a3.dt,1,7)
where a2.uid is
null
and a3.uid is
notnull
group
by dt
order
by dt;
檔案格式
持續時間
讀取hdfs位元組數
累積記憶體使用峰值
text
12分38秒
71.4g
27.5g
parquet
12分27秒
22.5g
27.6g
這個稍微複雜一些,用到了上面的三張表,有一些join操作。因為前段時間發現了compute語句的神奇,因此這次順便帶上它。
select substr(a1.dt,1,7) dt, count(distinct a1.uid)
from (
select uid, createtime dt
from c
where state!=0
inner
join (
select uid, dt
from (
select userid uid, logtime dt from a_in
union
allselect uid uid, stime dt from ain
where atype='1') a1 ) a2
on a1.uid = a2.uid and substr(a1.dt,1,7) = substr(a2.dt,1,7)
group
by dt
order
by dt
檔案格式
提前執行compute
持續時間
讀取hdfs位元組數
累積記憶體使用峰值
text
n5分16秒
46.7g
12.1g
parquet
n3分48秒
1.7g
27.3g
text
y34.9秒
46.7g
1.5g
parquet
y14.5秒
1.7g
1.1g
Parquet與ORC效能測試報告
hadoop集群 使用測試hadoop集群,節點 hadoop230 hadoop231 hadoop232 hadoop233 使用測試機群上的同乙個佇列,使用整個集群的資源,所有的查詢都是無併發的。hive使用官方的hive 1.2.1版本,使用hiveserver2的方式啟動,使用本機的mys...
Impala實踐之十一 parquet效能測試
之前一直考慮更換impala的檔案儲存格式為parquet,但是沒有立即使用,最近又做了一些測試,看看parquet是否真的有用。在測試的時候順便測了一下compute語句的效果,一起作為參考。下面抽出乙個小業務的部分測試結果來展示。庫名和表名當然不是真的。表名行數 字段數物理儲存大小 ain342...
效能測試 效能測試步驟
針對此次庫內作業效能測試,梳理一下期間的工作流程 梳理已有的介面指令碼,確認需要做效能測試的幾個介面,即使用率高,對效能有要求的幾個主要介面。結合頁面的操作,和確認的介面,梳理具體的業務邏輯 同時,請開發人員部署了測試環境。測試環境的伺服器指標,盡量和生產環境一致。部署的時候,負載均衡等情況也盡量和...