Hive實現多表級聯統計

2021-09-05 12:21:09 字數 962 閱讀 3008

有如下訪客訪問次數統計表 t_access_times

訪客月份

訪問次數

a2015-015a

2015-0115b

2015-015a

2015-018b

2015-0125a

2015-015a

2015-024a

2015-026b

2015-0210b

2015-025……

…………

需要輸出報表:t_access_times_accumulate

訪客月份

月訪問總計

累計訪問總計

a2015-01

3333

a2015-02

1043

…….…….

…….…….

b2015-01

3030

b2015-02

1545

…….…….

…….…….

可以用乙個hql語句即可實現:

select a.username,a.month,max(a.salary) as salary,sum(b.salary) as accumulate

from

(select username,month,sum(salary) as salary from t_access_times group by username,month) a

inner join

(select username,month,sum(salary) as salary from t_access_times group by username,month) b

ona.username=b.username

where b.month <= a.month

group by a.username,a.month

order by a.username,a.month;

mysql 多表級聯刪除

備忘一下 例如存在3個表,a,b,c.a,b是一對多關係 a id,name a b id,aid,name b b,c是一對多關係 b id,aid,name b c id,bid,name c 實現效果 刪除乙個a的id,與之關聯的b內aid的所有元組都刪除,b刪除就會把c關聯b的bid的所有元...

Hive實現詞頻統計

hive中提供了類似於sql語言的查詢語言 hiveql,可以通過 hiveql語句快速實現簡單的 mapreduce統計,hive 自身可以將 hiveql 語句快速轉換成 mapreduce 任務進行執行,而不必開發專門的 mapreduce 應用程式,因而十分適合資料倉儲的統計分析。通過乙個簡...

hive多表插入

多表插入指的是在同一條語句中,把讀取的同乙份元資料插入到不同的表中。只需要掃瞄一遍元資料即可完成所有表的插入操作,效率很高。多表操作示例如下。hive create table mutill as select id,name from userinfo 有資料 hive create table ...