精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Hive千億級數(shù)據(jù)傾斜解決方案

大數(shù)據(jù)
MapReduce和Spark中的數(shù)據(jù)傾斜解決方案原理都是類似的,以下討論Hive使用MapReduce引擎引發(fā)的數(shù)據(jù)傾斜,Spark數(shù)據(jù)傾斜也可以此為參照。

[[394902]]

本文轉(zhuǎn)載自微信公眾號「五分鐘學(xué)大數(shù)據(jù)」,作者園陌 。轉(zhuǎn)載本文請聯(lián)系五分鐘學(xué)大數(shù)據(jù)公眾號。

數(shù)據(jù)傾斜問題剖析

數(shù)據(jù)傾斜是分布式系統(tǒng)不可避免的問題,任何分布式系統(tǒng)都有幾率發(fā)生數(shù)據(jù)傾斜,但有些小伙伴在平時工作中感知不是很明顯。這里要注意本篇文章的標(biāo)題—“千億級數(shù)據(jù)”,為什么說千億級,因為如果一個任務(wù)的數(shù)據(jù)量只有幾百萬,它即使發(fā)生了數(shù)據(jù)傾斜,所有數(shù)據(jù)都跑到一臺機器去執(zhí)行,對于幾百萬的數(shù)據(jù)量,一臺機器執(zhí)行起來還是毫無壓力的,這時數(shù)據(jù)傾斜對我們感知不大,只有數(shù)據(jù)達(dá)到一個量級時,一臺機器應(yīng)付不了這么多數(shù)據(jù),這時如果發(fā)生數(shù)據(jù)傾斜,最后就很難算出結(jié)果。

所以就需要我們對數(shù)據(jù)傾斜的問題進行優(yōu)化,盡量避免或減輕數(shù)據(jù)傾斜帶來的影響。

在解決數(shù)據(jù)傾斜問題之前,還要再提一句:沒有瓶頸時談?wù)搩?yōu)化,都是自尋煩惱。

大家想想,在map和reduce兩個階段中,最容易出現(xiàn)數(shù)據(jù)傾斜的就是reduce階段,因為map到reduce會經(jīng)過shuffle階段,在shuffle中默認(rèn)會按照key進行hash,如果相同的key過多,那么hash的結(jié)果就是大量相同的key進入到同一個reduce中,導(dǎo)致數(shù)據(jù)傾斜。

那么有沒有可能在map階段就發(fā)生數(shù)據(jù)傾斜呢,是有這種可能的。

一個任務(wù)中,數(shù)據(jù)文件在進入map階段之前會進行切分,默認(rèn)是128M一個數(shù)據(jù)塊,但是如果當(dāng)對文件使用GZIP壓縮等不支持文件分割操作的壓縮方式時,MR任務(wù)讀取壓縮后的文件時,是對它切分不了的,該壓縮文件只會被一個任務(wù)所讀取,如果有一個超大的不可切分的壓縮文件被一個map讀取時,就會發(fā)生map階段的數(shù)據(jù)傾斜。

所以,從本質(zhì)上來說,發(fā)生數(shù)據(jù)傾斜的原因有兩種:一是任務(wù)中需要處理大量相同的key的數(shù)據(jù)。二是任務(wù)讀取不可分割的大文件。

數(shù)據(jù)傾斜解決方案

MapReduce和Spark中的數(shù)據(jù)傾斜解決方案原理都是類似的,以下討論Hive使用MapReduce引擎引發(fā)的數(shù)據(jù)傾斜,Spark數(shù)據(jù)傾斜也可以此為參照。

1. 空值引發(fā)的數(shù)據(jù)傾斜

實際業(yè)務(wù)中有些大量的null值或者一些無意義的數(shù)據(jù)參與到計算作業(yè)中,表中有大量的null值,如果表之間進行join操作,就會有shuffle產(chǎn)生,這樣所有的null值都會被分配到一個reduce中,必然產(chǎn)生數(shù)據(jù)傾斜。

之前有小伙伴問,如果A、B兩表join操作,假如A表中需要join的字段為null,但是B表中需要join的字段不為null,這兩個字段根本就join不上啊,為什么還會放到一個reduce中呢?

這里我們需要明確一個概念,數(shù)據(jù)放到同一個reduce中的原因不是因為字段能不能join上,而是因為shuffle階段的hash操作,只要key的hash結(jié)果是一樣的,它們就會被拉到同一個reduce中。

解決方案:

第一種:可以直接不讓null值參與join操作,即不讓null值有shuffle階段

  1. SELECT * 
  2. FROM log a 
  3.  JOIN users b 
  4.  ON a.user_id IS NOT NULL 
  5.   AND a.user_id = b.user_id 
  6. UNION ALL 
  7. SELECT * 
  8. FROM log a 
  9. WHERE a.user_id IS NULL

第二種:因為null值參與shuffle時的hash結(jié)果是一樣的,那么我們可以給null值隨機賦值,這樣它們的hash結(jié)果就不一樣,就會進到不同的reduce中:

  1. SELECT * 
  2. FROM log a 
  3.  LEFT JOIN users b ON CASE  
  4.    WHEN a.user_id IS NULL THEN concat('hive_', rand()) 
  5.    ELSE a.user_id 
  6.   END = b.user_id; 

2. 不同數(shù)據(jù)類型引發(fā)的數(shù)據(jù)傾斜

對于兩個表join,表a中需要join的字段key為int,表b中key字段既有string類型也有int類型。當(dāng)按照key進行兩個表的join操作時,默認(rèn)的Hash操作會按int型的id來進行分配,這樣所有的string類型都被分配成同一個id,結(jié)果就是所有的string類型的字段進入到一個reduce中,引發(fā)數(shù)據(jù)傾斜。

解決方案:

如果key字段既有string類型也有int類型,默認(rèn)的hash就都會按int類型來分配,那我們直接把int類型都轉(zhuǎn)為string就好了,這樣key字段都為string,hash時就按照string類型分配了:

  1. SELECT * 
  2. FROM users a 
  3.  LEFT JOIN logs b ON a.usr_id = CAST(b.user_id AS string); 

3. 不可拆分大文件引發(fā)的數(shù)據(jù)傾斜

當(dāng)集群的數(shù)據(jù)量增長到一定規(guī)模,有些數(shù)據(jù)需要歸檔或者轉(zhuǎn)儲,這時候往往會對數(shù)據(jù)進行壓縮;當(dāng)對文件使用GZIP壓縮等不支持文件分割操作的壓縮方式,在日后有作業(yè)涉及讀取壓縮后的文件時,該壓縮文件只會被一個任務(wù)所讀取。如果該壓縮文件很大,則處理該文件的Map需要花費的時間會遠(yuǎn)多于讀取普通文件的Map時間,該Map任務(wù)會成為作業(yè)運行的瓶頸。這種情況也就是Map讀取文件的數(shù)據(jù)傾斜。

解決方案:

這種數(shù)據(jù)傾斜問題沒有什么好的解決方案,只能將使用GZIP壓縮等不支持文件分割的文件轉(zhuǎn)為bzip和zip等支持文件分割的壓縮方式。

所以,我們在對文件進行壓縮時,為避免因不可拆分大文件而引發(fā)數(shù)據(jù)讀取的傾斜,在數(shù)據(jù)壓縮的時候可以采用bzip2和Zip等支持文件分割的壓縮算法。

4. 數(shù)據(jù)膨脹引發(fā)的數(shù)據(jù)傾斜

在多維聚合計算時,如果進行分組聚合的字段過多,如下:

select a,b,c,count(1)from log group by a,b,c with rollup;

注:對于最后的with rollup關(guān)鍵字不知道大家用過沒,with rollup是用來在分組統(tǒng)計數(shù)據(jù)的基礎(chǔ)上再進行統(tǒng)計匯總,即用來得到group by的匯總信息。

如果上面的log表的數(shù)據(jù)量很大,并且Map端的聚合不能很好地起到數(shù)據(jù)壓縮的情況下,會導(dǎo)致Map端產(chǎn)出的數(shù)據(jù)急速膨脹,這種情況容易導(dǎo)致作業(yè)內(nèi)存溢出的異常。如果log表含有數(shù)據(jù)傾斜key,會加劇Shuffle過程的數(shù)據(jù)傾斜。

解決方案:

可以拆分上面的sql,將with rollup拆分成如下幾個sql:

  1. SELECT a, b, c, COUNT(1) 
  2. FROM log 
  3. GROUP BY a, b, c; 
  4.  
  5. SELECT a, b, NULLCOUNT(1) 
  6. FROM log 
  7. GROUP BY a, b; 
  8.  
  9. SELECT a, NULLNULLCOUNT(1) 
  10. FROM log 
  11. GROUP BY a; 
  12.  
  13. SELECT NULLNULLNULLCOUNT(1) 
  14. FROM log; 

但是,上面這種方式不太好,因為現(xiàn)在是對3個字段進行分組聚合,那如果是5個或者10個字段呢,那么需要拆解的SQL語句會更多。

在Hive中可以通過參數(shù) hive.new.job.grouping.set.cardinality 配置的方式自動控制作業(yè)的拆解,該參數(shù)默認(rèn)值是30。表示針對grouping sets/rollups/cubes這類多維聚合的操作,如果最后拆解的鍵組合大于該值,會啟用新的任務(wù)去處理大于該值之外的組合。如果在處理數(shù)據(jù)時,某個分組聚合的列有較大的傾斜,可以適當(dāng)調(diào)小該值。

5. 表連接時引發(fā)的數(shù)據(jù)傾斜

兩表進行普通的repartition join時,如果表連接的鍵存在傾斜,那么在 Shuffle 階段必然會引起數(shù)據(jù)傾斜。

解決方案:

通常做法是將傾斜的數(shù)據(jù)存到分布式緩存中,分發(fā)到各個Map任務(wù)所在節(jié)點。在Map階段完成join操作,即MapJoin,這避免了 Shuffle,從而避免了數(shù)據(jù)傾斜。

MapJoin是Hive的一種優(yōu)化操作,其適用于小表JOIN大表的場景,由于表的JOIN操作是在Map端且在內(nèi)存進行的,所以其并不需要啟動Reduce任務(wù)也就不需要經(jīng)過shuffle階段,從而能在一定程度上節(jié)省資源提高JOIN效率。

在Hive 0.11版本之前,如果想在Map階段完成join操作,必須使用MAPJOIN來標(biāo)記顯示地啟動該優(yōu)化操作,由于其需要將小表加載進內(nèi)存所以要注意小表的大小。

如將a表放到Map端內(nèi)存中執(zhí)行,在Hive 0.11版本之前需要這樣寫:

  1. select /* +mapjoin(a) */ a.id , a.name, b.age  
  2. from a join b  
  3. on a.id = b.id; 

如果想將多個表放到Map端內(nèi)存中,只需在mapjoin()中寫多個表名稱即可,用逗號分隔,如將a表和c表放到Map端內(nèi)存中,則 /* +mapjoin(a,c) */ 。

在Hive 0.11版本及之后,Hive默認(rèn)啟動該優(yōu)化,也就是不在需要顯示的使用MAPJOIN標(biāo)記,其會在必要的時候觸發(fā)該優(yōu)化操作將普通JOIN轉(zhuǎn)換成MapJoin,可以通過以下兩個屬性來設(shè)置該優(yōu)化的觸發(fā)時機:

hive.auto.convert.join=true 默認(rèn)值為true,自動開啟MAPJOIN優(yōu)化。

hive.mapjoin.smalltable.filesize=2500000 默認(rèn)值為2500000(25M),通過配置該屬性來確定使用該優(yōu)化的表的大小,如果表的大小小于此值就會被加載進內(nèi)存中。

注意:使用默認(rèn)啟動該優(yōu)化的方式如果出現(xiàn)莫名其妙的BUG(比如MAPJOIN并不起作用),就將以下兩個屬性置為fase手動使用MAPJOIN標(biāo)記來啟動該優(yōu)化:

hive.auto.convert.join=false (關(guān)閉自動MAPJOIN轉(zhuǎn)換操作)

hive.ignore.mapjoin.hint=false (不忽略MAPJOIN標(biāo)記)

再提一句:將表放到Map端內(nèi)存時,如果節(jié)點的內(nèi)存很大,但還是出現(xiàn)內(nèi)存溢出的情況,我們可以通過這個參數(shù) mapreduce.map.memory.mb 調(diào)節(jié)Map端內(nèi)存的大小。

6. 確實無法減少數(shù)據(jù)量引發(fā)的數(shù)據(jù)傾斜

在一些操作中,我們沒有辦法減少數(shù)據(jù)量,如在使用 collect_list 函數(shù)時:

  1. select s_age,collect_list(s_score) list_score 
  2. from student 
  3. group by s_age 

collect_list:將分組中的某列轉(zhuǎn)為一個數(shù)組返回。

在上述sql中,s_age如果存在數(shù)據(jù)傾斜,當(dāng)數(shù)據(jù)量大到一定的數(shù)量,會導(dǎo)致處理傾斜的reduce任務(wù)產(chǎn)生內(nèi)存溢出的異常。

注:collect_list輸出一個數(shù)組,中間結(jié)果會放到內(nèi)存中,所以如果collect_list聚合太多數(shù)據(jù),會導(dǎo)致內(nèi)存溢出。

有小伙伴說這是 group by 分組引起的數(shù)據(jù)傾斜,可以開啟hive.groupby.skewindata參數(shù)來優(yōu)化。我們接下來分析下:

開啟該配置會將作業(yè)拆解成兩個作業(yè),第一個作業(yè)會盡可能將Map的數(shù)據(jù)平均分配到Reduce階段,并在這個階段實現(xiàn)數(shù)據(jù)的預(yù)聚合,以減少第二個作業(yè)處理的數(shù)據(jù)量;第二個作業(yè)在第一個作業(yè)處理的數(shù)據(jù)基礎(chǔ)上進行結(jié)果的聚合。

hive.groupby.skewindata的核心作用在于生成的第一個作業(yè)能夠有效減少數(shù)量。但是對于collect_list這類要求全量操作所有數(shù)據(jù)的中間結(jié)果的函數(shù)來說,明顯起不到作用,反而因為引入新的作業(yè)增加了磁盤和網(wǎng)絡(luò)I/O的負(fù)擔(dān),而導(dǎo)致性能變得更為低下。

解決方案:

這類問題最直接的方式就是調(diào)整reduce所執(zhí)行的內(nèi)存大小。

調(diào)整reduce的內(nèi)存大小使用mapreduce.reduce.memory.mb這個配置。

 

責(zé)任編輯:武曉燕 來源: 五分鐘學(xué)大數(shù)據(jù)
相關(guān)推薦

2022-02-23 12:07:20

分布式Spark數(shù)據(jù)傾斜

2009-03-19 09:49:00

華為數(shù)據(jù)備份賽門鐵克

2017-05-10 14:41:41

存儲

2022-01-04 20:34:00

數(shù)據(jù)安全Relay

2021-08-04 07:21:31

Hive 數(shù)據(jù)排查

2022-01-09 21:46:22

安全數(shù)據(jù)Sentry

2022-01-05 20:16:52

Sentry Relay 數(shù)據(jù)安全

2022-01-08 15:08:17

項目配置Sentry

2022-01-06 20:00:39

數(shù)據(jù)企業(yè)安全

2022-01-12 23:54:27

Sentry企業(yè)級安全

2022-01-07 18:07:16

數(shù)據(jù)安全監(jiān)控

2020-11-03 10:16:24

Hive數(shù)據(jù)傾斜Hive SQL

2013-10-18 15:27:30

微軟大數(shù)據(jù)微軟

2013-07-30 11:18:59

SAP大數(shù)據(jù)解決方案

2021-06-29 12:00:36

Eclipse開源數(shù)據(jù)傳輸

2009-04-27 17:12:11

數(shù)據(jù)保護EDPSafeNet

2023-03-27 09:14:34

2024-08-12 12:07:18

2022-09-19 16:22:43

數(shù)據(jù)庫方案

2011-08-05 17:09:48

Informatica數(shù)據(jù)復(fù)制
點贊
收藏

51CTO技術(shù)棧公眾號

三级黄色免费观看| 国产极品美女高潮无套久久久| 国产女主播福利| 国内精品久久久久久久97牛牛 | 欧美性生活大片免费观看网址| 欧美日韩亚洲一区二区三区四区| 97超碰国产在线| 一区久久精品| 伊人久久久久久久久久久久久| 日本成人xxx| 在线观看的黄色| 亚洲视频综合在线| 欧美精品一区在线| 亚洲黄色在线播放| 日本麻豆一区二区三区视频| 欧美高清电影在线看| 中文字幕在线观看免费高清| 99精品中文字幕在线不卡| 欧美色老头old∨ideo| 日本xxxxxxxxxx75| 欧美猛烈性xbxbxbxb| 成人免费视频caoporn| 国产精品偷伦视频免费观看国产 | 麻豆av在线免费看| 91麻豆精品在线观看| 91在线中文字幕| 成人a v视频| 亚洲欧洲另类| 欧美裸体男粗大视频在线观看| 亚洲一区视频在线播放| 国产亚洲成av人片在线观黄桃| 欧美日韩午夜精品| 免费在线观看的毛片| 97人人在线视频| 一区二区在线观看不卡| 一区二区三区四区| 国产亚洲依依| 久久先锋影音av鲁色资源| 高清免费日韩| www.97av.com| 国产一区二区三区免费看 | 国产精品12345| 菠萝蜜视频国产在线播放| 国产精品沙发午睡系列990531| 久久久一本精品99久久精品| 少妇人妻精品一区二区三区| 国产成人免费视频网站高清观看视频| 国产在线高清精品| 国产偷人爽久久久久久老妇app | www.久久久精品| 91精品国产经典在线观看| 午夜视频在线观看一区| 蜜臀av无码一区二区三区| 色婷婷在线播放| 亚洲精品成人悠悠色影视| 99re99热| 欧美14一18处毛片| 亚洲综合一区在线| 国产精品国产对白熟妇| av影院在线免费观看| 午夜视频一区在线观看| 免费黄色福利视频| 电影久久久久久| 欧美日韩一本到| 九九热免费在线观看| 91精品麻豆| 日韩免费一区二区三区在线播放| 乱码一区二区三区| 精品综合久久88少妇激情| 日韩二区三区在线| 亚洲精品视频网址| 久久精品一区二区不卡| 九九热精品视频国产| 国产精品7777| 老司机亚洲精品| 91精品啪在线观看麻豆免费| 性一交一乱一精一晶| 成人av一区二区三区| 久久艳妇乳肉豪妇荡乳av| 高清av在线| 中文字幕第一区第二区| 在线观看成人av电影| 日本h片在线观看| 欧美日韩一区二区三区| gogogo高清免费观看在线视频| 国产精品国产亚洲精品| 精品福利在线导航| 女女互磨互喷水高潮les呻吟| 国产精品97| 性色av一区二区三区| 日韩在线视频不卡| 久久91精品国产91久久小草| 国产一区在线观| 丝袜美腿美女被狂躁在线观看| 亚洲综合精品久久| 麻豆一区二区三区视频| 日韩精品视频中文字幕| 亚洲欧美日韩成人| 欧美日韩在线观看免费| 视频在线观看一区二区三区| 亚洲一区二区免费在线| 日韩精品视频无播放器在线看| 国产精品丝袜久久久久久app| 青青青在线观看视频| 色天使综合视频| 精品国产1区二区| 福利视频第一页| 国产亚洲精品bv在线观看| 成人黄色免费在线观看| 欧美777四色影视在线| 亚洲色图欧洲色图婷婷| 国产黄色特级片| 国产精品久久久网站| 久久精品久久久久久国产 免费| 国产免费观看av| 国产成人精品亚洲日本在线桃色| 日韩亚洲欧美精品| 丝袜老师在线| 精品久久久久久久久久久久久久久 | 久久综合色影院| 国产91精品看黄网站在线观看| 国产精品一区二区不卡| 三区精品视频观看| 韩日毛片在线观看| 亚洲成人激情在线观看| 黄色一级片在线| 国内久久精品视频| 亚洲高清不卡一区| 亚洲成人人体| 亚洲精品综合精品自拍| 国产香蕉视频在线| 福利视频网站一区二区三区| 免费国产成人看片在线| 免费视频成人| 一区二区欧美日韩视频| 无码人妻精品一区二区| 久久免费的精品国产v∧| 国产日韩av网站| 红杏一区二区三区| 欧美激情综合亚洲一二区| www黄色在线观看| 亚洲免费成人av| 污视频在线观看免费网站| 欧美超碰在线| 成人亚洲欧美一区二区三区| 亚洲麻豆精品| 欧美日韩国产一二三| 88久久精品无码一区二区毛片| 日韩天天综合| 精品国产一区二区三区四区精华 | 日韩av久操| 国产精品日日摸夜夜添夜夜av| 国产特黄在线| 欧美1级2级| 日韩人体视频一二区| 亚洲一区二区乱码| 亚洲一区亚洲| 蜜桃av噜噜一区二区三| 欧美亚洲韩国| 中文字幕日韩精品在线观看| 中文字幕在线观看1| 国产精品拍天天在线| 欧美美女性视频| 欧美一区二区三区久久精品茉莉花| 亚洲一区二区三区sesese| 国产精品剧情| 亚洲精品在线免费观看视频| 日韩精品在线免费看| 久久综合久久99| 亚洲中文字幕久久精品无码喷水| 青草国产精品| 92裸体在线视频网站| av电影院在线看| 精品呦交小u女在线| 日韩中文字幕高清| 中文字幕日韩欧美一区二区三区| 中文字幕无码毛片免费看| 精品9999| 日本高清不卡一区二区三| 香蕉成人在线| 久久人人爽人人爽人人片av高请| 亚洲 国产 欧美 日韩| 欧日韩精品视频| 久久机热这里只有精品| 91麻豆成人久久精品二区三区| 国产wwwxx| 欧美片第1页综合| 欧美二区在线| 欧美二区观看| 国产aⅴ夜夜欢一区二区三区| 国产午夜精品久久久久免费视| 亚洲国产精品久久91精品| 中文字幕 人妻熟女| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲成人av片在线观看| 波多野结衣一二区| 亚洲一级二级在线| 亚洲ⅴ国产v天堂a无码二区| 国产98色在线|日韩| 老司机午夜av| 亚洲网站视频| 伊人久久大香线蕉成人综合网 | 亚洲成色www8888| 亚洲永久精品视频| 岛国av一区二区三区| 精品国产大片大片大片| 99热99精品| 国产91在线免费观看| 日韩va欧美va亚洲va久久| 久久久久久久9| 欧美艳星介绍134位艳星| 国产经品一区二区| 国产高清视频一区二区| 国产精品wwwwww| 色戒汤唯在线| 久久久久久久久久国产精品| 在线免费看黄| 国产一区二区三区在线观看视频 | 丰满人妻老熟妇伦人精品| 亚洲欧美乱综合| 国产欧美小视频| 久久久久久久久蜜桃| 无码人妻一区二区三区在线| 精品一区二区在线免费观看| 国产精品无码一本二本三本色| 亚洲视屏一区| 国产一区二区三区小说| 亚洲国产精品成人| 曰韩不卡视频| 色喇叭免费久久综合| 婷婷四月色综合| 精品久久久久久久久久久下田 | 色综合天天综合狠狠| 日韩大片免费在线观看| 一区二区三区中文字幕电影 | 偷拍与自拍一区| 精品在线视频免费| 亚洲激情中文1区| 亚洲综合网在线| 亚洲日本在线视频观看| 三级全黄做爰视频| 亚洲欧美中日韩| 波多野结衣家庭教师| 亚洲美女在线一区| 成人性生活毛片| 国产精品理论在线观看| 老司机深夜福利网站| 中文字幕一区不卡| 97精品在线播放| 中文字幕综合网| 91在线播放观看| 亚洲午夜一二三区视频| 国产性猛交普通话对白| 亚洲午夜私人影院| 韩国av中文字幕| 色婷婷狠狠综合| 久久久久久无码精品大片| 欧美亚洲精品一区| 一级特黄aaaaaa大片| 91精品一区二区三区在线观看| 国产精品女同一区二区| 91精品欧美一区二区三区综合在| 99久久久国产精品无码免费| 日韩欧美一卡二卡| 人妻视频一区二区三区| 精品国产91久久久久久久妲己 | 色婷婷av一区二区三区久久| 日本a在线播放| 欧美二区在线播放| 在线观看欧美日韩电影| 国产精品美女久久| 久久伊人精品| 精品婷婷色一区二区三区蜜桃| 欧美女王vk| 艳母动漫在线免费观看| 欧美不卡一区| 色欲av无码一区二区人妻| 免费在线视频一区| 人妻精油按摩bd高清中文字幕| 国产一区二区网址| 在线免费观看污视频| 国产精品美女视频| 久久老司机精品视频| 色噜噜狠狠色综合中国| 国产男男gay体育生白袜| 亚洲第一区中文99精品| 国产色a在线| 欧美猛交免费看| 成人美女大片| 亚洲一区美女视频在线观看免费| 欧美精品中文| 黄色www在线观看| 欧美专区一区二区三区| 国内自拍第二页| 久久久精品黄色| 麻豆国产尤物av尤物在线观看 | 国产精品久久久久久免费| 亚洲成人免费网站| 午夜激情视频在线| 91福利视频在线观看| 亚洲一区二区av| 欧美性bbwbbwbbwhd| 欧美日韩18| 中文字幕在线导航| www.在线成人| 天天看天天摸天天操| 91精品福利视频| 视频一区 中文字幕| 日韩一区在线视频| 国产精品av一区二区三区 | 狠狠综合久久av一区二区蜜桃| 国产女教师bbwbbwbbw| 奇米影视一区二区三区小说| 欧美成人三级伦在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 成人黄色三级视频| 亚洲免费福利视频| 丁香花在线观看完整版电影| 成人av电影天堂| 精品久久久久久久久久久下田 | 日韩电影中文字幕av| 久久99亚洲网美利坚合众国| 成人av电影天堂| 欧美a级成人淫片免费看| 任你操这里只有精品| 91在线视频免费91| 日本三级理论片| 精品国产a毛片| 韩国成人免费视频| 国产chinese精品一区二区| 中文字幕午夜精品一区二区三区| 一区二区三区免费播放| 久久久久国产成人精品亚洲午夜| 日韩欧美国产亚洲| 337p日本欧洲亚洲大胆精品 | 日韩电影二区| 天堂在线资源视频| 国产日韩欧美综合在线| 无码人妻精品一区二区三区9厂 | 毛茸茸free性熟hd| 亚洲一区二区三区四区在线观看 | 日韩欧美精品免费| 国产电影一区二区三区| 国产av无码专区亚洲av毛网站| 91精品国产综合久久久蜜臀粉嫩| 男人天堂久久久| 成人在线播放av| 亚洲最大黄网| 国产精品无码自拍| 亚洲一本大道在线| 成人午夜免费福利| 57pao成人国产永久免费| 首页亚洲中字| 国产精品无码av无码| 国产精品丝袜久久久久久app| 国产一区二区三区成人| 久久天堂av综合合色| 日韩精品一区国产| 国产在线xxxx| 99精品视频在线免费观看| 国产原创视频在线| 国产亚洲精品美女久久久| 日韩专区视频| 黄色一级大片免费| 成人av电影免费在线播放| 日本高清不卡码| 中文字幕综合在线| 99re91这里只有精品| 久久美女福利视频| 日本一二三四高清不卡| 国产乱色精品成人免费视频| 欧美激情一级精品国产| 天天久久夜夜| 久热精品在线观看视频| 亚洲永久精品国产| 可以免费看污视频的网站在线| 国产欧美精品xxxx另类| 欧美视频二区| 男人舔女人下部高潮全视频| 91精品视频网| 亚洲美女炮图| 偷拍盗摄高潮叫床对白清晰| 成人激情黄色小说| 亚洲免费视频二区| 欧美黑人巨大精品一区二区| 亚洲伊人春色| 国产乱码一区二区三区四区| 午夜精品久久久| 在线观看免费高清完整| 国产精品sss| 美日韩一级片在线观看| 国产在线综合网| 在线观看欧美www| 成人涩涩网站| www.亚洲高清| 天天做天天摸天天爽国产一区 | 日本三级韩国三级久久| 欧美成人日本| 精品手机在线视频| 亚洲激情视频在线观看|