成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

hive中的拉鏈表1

hive中拉鏈表

在有些情況下,為了保持歷史的一些狀態(tài),需要用拉鏈表來做,這樣做目的在可以保留所有狀態(tài)的情況下可以節(jié)省空間。

目前創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、廣南網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

拉鏈表適用于以下幾種情況吧

數(shù)據(jù)量有點(diǎn)大,表中某些字段有變化,但是呢變化的頻率也不是很高,業(yè)務(wù)需求呢又需要統(tǒng)計(jì)這種變化狀態(tài),每天全量一份呢,有點(diǎn)不太現(xiàn)實(shí),

不僅浪費(fèi)了存儲(chǔ)空間,有時(shí)可能業(yè)務(wù)統(tǒng)計(jì)也有點(diǎn)麻煩,這時(shí),拉鏈表的作用就提現(xiàn)出來了,既節(jié)省空間,又滿足了需求。

一般在數(shù)倉(cāng)中通過增加begin_date,en_date來表示,如下例,后兩列是start_date和end_date.

1
2
3
4
5
6
7
8
9
10
1  2016-08-20  2016-08-20  創(chuàng)建 2016-08-20  2016-08-20
1  2016-08-20  2016-08-21  支付 2016-08-21  2016-08-21
1  2016-08-20  2016-08-22  完成 2016-08-22  9999-12-31
2  2016-08-20  2016-08-20  創(chuàng)建 2016-08-20  2016-08-20
2  2016-08-20  2016-08-21  完成 2016-08-21  9999-12-31
3  2016-08-20  2016-08-20  創(chuàng)建 2016-08-20  2016-08-21
3  2016-08-20  2016-08-22  支付 2016-08-22  9999-12-31
4  2016-08-21  2016-08-21  創(chuàng)建 2016-08-21  2016-08-21
4  2016-08-21  2016-08-22  支付 2016-08-22  9999-12-31
5  2016-08-22  2016-08-22  創(chuàng)建 2016-08-22  9999-12-31

begin_date表示該條記錄的生命周期開始時(shí)間,end_date表示該條記錄的生命周期結(jié)束時(shí)間;

end_date = ‘9999-12-31’表示該條記錄目前處于有效狀態(tài);

如果查詢當(dāng)前所有有效的記錄,則select * from order_his where dw_end_date = ‘9999-12-31′

如果查詢2016-08-21的歷史快照,則select * from order_his where begin_date <= ‘2016-08-21′ and end_date >= ‘2016-08-21’

再簡(jiǎn)單介紹一下拉鏈表的更新:

假設(shè)以天為維度,以每天的最后一個(gè)狀態(tài)為當(dāng)天的最終狀態(tài)。

以一張訂單表為例,如下是原始數(shù)據(jù),每天的訂單狀態(tài)明細(xì)

1
2
3
4
5
6
7
8
9
10
1   2016-08-20  2016-08-20  創(chuàng)建
2   2016-08-20  2016-08-20  創(chuàng)建
3   2016-08-20  2016-08-20  創(chuàng)建
1   2016-08-20  2016-08-21  支付
2   2016-08-20  2016-08-21  完成
4   2016-08-21  2016-08-21  創(chuàng)建
1   2016-08-20  2016-08-22  完成
3   2016-08-20  2016-08-22  支付
4   2016-08-21  2016-08-22  支付
5   2016-08-22  2016-08-22  創(chuàng)建

根據(jù)拉鏈表我們希望得到的是

1
2
3
4
5
6
7
8
9
10
1  2016-08-20  2016-08-20  創(chuàng)建 2016-08-20  2016-08-20
1  2016-08-20  2016-08-21  支付 2016-08-21  2016-08-21
1  2016-08-20  2016-08-22  完成 2016-08-22  9999-12-31
2  2016-08-20  2016-08-20  創(chuàng)建 2016-08-20  2016-08-20
2  2016-08-20  2016-08-21  完成 2016-08-21  9999-12-31
3  2016-08-20  2016-08-20  創(chuàng)建 2016-08-20  2016-08-21
3  2016-08-20  2016-08-22  支付 2016-08-22  9999-12-31
4  2016-08-21  2016-08-21  創(chuàng)建 2016-08-21  2016-08-21
4  2016-08-21  2016-08-22  支付 2016-08-22  9999-12-31
5  2016-08-22  2016-08-22  創(chuàng)建 2016-08-22  9999-12-31

可以看出 1,2,3,4每個(gè)訂單的狀態(tài)都有,并且也能統(tǒng)計(jì)到當(dāng)前的有效狀態(tài)。

分享題目:hive中的拉鏈表1
標(biāo)題來源:http://jinyejixie.com/article46/pshchg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、做網(wǎng)站、全網(wǎng)營(yíng)銷推廣、動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
阳谷县| 贺州市| 安顺市| 万州区| 金坛市| 洪泽县| 内丘县| 扎赉特旗| 大余县| 铅山县| 盘锦市| 阿鲁科尔沁旗| 临泽县| 奉新县| 内丘县| 万宁市| 祁门县| 尼勒克县| 若尔盖县| 湖口县| 资阳市| 兴和县| 巫山县| 卢龙县| 辉南县| 信阳市| 永顺县| 那曲县| 河北省| 塘沽区| 海兴县| 天柱县| 江城| 桃园市| 游戏| 贡山| 岗巴县| 隆昌县| 玉林市| 武陟县| 邵东县|