亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hive 中的拉鏈表 1

發布時間:2020-06-25 09:20:57 來源:網絡 閱讀:836 作者:jackwxh 欄目:大數據

hive中拉鏈表

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

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

數據量有點大,表中某些字段有變化,但是呢變化的頻率也不是很高,業務需求呢又需要統計這種變化狀態,每天全量一份呢,有點不太現實,

不僅浪費了存儲空間,有時可能業務統計也有點麻煩,這時,拉鏈表的作用就提現出來了,既節省空間,又滿足了需求。

一般在數倉中通過增加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  創建 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  創建 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  創建 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  創建 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  創建 2016-08-22  9999-12-31

begin_date表示該條記錄的生命周期開始時間,end_date表示該條記錄的生命周期結束時間;

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

如果查詢當前所有有效的記錄,則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’

再簡單介紹一下拉鏈表的更新:

假設以天為維度,以每天的最后一個狀態為當天的最終狀態。

以一張訂單表為例,如下是原始數據,每天的訂單狀態明細

1
2
3
4
5
6
7
8
9
10
1   2016-08-20  2016-08-20  創建
2   2016-08-20  2016-08-20  創建
3   2016-08-20  2016-08-20  創建
1   2016-08-20  2016-08-21  支付
2   2016-08-20  2016-08-21  完成
4   2016-08-21  2016-08-21  創建
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  創建

根據拉鏈表我們希望得到的是

1
2
3
4
5
6
7
8
9
10
1  2016-08-20  2016-08-20  創建 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  創建 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  創建 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  創建 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  創建 2016-08-22  9999-12-31

可以看出 1,2,3,4每個訂單的狀態都有,并且也能統計到當前的有效狀態。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

牡丹江市| 苍山县| 长宁区| 浦城县| 通榆县| 凤山市| 施甸县| 湛江市| 利津县| 通辽市| 湄潭县| 石河子市| 兴国县| 兰坪| 黑龙江省| 阳谷县| 广宁县| 边坝县| 高雄县| 辽宁省| 上栗县| 迭部县| 乌鲁木齐县| 凤阳县| 鄂尔多斯市| 涟源市| 郴州市| 郁南县| 富阳市| 扬州市| 保定市| 娱乐| 高州市| 桦川县| 洛浦县| 资中县| 甘南县| 安西县| 崇义县| 镇巴县| 定襄县|