国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

數(shù)據(jù)倉庫體系建模&實施&注意事項小總結(jié)

共 9956字,需瀏覽 20分鐘

 ·

2021-06-08 13:44

點擊上方藍(lán)色字體,選擇“設(shè)為星標(biāo)
回復(fù)”資源“獲取更多資源

什么是數(shù)倉

從字面上來看,數(shù)據(jù)倉庫就是一個存放數(shù)據(jù)的倉庫,它里面存放了各種各樣的數(shù)據(jù),而這些數(shù)據(jù)需要按照一些結(jié)構(gòu)、規(guī)則來組織和存放。這里我們會遇到一個問題就是同樣是存放數(shù)據(jù)的倉庫,那數(shù)據(jù)庫和數(shù)據(jù)倉庫是一樣的嗎?

數(shù)據(jù)庫 VS 數(shù)據(jù)倉庫

數(shù)據(jù)庫就是我們常用的關(guān)系型數(shù)據(jù)庫(MySQL、Oracle、PostgreSQL...),還有什么非關(guān)系型數(shù)據(jù)庫,它主要存放業(yè)務(wù)數(shù)據(jù),那數(shù)據(jù)倉庫有有些什么數(shù)據(jù)呢?說到他們的區(qū)別,我們一般會提到OLTP和OLAP。

  • OLTP:on-line transaction processing,聯(lián)機(jī)事務(wù)處理,主要是業(yè)務(wù)數(shù)據(jù),需要考慮高并發(fā)、考慮事務(wù)

  • OLAP:On-Line Analytical Processing,聯(lián)機(jī)分析處理,重點主要是面向分析,會產(chǎn)生大量的查詢,一般很少涉及增刪改

他們的區(qū)別,面試時也會提到,主要從幾個點談?wù)劸托小?/span>

數(shù)據(jù)倉庫其實是一套體系,他不是一門什么技術(shù),而是整合了很多已有的技術(shù),來更好地組織和管理數(shù)據(jù)。傳統(tǒng)數(shù)倉的話,主要是基于關(guān)系型數(shù)據(jù)庫,后面還有一些分布式的數(shù)據(jù)庫像Greenplum,還有很多公司會提供基于硬件的一整套解決方案。在傳統(tǒng)數(shù)倉開發(fā)時,由于硬件的性能有限,所以有很多的要求,而隨著硬件價格的下降、云服務(wù)器的廣泛使用,還有大數(shù)據(jù)技術(shù)的成熟發(fā)展,數(shù)倉的很多場景都變了,有些規(guī)則都不需要去嚴(yán)格遵守了,這樣也可以剩下很多的成本。

再往前幾年,數(shù)倉這個東西是有點兒神秘的,感覺很高大上,而現(xiàn)在,起碼在互聯(lián)網(wǎng)公司來說,誰都知道數(shù)倉,誰都知道數(shù)據(jù)平臺,誰都可以來說兩句,已經(jīng)大眾化了。記得以前面數(shù)倉的話,總有幾個必備的面試題:

  • 什么是數(shù)倉?

  • 數(shù)倉的幾個特點是什么?

  • 什么是OLAP?什么是OLTP?區(qū)別是什么?

  • 拉鏈表是什么?怎么實現(xiàn)拉鏈表?

  • 同步又哪幾種方式?

  • 為什么要做增量?怎么做增量?

  • 什么是ETL?

就目前互聯(lián)網(wǎng)數(shù)倉這一崗位,感覺更加偏重業(yè)務(wù)+建模思想,面試不太好考察這些內(nèi)容的,去年招聘的時候,就是問些基本問題,聊聊以往主要的工作內(nèi)容,還會問問SQL題,真的想了解下建模的話,還是找本書借鑒性的看看,還是很有益處的。

傳統(tǒng)數(shù)倉與互聯(lián)網(wǎng)數(shù)倉

在傳統(tǒng)數(shù)據(jù)平臺要背后有一個完整數(shù)據(jù)倉庫團(tuán)隊去服務(wù)業(yè)務(wù)方,業(yè)務(wù)方嗷嗷待哺的等待被動方式去滿足。中低層數(shù)據(jù)基本不會對業(yè)務(wù)方開放,所以不管數(shù)據(jù)模型采用何種建模方式,主要滿足當(dāng)時數(shù)據(jù)架構(gòu)規(guī)劃即可。

互聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展使得大家已經(jīng)從經(jīng)營、分析的訴求重點轉(zhuǎn)為數(shù)據(jù)化的精細(xì)運營上,如何做好精細(xì)化運營問題上來,當(dāng)資源不夠時用戶就叫喊,甚至有的業(yè)務(wù)方會挽起袖子來自己參與到從數(shù)據(jù)整理、加工、分析階段。

此時呢,原有建設(shè)數(shù)據(jù)平臺的多個角色(數(shù)據(jù)開發(fā)、模型設(shè)計)可能轉(zhuǎn)為對其它非專業(yè)使用數(shù)據(jù)方,做培訓(xùn)、咨詢與落地,寫更加適合當(dāng)前企業(yè)數(shù)據(jù)應(yīng)用的一些方案與開發(fā)些數(shù)據(jù)產(chǎn)品等。

在互聯(lián)網(wǎng)數(shù)據(jù)平臺由于數(shù)據(jù)平臺變?yōu)樽杂砷_放,大家使用數(shù)據(jù)的人也參與到數(shù)據(jù)的體系建設(shè)時,基本會因為不專業(yè)性,導(dǎo)致數(shù)據(jù)質(zhì)量問題、重復(fù)對分?jǐn)?shù)據(jù)浪費存儲與資源、口徑多樣化、編碼不統(tǒng)一、命名問題等等原因。數(shù)據(jù)質(zhì)量逐漸變成一個特別突出的問題。

數(shù)倉架構(gòu)

現(xiàn)在說數(shù)倉,更多的會和數(shù)據(jù)平臺或者基礎(chǔ)架構(gòu)搭上,已經(jīng)融合到整個基礎(chǔ)設(shè)施的搭建上。這里呢,我們不說Hadoop各種組件之間的配合,我們就簡單說下數(shù)倉的分層架構(gòu)。

說到數(shù)倉建模,就得提下經(jīng)典的2套理論:

范式建模

Inmon提出的集線器的自上而下(EDW-DM)的數(shù)據(jù)倉庫架構(gòu)。

維度建模

Kimball提出的總線式的自下而上(DM-DW)的數(shù)據(jù)倉庫架構(gòu)。

數(shù)倉的建?;蛘叻謱?,其實都是為了更好的去組織、管理、維護(hù)數(shù)據(jù),實際開發(fā)時會整合2種方式去使用,當(dāng)然,還有些其他的,像Data Vault模型、Anchor模型,暫時還沒有應(yīng)用過,就不說了。

維度建模,一般都會提到星型模型、雪花模型,星型模型做OLAP分析很方便。

數(shù)倉分層

簡單點兒,直接ODS+DM就可以了,將所有數(shù)據(jù)同步過來,然后直接開發(fā)些應(yīng)用層的報表,這是最簡單的了;當(dāng)DM層的內(nèi)容多了以后,想要重用,就會再拆分一個公共層出來,變成3層架構(gòu),最近看了本阿里的書,《大數(shù)據(jù)之路》,里面有很多數(shù)倉相關(guān)的內(nèi)容,很不錯,參考后,目前使用的分層模式如下:

按照這種分層方式,我們的開發(fā)重心就在dwd層,就是明細(xì)數(shù)據(jù)層,這里主要是一些寬表,存儲的還是明細(xì)數(shù)據(jù);到了dws層,我們就會針對不同的維度,對數(shù)據(jù)進(jìn)行聚合了,按道理說,dws層算是集市層,這里一般按照主題進(jìn)行劃分,屬于維度建模的范疇;ads就是偏應(yīng)用層,各種報表的輸出了。

指標(biāo)字典

前面我們說過,數(shù)倉是一套體系,一個建設(shè)過程,它整合了很多的方法論,并不是一門新的技術(shù)。這里我們說說數(shù)倉中的指標(biāo)體系,指標(biāo)也不是數(shù)倉或者數(shù)據(jù)平臺中特有的, 很多場景都會有指標(biāo)這個概念。

這里我們說的指標(biāo),其實就是KPI(Key Performance Indicator),關(guān)鍵績效指標(biāo)。

企業(yè)關(guān)鍵績效指標(biāo)(KPI:Key Performance Indicator)是通過對組織內(nèi)部流程的輸入端、輸出端的關(guān)鍵參數(shù)進(jìn)行設(shè)置、取樣、計算、分析,衡量流程績效的一種目標(biāo)式量化管理指標(biāo),是把企業(yè)的戰(zhàn)略目標(biāo)分解為可操作的工作目標(biāo)的工具,是企業(yè)績效管理的基礎(chǔ)。KPI可以使部門主管明確部門的主要責(zé)任,并以此為基礎(chǔ),明確部門人員的業(yè)績衡量指標(biāo)。

數(shù)據(jù)平臺的作用是為分析、決策提供支持,來時刻關(guān)注企業(yè)的運營情況的。那我們怎樣來看公司的運營情況呢?就是看KPI,公司層面有公司最關(guān)注的KPI,比如:日活、GMV、訂單量等等;不同的部門又有不同的關(guān)注KPI,比如:新用戶數(shù)、復(fù)夠人數(shù)等等,有了KPI,我們就可以根據(jù)KPI來考察部門的表現(xiàn),也就是績效。這也是數(shù)字化轉(zhuǎn)型嘛,所有的管理、績效都數(shù)字化。

就數(shù)據(jù)平臺來說,指標(biāo)算是元數(shù)據(jù)的一種,指標(biāo)的維護(hù)和管理是有套路的,下面就簡單分享下關(guān)于指標(biāo)的管理-指標(biāo)字典。

指標(biāo)字典

指標(biāo)字典,其實就是對指標(biāo)的管理,指標(biāo)多了以后,為了共享和統(tǒng)一修改和維護(hù),我們會在Excel中維護(hù)所有的指標(biāo)。當(dāng)然,Excel對于共享和版本控制也不是很方便,有條件的話,可以開發(fā)個簡單的指標(biāo)管理系統(tǒng),再配合上血緣關(guān)系,就更方便追蹤數(shù)據(jù)流轉(zhuǎn)了。

指標(biāo)編碼

為了方便查找和管理,我們會對指標(biāo)定義一套編碼

指標(biāo)類型

基礎(chǔ)指標(biāo):不能再進(jìn)一步拆解的指標(biāo),可以直接計算出來的指標(biāo),如“訂單數(shù)”、“交易額” 衍生指標(biāo):在基礎(chǔ)指標(biāo)的基礎(chǔ)上,通過某個特殊維度計算出的指標(biāo),如“微信訂單數(shù)”、“支付寶訂單數(shù)” 計算指標(biāo):通過若干個基礎(chǔ)指標(biāo)計算得來的指標(biāo),在業(yè)務(wù)角度無法再拆解的指標(biāo),如“售罄率”、“復(fù)購率”

業(yè)務(wù)口徑

指標(biāo)最重要的就是,明確指標(biāo)的統(tǒng)計口徑,就是這個指標(biāo)是怎么算出來的,口徑統(tǒng)一了,才不會產(chǎn)生歧義

指標(biāo)模板

除了上面,我們說到的幾點,還有一些基本的,像“指標(biāo)名稱”、計算公式,就組成了指標(biāo)的模板

以前的話,我們還會有責(zé)任部門,就是說這個指標(biāo)是哪個部門負(fù)責(zé)維護(hù)的,這個KPI是哪個部門來關(guān)注和承擔(dān)。說到指標(biāo),就離不開維度,我們后面會說說維度的故事。

指標(biāo)的梳理和管理

一開始指標(biāo)的梳理是很麻煩的,因為要統(tǒng)一一個口徑,需要和不同的部門去溝通協(xié)調(diào);還有可能會有各種各樣的指標(biāo)出現(xiàn),需要去判斷是否真的需要這個指標(biāo),是否可以用其他指標(biāo)來替代;指標(biāo)與指標(biāo)之間的關(guān)系也需要理清楚。

而且第一版指標(biāo)梳理好之后,需要進(jìn)行推廣和維護(hù),不斷地迭代,持續(xù)推動,讓公司所有部門都統(tǒng)一站在一個視角關(guān)注問題。

最重要的維度之日期維度

日期維度是我們最常用的維度,平臺初始,最先初始化的可能就是日期維度,這里我們就簡單介紹下日期維度。

什么是日期維度

我們?nèi)粘I?,?shù)據(jù)的產(chǎn)生都和日期有關(guān),每一分、每一秒都會產(chǎn)生數(shù)據(jù),數(shù)據(jù)分析也離不開日期。

日期維度就是一張固化的日歷,一年365天,每一天都有,我們打開電腦中的日歷:

這里面有的,我們都可以固化下來,像周幾、農(nóng)歷、年、月、日、節(jié)假日,我們都可以固化下來,方面我們分析的時候使用。

日期維度的結(jié)構(gòu)

日期維度可以盡可能多的包含日期詳細(xì)信息,這樣在分析的時候可以直接使用,還要結(jié)合公司的一些特殊情況,像一些特殊展示的日期格式。

  • 基本的年季度月周日信息

  • 拓展信息

除了上面的基本的日期,平時用的還有有些拓展信息

可能還有些農(nóng)歷信息、農(nóng)歷年份等,公司自定義周的開始日期、結(jié)束日期等,和日期相關(guān)的所有內(nèi)容都可以加進(jìn)來進(jìn)行維護(hù)。

  • 維度初始化

數(shù)據(jù)初始化,我們可以使用Java、Python或者SQL,通過常用的日期函數(shù)基本可以滿足我們的數(shù)據(jù)需求,用SQL初始化,需要使用有循環(huán)控制語句的,如:MySQL、PG都行,Hive的話要結(jié)合Shell或者Python來使用。

一般不需要初始化太多年的數(shù)據(jù),只要覆蓋公司業(yè)務(wù)數(shù)據(jù)就好了,還有節(jié)假日信息每年都需要結(jié)合國務(wù)院發(fā)布的信息就行維護(hù)。

  • 關(guān)于小時

平時我們還會分析小時數(shù)據(jù),一般不會把他放在日期表中,而是會單獨放在一張小時維度表里,需要的時候一起使用就行了。

命名規(guī)范

話說,沒有規(guī)矩不成方圓。在搭建數(shù)據(jù)平臺的時候,在數(shù)據(jù)組內(nèi)部,一定要先制定好各種規(guī)范,越早越好,并且不斷的監(jiān)督大家是否按照約定執(zhí)行。一旦讓大家自由發(fā)揮,后期想要統(tǒng)一或者重構(gòu),會浪費很大的人力成本和時間成本,記住,這都是坑。

這里以我目前公司的一些經(jīng)驗,分享下。

關(guān)于項目

常規(guī)來說,數(shù)倉的建設(shè)是按照數(shù)倉分層模型開發(fā)的。也有會按照業(yè)務(wù)線來分層,在各自業(yè)務(wù)線下重新分層,單獨開發(fā)的。我這里使用的是阿里云的MaxCompute,這是阿里提供的數(shù)據(jù)平臺,一整套開發(fā)環(huán)境,用起來還是很方便的,省去了自建平臺的麻煩。MaxCompute里面有一個項目的概念,一開始本來打算直接根據(jù)分層模型的設(shè)計來創(chuàng)建項目,但是由于某種原因,改成了按照業(yè)務(wù)線來創(chuàng)建項目。對于這個項目名,一定要想好,不管根據(jù)什么來設(shè)計,都需要想清楚,想明白,定了以后就不要再改了,也沒法改。

關(guān)于詞根

我忘記是不是叫“詞根”了,先寫著,后面找本書確認(rèn)下。詞根屬于數(shù)倉建設(shè)中的規(guī)范,屬于元數(shù)據(jù)管理的范疇。哦,現(xiàn)在都把這個劃到數(shù)據(jù)治理的一部分。

正常來說,完整的數(shù)倉建設(shè)是包含數(shù)據(jù)治理的,只是現(xiàn)在談到數(shù)倉偏向于數(shù)據(jù)建模,而談到數(shù)據(jù)治理,更多的是關(guān)于數(shù)據(jù)規(guī)范、數(shù)據(jù)管理。

接著說我們的主角-詞根。

我們學(xué)習(xí)英語的時候應(yīng)該有了解過詞根這個東西,它就是最細(xì)粒度的最簡單的一個詞語,我們主要用來規(guī)范中文和英文的映射關(guān)系。我們公司一部分業(yè)務(wù)是關(guān)于貨架的,英文名是:rack,rack就是一個詞根,那我們就在所有的表、字段等用到的地方都叫rack,不要叫成別的什么。這就是詞根的作用,用來統(tǒng)一命名,表達(dá)同一個含義。指標(biāo)體系中有很多“率”的指標(biāo),都可以拆解成XXX+率,率可以叫rate,那我們所有的指標(biāo)都叫做XXX+rate。詞根可以用來統(tǒng)一表名、字段名、主題域名等等。

表名 

表名需要見名知意,通過表名就可以知道它是哪個業(yè)務(wù)域,干嘛用的,什么粒度的數(shù)據(jù)。

  • 常規(guī)表

常規(guī)表是我們需要固化的表,是正式使用的表,是目前一段時間內(nèi)需要去維護(hù)去完善的表。規(guī)范:分層前綴[dwd|dws|ads|bi]業(yè)務(wù)域主題域XXX粒度 業(yè)務(wù)域、主題域我們都可以用詞根的方式枚舉清楚,不斷完善,粒度也是同樣的,主要的是時間粒度、日、月、年、周等,使用詞根定義好簡稱。

  • 中間表

中間表一般出現(xiàn)在Job中,是Job中臨時存儲的中間數(shù)據(jù)的表,中間表的作用域只限于當(dāng)前Job執(zhí)行過程中,Job一旦執(zhí)行完成,該中間表的使命就完成了,是可以刪除的(按照自己公司的場景自由選擇,以前公司會保留幾天的中間表數(shù)據(jù),用來排查問題)。規(guī)范:mid_tablename [0~9|dim] table_name是我們?nèi)蝿?wù)中目標(biāo)表的名字,通常來說一個任務(wù)只有一個目標(biāo)表。這里加上表名,是為了防止自由發(fā)揮的時候表名沖突,而末尾大家可以選擇自由發(fā)揮,起一些有意義的名字,或者簡單粗暴,使用數(shù)字代替,各有優(yōu)劣吧,謹(jǐn)慎選擇。通常會遇到需要補(bǔ)全維度的表,這里我喜歡使用dim結(jié)尾。

中間表在創(chuàng)建時,請加上 ,如果要保留歷史的中間表,可以加上日期或者時間戳

drop table if exists table_name;
create table_name as xxx;
  • 臨時表

臨時表是臨時測試的表,是臨時使用一次的表,就是暫時保存下數(shù)據(jù)看看,后續(xù)一般不再使用的表,是可以隨時刪除的表。規(guī)范:tmp_xxx 只要加上tmp開頭即可,其他名字隨意, 注意tmp開頭的表不要用來實際使用,只是測試驗證而已。

  • 維度表

維度表是基于底層數(shù)據(jù),抽象出來的描述類的表。維度表可以自動從底層表抽象出來,也可以手工來維護(hù)。規(guī)范:dim_xxx 維度表,統(tǒng)一以dim開頭,后面加上,對該指標(biāo)的描述,可以自由發(fā)揮。

  • 手工表

手工表是手工維護(hù)的表,手工初始化一次之后,一般不會自動改變,后面變更,也是手工來維護(hù)。一般來說,手工的數(shù)據(jù)粒度是偏細(xì)的,所以,暫時我們統(tǒng)一放在dwd層,后面如果有目標(biāo)值或者其他類型手工數(shù)據(jù),再根據(jù)實際情況分層。規(guī)范:dwd _ 業(yè)務(wù)域manual xxx 手工表,增加特殊的主題域,manual,表示手工維護(hù)表

指標(biāo)

指標(biāo)的命名也參考詞根,避免出現(xiàn)同一個指標(biāo),10個人有10個命名方法。

具體操作結(jié)合公司實際情況,規(guī)范及早制定。

數(shù)據(jù)治理

廣義數(shù)據(jù)倉庫的建設(shè)包含很多的解決方案,其中就包含數(shù)據(jù)治理,數(shù)據(jù)治理也是貫穿整個項目始終的,是一件長久的事情。現(xiàn)在很多人都把數(shù)據(jù)倉庫簡單的理解成數(shù)據(jù)建模了。

數(shù)據(jù)治理包含很多的事情,我也沒做過,所以在網(wǎng)上找些資料分享下。

為什么要做數(shù)據(jù)治理

隨著數(shù)據(jù)量越來越大,數(shù)據(jù)成為一種資產(chǎn),我們需要更好地管理這些數(shù)據(jù),更好地體現(xiàn)數(shù)據(jù)的價值,這就需要數(shù)據(jù)治理。其實在搭建數(shù)據(jù)平臺的時候,我們遇到的一系列問題都可以通過數(shù)據(jù)治理來解決:

  • 數(shù)據(jù)質(zhì)量越來越差,問題發(fā)現(xiàn)嚴(yán)重滯后

  • 缺少數(shù)據(jù)標(biāo)準(zhǔn),各個部門標(biāo)準(zhǔn)不統(tǒng)一

  • 數(shù)據(jù)變更對下游的影響不清晰,無法確認(rèn)影響范圍

數(shù)據(jù)治理(Data Governance),是一套持續(xù)改善管理機(jī)制,通常包括了數(shù)據(jù)架構(gòu)組織、數(shù)據(jù)模型、政策及體系制定、技術(shù)工具、數(shù)據(jù)標(biāo)準(zhǔn)、數(shù)據(jù)質(zhì)量、影響度分析、作業(yè)流程、監(jiān)督及考核流程等內(nèi)容。

簡單來說就是有很多流程和標(biāo)準(zhǔn),像“元數(shù)據(jù)管理”、“主數(shù)據(jù)管理”、“數(shù)據(jù)質(zhì)量”都包含其中。

通過數(shù)據(jù)治理來解決我們使用數(shù)據(jù)的過程中遇到的問題。

這部分內(nèi)容你可以參考:《所謂數(shù)據(jù)治理》

關(guān)于增量

很多初學(xué)者或者沒有做個ETL這件事兒的同學(xué)對這個增量是有誤解的,尤其是在和業(yè)務(wù)開發(fā)同學(xué)對接的時候,他們對這個增量的理解也是有偏差的。

先來說說他們以為的增量是什么。他們以為“增量,就是按照時間增量去拿就好了,增量同步,你就把增量后的數(shù)據(jù)給我好了,不要總是全量同步?!?按道理說,這么做思路是對的,但是不嚴(yán)謹(jǐn),而且會出錯,下面我們就一步一步看看。

1.什么是增量

增量是相對于全量來說的,它們都是處于“同步數(shù)據(jù)”這個場景下的,比如說業(yè)務(wù)系統(tǒng)的數(shù)據(jù)同步到數(shù)倉,數(shù)倉的數(shù)據(jù)同步給業(yè)務(wù)系統(tǒng),都會使用同步的方式,這都是相對于我們開發(fā)來說的,從數(shù)據(jù)庫級也是可以同步的,這里我們就不介紹了。

全量同步,就是說把數(shù)據(jù)全部同步過去,100條就同步100條,1萬條就同步1萬條,1億條就同步1億條,大家也應(yīng)該會發(fā)現(xiàn)這種方式存在的問題,在數(shù)據(jù)量小的時候,全量同步簡單方便易執(zhí)行,而當(dāng)數(shù)據(jù)量大了以后,尤其是歷史數(shù)據(jù)不會經(jīng)常變化的時候,全量同步就會浪費大量的資源和時間,嚴(yán)重影響同步效率。

--全量同步一般先delete,然后insert
delete from tmp_a;
insert into tmp_a xxx;
-- 或者直接 insert overwrite
insert overwrite table tmp_a xxx;

SQL語法可能不太一樣,差不多就是這個意思,哈哈

記住一定要刪除或者覆蓋插入,不然數(shù)據(jù)可就越來越多了。

選擇增量同步的幾個場景:

  • 數(shù)據(jù)量很大,而且歷史數(shù)據(jù)不會頻繁變化

  • 只需要增量數(shù)據(jù)

使用增量同步,對表有一些要求,比如,需要有create_time,update_time字段 create_time表示記錄創(chuàng)建時間,update_time表示記錄更新時間,增量的話,只需要把變化的數(shù)據(jù)拿過來就行了(使用update_time),注意:這里還需要有一個主鍵,主鍵是用來覆蓋數(shù)據(jù)的。

這里和不同的業(yè)務(wù)場景有關(guān)系,有的記錄創(chuàng)建后不會再更新,類似于流水?dāng)?shù)據(jù),這種數(shù)據(jù)直接增量拿過來就好,可以不進(jìn)行刪除操作;但是有的數(shù)據(jù)是會更新的,當(dāng)已經(jīng)同步過來的數(shù)據(jù)發(fā)生了變化,數(shù)倉側(cè)也是需要同步發(fā)生變化的。

2. 怎么做增量

增量同步也是要做一次初始化的,初始化是全量來的。

假設(shè)我們有這樣一張表:

create table tmp_a(
id bigint,
create_time datetime,
update_time datetime
);

一般離線場景下,都會選擇在業(yè)務(wù)量最少的時候去做同步操作,而這個時間大部分都是在半夜凌晨的時候,所以大部分同步都是從0點以后開始,同步昨天的數(shù)據(jù),也就是常說的T+1了。

假設(shè)3月1號創(chuàng)建了如下4條記錄,數(shù)倉會在2號凌晨進(jìn)行同步

2號的時候,新增了1條記錄,并且有一條記錄更新了,按照增量規(guī)則,我們會拿到兩條記錄

拿到增量數(shù)據(jù)之后,我們需要將增量的數(shù)據(jù)合并到我們數(shù)倉的表中

新增的數(shù)據(jù),可以直接插入,但是更新的數(shù)據(jù),我們需要把原紀(jì)錄更新掉,或者先刪除再插入,以前我們還會記錄一個數(shù)據(jù)插入的狀態(tài),如果是更新的,就記一個“update”,如果是插入的就記一個“insert”,到了這里,應(yīng)該知道為啥需要有主鍵了吧,如果沒有主鍵,你咋知道這條記錄到底變沒變過。

使用增量,一般需要兩套表,一套表用來存增量數(shù)據(jù),一套用來存完整的全量數(shù)據(jù)。

3. etl_insert_time

不管是增量還是全量,我都比較喜歡加一個時間戳字段,用來標(biāo)識記錄的插入時間,這個尤其是在對比增量數(shù)據(jù)的時候,排查數(shù)據(jù)問題很有用。

4. 我們公司的同步機(jī)制

我們呢,一創(chuàng)業(yè)公司,數(shù)據(jù)量不算多,使用的都是阿里云的工具,一開始為了方便,所有的數(shù)據(jù),都是全量來的,剛看了眼數(shù)據(jù)量又10幾T吧,其中很多是歷史數(shù)據(jù)。

雖然我們是全量來的,但是為了捕捉記錄數(shù)據(jù)的變化,用的是pt(分區(qū))的方式,每天都是一個全量快照,這也是現(xiàn)在存儲便宜的一種處理方法,簡單粗暴。我剛來的時候,就提過搞成增量,被拒絕了,后來也沒有人來搞這個,表太多了,修改起來成本太高。

5. 基于Hive的增量

Hive現(xiàn)在也算是標(biāo)配了,上面說的增量方案,可能還是基于關(guān)系型數(shù)據(jù)庫的,在Hive上,由于運算能力更強(qiáng)大,可以不考慮數(shù)據(jù)量的問題,所以衍生出來幾種方案。主要原因還是Hive上對于delete操作的支持問題,盡量不要有delete。

  • 排序(row_number)

我們依然每天獲取增量數(shù)據(jù),然后將增量數(shù)據(jù)插入到每個分區(qū)中,每個分區(qū)都是當(dāng)天的增量數(shù)據(jù),當(dāng)然數(shù)據(jù)變化的話,同一個主鍵的記錄會出現(xiàn)在多個分區(qū)中,所以如果我們要獲取最新的完整版數(shù)據(jù),可以使用row_number根據(jù)主鍵和時間排序,獲取最新版本的全量數(shù)據(jù)

  • full join

使用full join的方式,將增量數(shù)據(jù)和歷史全量數(shù)據(jù),進(jìn)行關(guān)聯(lián),然后取出最新完整版數(shù)據(jù)

  • left join + union all

這個和full join的方式類似,感覺這個更美觀嚴(yán)謹(jǐn)一些,以前在GP上面做增量也用的這種方式。

6. 拉鏈表

說到增量,也需要提一下拉鏈表,拉鏈表以前用的多一些,感覺在互聯(lián)網(wǎng)公司用的很少,基本都使用分區(qū)的方式處理掉了。拉鏈表其實就是記錄數(shù)據(jù)的每一次變化,處理起來稍微有點兒麻煩,這個以前好像寫過,等我找找貼過來。

上下游約定

由于數(shù)倉的特性和定位,它就需要強(qiáng)依賴上游的業(yè)務(wù)系統(tǒng),當(dāng)然也會有一些下游系統(tǒng),所以定好上下游的規(guī)范,變更的通知機(jī)制是非常有必要的。

感覺好像寫過上下游的事情,剛才沒找到,這里就再重新寫寫。

上游

這里說的主要是基于小公司,類似我目前所在的創(chuàng)業(yè)公司為例,像發(fā)展成熟的大公司,各種流程規(guī)定、容錯監(jiān)控類的機(jī)制都很完善,對于這些場景,我說的可能就不適用了。

對于數(shù)倉來說,最重要的就是數(shù)據(jù)了,數(shù)倉中的數(shù)據(jù),主要來源是業(yè)務(wù)系統(tǒng),就是公司各種業(yè)務(wù)數(shù)據(jù),所以數(shù)倉需要不斷的將業(yè)務(wù)系統(tǒng)數(shù)據(jù)同步到自身平臺來,所以一旦上游業(yè)務(wù)系統(tǒng)發(fā)生變化,數(shù)倉也要同步變化,不然,這種同步操作很可能失敗。

  • 表結(jié)構(gòu)變更

上游的表結(jié)構(gòu)經(jīng)常會發(fā)生變化,新增字段、修改字段、刪除字段(除非真的不用這個字段了,通常會選擇標(biāo)識為棄用)。表結(jié)構(gòu)最好要維護(hù)清楚,表名、字段名、字段類型、字段描述,都整理清楚,不使用的字段要么刪除,要么備注好,當(dāng)業(yè)務(wù)頻繁發(fā)生變化或者迭代優(yōu)化的時候,很容易出現(xiàn),我寫了半天的代碼,最后發(fā)現(xiàn)表用的不對,字段用的不對,這就尷尬了。

對于這種變化,人工處理的話,就是手動在數(shù)倉對應(yīng)的表中增加、修改字段,然后修改同步任務(wù);這個最好可以搞成自動化的,比如,自動監(jiān)控上游表結(jié)構(gòu)的變更,變化后,自動去修改數(shù)倉中的表結(jié)構(gòu),自動修改同步任務(wù)。

  • 枚舉值

業(yè)務(wù)系統(tǒng)中會有很多的常量,用來標(biāo)識一些狀態(tài)或者類型,這種值經(jīng)常會新增,數(shù)倉中會對這些值做些處理,比如轉(zhuǎn)換成維度,會翻譯成對應(yīng)的中文,而實際上這種映射關(guān)系,我們是不知道的,只有業(yè)務(wù)開發(fā)才知道,所以最好可以讓他們維護(hù)一張枚舉值表,我們?nèi)ネ竭@張表。

  • create_time & update_time

正常來說,create_time,當(dāng)這條記錄插入后,就不會再變了,但是某種情況下,哈哈,開發(fā)同學(xué)會去更新它;update_time,當(dāng)這條記錄變化后,這個時間也要變,有的開發(fā)同學(xué)不去更新它......

所以在做增量操作的時候,一定和開發(fā)說好這兩個字段的定義和使用場景。

  • is_delete & is_valid

有些場景下,我們需要刪除某些數(shù)據(jù),一般不會物理刪除,會通過一個字段來做邏輯刪除,請和開發(fā)同學(xué)溝通好,使用固定的一個字段,并確認(rèn)該字段雙方的理解是一致的,不然后面又很多坑。

下游

說完了上游,我們說說下游,對于數(shù)倉來說,一般的郵件、報表、可視化平臺都是下游,所以當(dāng)我們在數(shù)倉中進(jìn)行某些重構(gòu)、優(yōu)化操作的時候,也需要通知他們。

主要就是對數(shù)倉模型做好維護(hù),表的使用場景、字段描述等。

對上游的要求,自己也要做好,因為自己也是上游。

任務(wù)注釋

這一篇說說注釋,注釋總是讓人又愛又恨。

沒有注釋,誰知道你這些代碼是用來干嘛的,從代碼角度來看,你想做的是A,而實際上需求確是B,具體干啥得靠猜;代碼有注釋,也不一定就可以高枕無憂,注釋可能是最初版的需求,改了幾版后,代碼早就變了,注釋沒有變,注釋和代碼不匹配,誰知道該以哪個為準(zhǔn)啊。

我們的數(shù)倉都是基于阿里云的,使用了它的DataWorks作為離線工具,所有的代碼都在這上面,所以這里簡單介紹下,在阿里云上的任務(wù),幾點注釋規(guī)范。

--    @name p_dwd_rack_machine
-- @description 貨架寬表
-- @target rack.dwd_rack_machine

-- @source owo_ods.kylin__machine_release_his
-- @source owo_ods.kylin__machine_device_his

-- @author yuguiyang 2017-12-25
-- @modify

@name:任務(wù)的名字,我們的任務(wù)名一般都是以 p_目標(biāo)表名,后來阿里的DataWorks升級后,推薦是任務(wù)名和表名保持一致。

@description:任務(wù)描述,該任務(wù)的主要內(nèi)容 @target:目標(biāo)表名,一般一個任務(wù)只輸出一個目標(biāo)表

@source:來源表,就是任務(wù)中使用的底層表,這里也可以省略,從血緣關(guān)系中可以直接看到,而且很容易漏更新

@author:創(chuàng)建者,和創(chuàng)建日期, @modify:內(nèi)容變更記錄,變更人,變更日期,變更原因 ,這個從版本控制中也可以找到,但是這些這里更直觀一些。



【大數(shù)據(jù)嗶嗶集】Spark面試題靈魂40問

所謂數(shù)據(jù)治理

所謂數(shù)據(jù)模型

所謂數(shù)據(jù)質(zhì)量


留個微信,朋友圈更新大數(shù)據(jù)領(lǐng)域最新動態(tài)&面試題等,好友位有限,先到先得。


瀏覽 47
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产伦精品一区二区三区妓女| 欧美熟妇性爱视频| 免费亚洲视频| 免费黄色一级片| 黄片天堂| a级无码| 日本一区免费观看| 国产成人小电影| 91香蕉在线观看视频在线播放| 99视频免费看| 无码视频免费看| 插插网站| 51国产黑料吃瓜在线入口| 3D动漫精品一区二区在线播放免费| 日韩毛片在线免费观看| 久热热| 日本三级片网站在线观看| 国产v片| 亚洲激情五月天| 操逼视频无码| 中国黄色大片| va在线| 国产精品自拍三级| 五月激情六月婷婷| 午夜试看120秒体验区的特点| 美女AV网站| aaa免费| 99精品在线观看| 日逼国产| 欧美国产综合| 国产福利在线观看| 久久免费黄色| eeuss国产| 91精品人妻少妇无码影院| 亚洲国产成人一区二区| 欧美午夜性爱视频| 久久久极品| 精品一本道| 日韩vA| 亚洲国产一区二区三区四区| 69久久久久久久久久| 在线观看a片| 亚洲综合激情| 日韩无码中文字幕| 天天干天天撸| 亚洲精品日韩无码| 午夜理论片| 日韩激情毛片| 一本高清无码| 国产棈品久久久久久久久久九秃| 一级国产欧美成人A片| 午夜69成人做爱视频网站| 国产91视频在线观看| 91在线视频免费| 91欧美精品成人综合在线观看 | 午夜福利100理论片| 天堂A片| 亚州视频在线观看| 亚洲成人大片| 男人操女人免费网站| 国产乱叫456在线| 免费福利视频网站| 国产乱子伦一区二区三区视频| 国产精品欧美性爱| 69精品免费视频| 亚洲日韩中文字幕无码| 国产精品日韩| 俺去吔| TokyoKot大交乱无码| 18禁裸体美女| 亚洲乱码一区| 国产无遮挡又黄又爽在线观看 | 国产A片免费观看| 亚洲成人AⅤ| 国产精品视频免费在线观看| 亚洲精品久久久久久久久豆丁网| 桃色五月天| 无码一区二区三区在线观看| 激情五月天在线观看| 激情综合久久| 特级西西人体WWWWW| 超碰久操| av岛国免费| 国产91精品在线观看| 一级一级一级做a免费一级做a| 日本三区| 亚洲日韩激情| 西西人体大胆ww4444| 91精品国自产在线观看| 国产精品无码专区| 亚洲免费高清视频| 婷婷99| 91视频精品| 亚洲成人黄色| 一纹A片免费观看| 欧美性猛交一区二区三区| 高清色色女网站| 日韩精品一区二区三| 欧美怕怕怕| 大香蕉视频国产| 日本熟妇HD| 国产精品欧美激情| 国产精品7777| 欧美黄色站| 亚洲一区二区无码| 国产真实露脸乱子伦对白高清视频 | 中文字幕亚洲在线观看| 国产电影一区二区三区| 无码电影网| 91亚洲视频| 91大长腿美女花外围在线观看| 欧美性极品少妇精品网站| 天天操天天干麻豆| 十八禁福利网站| 东京热av一区二区| 一区二区三区无码精品| 欧美一级A片在线观看| 国产精品久久久久久久久久久久久久久 | 日韩在线播放视频| 91调教视频| 国产精品无码白浆高潮| 国产性爱av| 国产18| 亚洲视频免费在线观看| 无码免费中文字幕| 久久久久久一区| 国产在线欧美| 欧美成人网站免费在线观看| 国产乱子伦一区二区三区在线观看 | 手机在线观看AV| 人人操久久| 国模精品无码一区二区免费蜜桃 | 久久草在线播放| 成人无码区免费A片久久| 欧美色图综合网| 免费视频| 久9热| 亚洲免费精品视频| 欧美特黄AAA| 欧美99视频| 日韩欧美黄色电影| 日本中文字幕免费| 夜夜爽天天爽| 成人欧美一区二区三区黑人免费| sesese| 丁香四月婷婷| 天天干夜夜操| 亚洲高清电影| 欧美午夜成人一区二区三区| 久99视频| 日韩av电影在线观看| 五月天黄色电影| 国产最新在线| 午夜无码福利视频| 18啪啪网站| 超碰2022| 亚洲视频中文字幕| 亚洲久热| 北条麻妃一区二区三区在线观看 | 无码人妻精品一区二区蜜桃漫画| 国产精品无码专区AV免费播放| 老女人毛片| 天天艹逼| 国产免费精彩视频| 天堂中文8资源在线8| 91视频网站免费观看| 一区二区有限公司| 黄片在线免费观看视频| 亚洲第一视频| 国产日本在线视频| 波多野结衣无码AV专区| 欧美A黄片| 中文字幕永久在线观看| 亚洲AV无码成人精品区国产| 国产精品国产自产拍高清AV| 国产精品国产三级片| 日韩A片免费观看| 97操| 精品免费| 婷婷在线播放| 国产乱码| 欧美乱伦一区| 国产一区二区三区在线观看免费视频免费视频免费视频 | 国语精品自拍| 国产精品久久久久久久久久久久久久久 | 天天撸天天射| 黄色欧美视频| 美国高清无码| 性爱免费视频网站| 欧美丰满美乳XXⅩ高潮www| 国产精品AV在线| 狠狠干亚洲视频| 嫩BBB槡BBBB槡BBBB| 久久精品久| 男女www视频| 乱伦A片| 国产精品久久久久久久久A| 黄色视频在线观看| 自拍偷拍一区二区| 青春草在线观看视频| 成人免费黄片| 国产精品无码成人AV电影 | 翔田千里无码在线| 男女啪啪免费| 伊人精品大香蕉| 荫蒂添的高潮免费视频| 成人高清无码视频| 国产777777| 青青草成人免费在线视频| 狠狠艹狠狠干| 中文字幕国产精品| 亚洲福利视频在线| 11孩岁女精品A片BBB| 高清无码在线免费视频| 超碰天天操| 天天撸视频| 亚洲精品三级在线观看| 天天日天天色天天干| 91丨PORNY丨丰满人妻网站| 91香蕉在线| 毛片av在线| 日韩在线观看av| 国产一级片视频| 蜜桃AV| 亚洲欧洲视频在线观看| 日本免费无码| 精品九九九九| 久久成人A片| 嫩BBB槡BBBB槡BBBB免费视频| 福利色播| 国产黄网| 国产字幕在线观看| 中文字幕在线中文| 国内成人精品| 91在线91| 翔田千里无码A片| 农村少妇久久久久久久| 人人操人人爽| 精品国内视频| 99国产精品99久久久久久粉嫩 | av大香蕉| 婷婷五月色播| 在线观看成年人视频| 欧美精品久久久| 日本少妇高潮喷水XXXXXXX| 一级午夜| 干片网| free性欧美| 中文字幕人妻在线中文乱码怎么解决 | 无码22p| 色播视频在线观看| AV东方在线| 日韩大香蕉| 蜜桃久久久亚洲| 国产日本在线| 亚洲男人天堂| 亚州视频在线观看| 日本A片免费看| 色五月婷婷AV| 久久看片| 99在线精品视频免费观看软件| 免费无码在线看| 99色婷婷| 人妻体内射精一区二区| 乱子伦一区二区三区视频在线观看| 老师搡BBBB搡BBB| 性猛交AAAA片免费看蜜桃视频| 精品久久免费| 特级西西444WWW高清| 偷拍一区二区| 苏妲己一级婬片A片| 亚洲成人免费观看| 欧美一区二区三区四区视频| 少妇性受XXXX黑人XYX性爽 | 久久艹免费视频| www.黄片| 国产激情无码免费| 人妻少妇一区二区三区| 欧美人人插| 日韩福利网| 色人人| 操逼网123首页| 四虎永久在线精品| 中文字幕你懂的在线三级| 四季AV之日韩人妻无码| 爆操91| 久草a视频| 亚洲中文欧美| 免费爱爱视频| 日韩中文AV| 男人天堂v| 99AV| 中文字幕你懂的| 青青草无码成人AV片| 蜜臀久久精品久久久久| 人人色人人干| 北岛玲视频在线| 青榴社区| 国产精品色在线回看| 人成无码| 日韩电影一区| 在线无码视频观看| 亚洲成人视频免费观看| 精品乱子伦一区二区三区毛| 国产视频第一页| 亚洲成人中文字幕| 天天日人人| 狠狠撸狠狠干| 日日干网| 大香蕉官网| 亚洲三级片免费观看| 午夜精品视频在线观看| gogogo高清在线观看免费直播中国| 久久久久久五月天| 精品视频在线免费观看| 国产在线拍揄自揄拍无码男男| 日韩成人在线免费观看| 人妖黃色一級A片| 日韩在线视频91| 999高清无码| 99久久夜色精品国产亚洲| 日本黄色免费视频| 国产一区二区三区免费观看| 五月综合激情| 国产在线拍揄自揄拍无码男男| 无码一区二区三区四| 日本色影院| 亚洲日逼视频| 丰满无码| 授乳奶水x88MAV| 无套内射在线免费观看| 久久艹免费视频| 色逼五月| 北条麻妃在线视频聊天| 成人免费毛片视频| 婷婷精品免费久久| 中文字幕免费视频在线播放| 精品一区国产| 国产无码AV| 亚洲日韩欧美中在线| 久热中文字幕| 五月停亭六月,六月停亭的英语| 国产午夜福利视频| 国产c区| 国内操逼视频| 波多野结衣在线观看一区二区 | 亚洲综合激情| 懂色AV成人| 精品福利在线| 日韩A∨| 中文字幕91| 翔田千里无码AV在线观看| 国产成人在线免费观看| 亚洲黄色在线看| 久久久久久亚洲| 91一二区| 777AV| 黄色片网站免费观看| 日韩无码中文字幕| 五月天婷婷久久| 激情小视频国产在线播放| 操逼福利视频| 996热久久| 秋霞福利网| 国精产品一区二区三区在线观看| 中文字幕+乱码+中文乱码电影| 青青精品| 精品99视频| 香蕉国产在线| 国产传媒三级| 亚洲在线a| 在线观看a片| 99er在线| 翔田千里被躁120分钟| 日韩激情AV| 日韩视频成人| 日产毛片| 日韩欧美高清在线| 大鸡巴在线视频| 日韩人妻无码电影| 无码免费视频| 午夜福利1000| 亚洲精品无码在线播放| 亚洲熟女一区| 午夜视频网| 亚洲天堂成人| 美女视频毛片| 精品國產一區二區三區久久蜜月 | 91嫖妓站街按摩店老熟女| 国产精品精品精品| 色AV高清| 欧美伊人大香蕉| 一级视频免费观看| 久久嫩草精品久久久久| 欧美在线视频一区二区| 日韩在线视频观看| 熟女3P| 中文字幕在线观看一区二区三区| 亚洲你懂的| 日韩乱伦网站| 蜜桃av秘无码一区三区四| 成人激情免费视频| 日韩三级在线免费观看| 精品国产一区二区三区久久久蜜月| 国产思思99re99在线观看 | 三级小说| 日韩在线一区二区三区四区| 操逼逼一区二区三区| 综合色婷婷一区二区亚洲欧美国产 | 日韩在线不卡视频| 免费自拍视频| 丝袜美女足交| 天天骑夜夜操| 婷婷亚洲国产| 一区二区视频免费| 91社成人影院| 中文字幕天天在线| 国产第一页在线| 婷婷午夜精品久久久久久| 2025最新偷拍| 午夜性爱剧场| 亚洲成人大片| 91视频在线| Chinese搡老女人| 欧美一级高清片免费一级a| 牛牛在线视频| 日韩AV一级| 日韩AV一区二区在线观看| a在线免费观看| 日本免费黄| 国外亚洲成AV人片在线观看| 五月天社区| 日本一级特黄大片AAAAA级| 色欲影视插综合一区二区三区| 国产精品93333333| 色哟哟――国产精品| 国产欧美一区二区精品性色超碰| 中文解说AⅤ水果派| 麻豆视频在线播放| 国产乱妇乱子伦视频免费观看| 偷拍亚洲天堂| 牛牛无码| 一级片免费| 亚洲a级| 九色无码| 亚洲成人中文字幕| 色综合一区二区| 亚洲日本三级| 午夜撸一撸| 中文字幕免费视频在线观看| 日韩一区二区三区免费视频| 中文字幕永久在线5| 欧美拍拍视频| 狠狠干狠狠艹| 亚洲福利天堂| 中文字幕1区| 2025AV在线| 亚洲网站在线免费观看| 99久久久成人国产精品| 国产无遮挡又黄又爽| 亚洲视频在线观| 午夜精品久久久久久久99老熟妇| JLZZJLZZ亚洲女人| 日韩国产传媒| 天天躁狠狠躁夜躁2024| 亚洲清高毛无码毛片| 色色色色综合| 97资源视频| 无码在线免费观看视频| 日日干综合| 走光无码一区二区三区| 女侠吕四娘第二部| 成人黄片视频| 污视频网站在线观看| 日韩性无码| 欧美精产国品一二三| 日韩怡春院| 亚洲天堂视频网站| 亚洲AV无码乱码AV| 色婷婷一区| 色老板在线免费观看| 另类老妇奶性生BBwBBw偷拍| 国产高清AV| 九九成人电影| 丰满人妻一区二区三区视频54| 国产欧美一区二区三区特黄手机版| 天天干天天插| 亚洲最大无码| 亚洲视频,中文字幕| 影音先锋亚洲无码| 欧美成人午夜无码A片秀色直播| 人妻操逼| 欧一美一婬一伦一区二区三区黑人-亚| 欧美老妇大BBBBXXXX| 蜜桃视频一区二区三区四区av| 在线免费看a片| 99久久伊人| 欧美精品国产动漫| 性爱无码视频| 九色国产| 91精品久久久久久久久久| 99热青青| 欧美激情DVD| 久久久精品国产| 91成人国产| xxxxxbbbbb| 久艹在线观看视频| 国产熟女乱伦| 亚州精品人妻一二三区| 免费视频无码| 无码在线专区| 国产精品视频一区二区三区在线观看| 综合久久久| 懂色av粉嫩av蜜臀av| 久久肏屄| www.jiujiujiu| caobi999| 免费无码国产在线53| 18av在线观看| 91蜜桃传媒在线观看| av无码免费在线观看| 午夜精品久久久久久不卡8050 | 亚洲高潮| 天天色天天色| 操b在线观看| 国产无遮挡| 精品无码一区二区三区蜜桃李宗瑞| 色色在线观看| 国产中文字幕AV在线播放| 国产无码高清视频| 国产区AV| www三级片| 久久久久亚洲AV无码专区| 影音先锋无码一区| 久久人人操| 亚洲无码成人网站| 风流少妇一区二区三区91| 人妻av中文无码| 大香蕉网站视频| 欧洲肥胖BBBBBBBBBB| 久久黄色网| 久久综合热| 一级黄色电影免费观看| 狠狠躁日日躁夜夜躁A片男男视频| 日本亚洲视频| 91人妻无码一区二区久久| 亚洲成人高清| 91精品人妻一区二| 欧美亚洲日韩一区二区三区| aaa成人| 97免费在线观看视频| 国产人与禽zoz0性伦| 色老板在线观看| 久久综合电影| 91露脸熟女四川熟女在线观看| 一区在线免费观看| 免费黄色a片| 超碰997| 日韩精品一区二区三区四区| 波多野结衣性爱视频| 高清无码视频在线免费观看| 国产一区二区三区在线视频| 国产伦精品一区二区三区视频女 | 久操视频免费| 欧美激情在线观看| 人人操美女| 吃奶做爱视频| 黄色网址在线观看视频| 91羞射短视频在线观看| 国产精品黄片| 久久久久久久久久久高清毛片一级| 国产成人精品电影| 精品视频无码| 尹人在线视频| 国产21区| 午夜在线无码| 日本在线视频不卡| 中文无码日本高潮喷水| 色高清无码免费视频| 大香蕉777| 免费看一级一级人妻片| 免费a视频在线观看| 91在线无码精品秘入口国战| 欧美黄页| 麻豆精品国产传媒| 国产成人h| 无码人妻av一区| 亚洲高清视屏| 黑人干亚洲人| A亚洲天堂| 日韩一级二级| 操碰97| 亚洲天堂精品在线观看| 在线AⅤ| av天堂中文在线| 日韩射| 性淫影院| 中文字幕无码在线观看视频| 韩国无码视频在线观看| 亚洲AV无码成人精品区h麻豆| 欧美一级无码| 麻豆videos| 日韩黄色中文字幕| 国产黄色视频在线观看| 无码性爱视频| 午夜福利黄色| 人妻视频网站| 中国熟妇XXXX18| 婷婷视频在线观看| 99精品久久久久久无码| 精品视频91| 波多野结衣日韩| 99久久婷婷| 自拍偷拍| 国产一级a一片成人AV| 婷婷国产成人精品视频| 一区二区三区无码精品| 无码免费毛片| 久久秘成人久久无码| 亚洲色香蕉| 99精品一区二区| 91AV免费看| 欧美日韩中文在线视频| 国产91综合一区在线观看| 竹菊影视一区二区三区| 2025av中文字幕| 淫乱人妻| 中文字幕在线观看完整av| 天天射综合| 神马午夜精品95| 一区二区三区无码视频| 国产一级在线| 中文字幕日韩人妻| 熟女中文字幕| 在线成人网站| 国产在线激情视频| 日韩人妻一区二区| 久久久999| 日本三级视频| 天天干天天操天天| 国产强伦轩免费视频在线| 亚洲一区视频| 国产精品成人片| 超碰久草| 二区无码| 娇小,学生,高潮,videos| 男女拍拍拍| 操逼视频免费| 蜜桃一区二区中午字幕| 巨い巨乳の少妇あジed2k| 国产免费视频69| 最新午夜综合福利视频| 超碰自拍私拍二区三区区| 日AV在线无| 免费看日P视频| 欧美一二三区黄色免费视屏| 国产一级婬片A片免费妖精视频| 88海外华人免费一区| 蜜桃Av| 性爱视频91| 99精品偷自拍| JIZZJIZZ国产精品喷水| 2019中文字幕mv第三季歌词| 老女人操屄| 婷婷色吧| 国产区在线视频| 欧美日韩国产91| 成人福利电影| 精品国内自产拍在线观看视频| 69国产精品无码免费| 免费在线观看视频黄| 91中文字幕在线播放| 婷婷精品免费久久| 亚洲视频黄色| 亚洲狼人天堂| 一本色道久久综合亚洲精品小说| 国产最新视频| 18一20女一片毛片| 亚洲激情五月天| 国产成人三级| 日韩操逼视频| 一区二区三区国产视频| 免费成人在线网站| 开心色播五月天| 高潮91PORN蝌蚪九色| 亚洲无码一级视频| 精品无码一区二区三区在线| 性爱视频久久| 欧美特大黄| 国产乱子伦-区二区三区四区| 欧美亚洲中文字幕| 中文字幕视频在线播放| 人人操人人摸人人| 青草久久久| 91免费在线视频| 翔田千里高潮90分钟| 五十路義母| 黄片WWW| 精品免费一区二区三区四区| 88无码| 午夜AV在线免费观看| 久久久久亚洲AV无码麻豆| 无码插逼| 超碰在线观看91| 91精品电影18| 亚洲中文字幕在线观看| 久久精品水多多www| 亚洲成人AV一区二区| 国产主播AV| 日日99| 蜜桃视频网址| 欧美色视频在线观看| 大鸡吧在线视频| 午夜国产在线| 国产91视频| 老熟女AV| 大香蕉大香蕉免费网| 一区二区三区www污污污网站| 日韩免费中文字幕A片| 熟妇人妻丰满久久久久久久无码 | 国产A片精品| 五月丁香婷婷开心| 88av在线播放| 大伊香蕉在线| 亚洲va欧洲va国产va不卡| 欧美日本国产| 日日碰狠狠添| 欧美成人在线视频| 大鸡吧操逼| 亚洲人人18XXX—20HD| 欧美日韩在线视频免费| 久久久久久久97| 日本爱爱视频免费| 热99| 免费看黄片网站| 国产精品女人精品久久久天天| 久久免费成人电影| 国产精品久久毛片| 亚洲成色A片77777在线小说| 人人操人人干人人爽| 欧美视频在线观看免费| 色视频在线观看| www黄片视频| 无码人妻一区二区三一区免费n狂飙 | 国产精品无码久久久久成人app| 亚洲无码中文字幕视频| 老熟女伦一区二区三区| 欧美成人福利| 欧美综合在线观看| 亚洲AV无码乱码精品| 天堂91| 亚洲Av无码午夜国产精品色软件| 91av一区| 喷水在线观看| 久久久亚洲| 色婷婷在线视频| 欧美怕怕| 青青草视频偷拍| 在线观看av网站| 中文字幕免费在线视频| 午夜国产视频| 大香蕉伊人成人网| 玩弄大荫蒂视频| 国产高清无码在线观看视频| 国产乱妇乱子伦视频免费观看让女人 | 波多野结衣亚洲| 一区二区三区精品| 女人久久久久| 国产精品毛片一区二区在线看| 五月天婷婷色色| 日本久久久| 人人操人人色| 久久九九国产精品怡红院| 99在线精品视频观看| 欧美成人超碰| 淫香淫色综合网| 日韩精品一区二区三区免费观看高清 | 中文在线资源| 天天视频色| 日韩黄色电影| 黄色香蕉网站| 一级免费片| 日本综合久久| 伊人网视频在线观看| 中国女人如毛片| 欧洲综合视频| 中文字幕亚洲高清| 黄片AAA| aa人人操夜夜操人人| 亚洲无码AV免费观看| 大香蕉a片| 女生自慰网站在线观看| 777AV| 国产精品精品| 粉嫩小泬BBBBBB免费看| 亚洲色婷婷综合| 91成人免费视频| 97人人操人人干| 五月天婷婷成人| 久久精品一区二区三区蜜芽的特点| 亚洲最大黄色| 国产AV高潮| 在线视频你懂| 黄色成人网站在线观看免费| 婷婷色图| 黄色a片在线观看| 国产女人18毛片水真多成人如厕 | 毛片无遮挡| 一级A级毛片| 女人天堂AV| 中文字幕66页| 大香蕉最新视频| 丁香婷婷视频| 免费看操逼| AV大全在线免费观看| 无码免费毛片一区二区三区古代| 人人爽夜夜爽| 永井玛丽亚av无码中出流出 | 欧美日韩亚洲中文字幕| 一级A片60分钟免费看| 中国免费看片| 欧美一级a视频免费放| 罗莉AV| 天天操B| 欧美精品在线免费观看| 国产成人AV在线观看| 逼网站| 手机AV网站| 精品国产区一区二| 国产精品无码天天爽视频| 色天堂在线观看| 无码人妻一区二区三区三| 91人人操人人爽| 国产精品久久久精品| 日韩欧美日本| 先锋久久| 五月婷婷亚洲| 国产精品欧美综合在线| 中文激情网| 一级全黄120分钟免费| 在线观看免费黄片| 狠狠色狠狠撸| 五月婷婷六月香| 黃色一级一片免费播放| 特黄视频在线观看| 久久这里精品| 亚洲性爱AV| 亚洲无码一区二区三区妃光| 337P人体美鮑高清| 五月天中文字幕| 亚洲视频1区| 一区二区有限公司| 7799精品视频| WWW黄片| 无码人妻丰满熟妇区蜜桃| 国产美女自慰网站| 视频一区二区免费| 尤物在线免费视频| 中文字幕亚洲日韩| 国产卡一卡二在线观看| 99热最新国产| 国产免费久久| 成人无码日本动漫电影| 亚洲视频在线免费看| 97超碰大香蕉| 午夜精品在线观看| 亚洲爆乳无码一区二区三区 | 精品人妻无码一区二区三区四川人| 黄片入口| 国产精品2025| 成人AV十八亚洲二区| 日韩免费视频在线观看| 欧美日韩色视频| 久久不射| 空姐白洁| 超碰在线人妻| 99在线精品视频免费观看软件| 亚洲国产成人精品综合99| 亚欧洲精品在线视频| 香蕉视频91| 黄色网页免费观看| 9999国产精品| 久热久热| 亚欧精品久久久| 午夜成人免费视频| 成人精品网| 嫩草久久99www亚洲红桃| 97干干| 操逼视频看看| 东京热三区| 最近中文字幕2022在线观看A| 黄色片无码| 日韩A片无码ⅩXXXX| 美日韩一级| 91超碰人人操| 俺去也| 日本A片在线免费观看| 99热免费在线| 在线免费黄色网址| 欧美成人黄色A片|