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

Hive的查詢注意事項以及優化總結

大數據
Hive是將符合SQL語法的字符串解析生成可以在Hadoop上執行的MapReduce的工具。使用Hive盡量按照分布式計算的一些特點來設計sql,和傳統關系型數據庫有區別,所以需要去掉原有關系型數據庫下開發的一些固有思維。

[[187643]]

Hive是將符合SQL語法的字符串解析生成可以在Hadoop上執行的MapReduce的工具。使用Hive盡量按照分布式計算的一些特點來設計sql,和傳統關系型數據庫有區別,所以需要去掉原有關系型數據庫下開發的一些固有思維。

基本原則:

1:盡量盡早地過濾數據,減少每個階段的數據量,對于分區表要加分區,同時只選擇需要使用到的字段

  1. select ... from A 
  2.  
  3. join B 
  4.  
  5. on A.key = B.key 
  6.  
  7. where A.userid>10 
  8.  
  9.      and B.userid<10 
  10.  
  11.         and A.dt='20120417' 
  12.  
  13.         and B.dt='20120417'
  14.  
  15. 應該改寫為: 
  16.  
  17. select .... from (select .... from A 
  18.  
  19.                   where dt='201200417' 
  20.  
  21.                                     and userid>10 
  22.  
  23.                               ) a 
  24.  
  25. join ( select .... from B 
  26.  
  27.        where dt='201200417' 
  28.  
  29.                      and userid < 10    
  30.  
  31.      ) b 
  32.  
  33. on a.key = b.key

2、對歷史庫的計算經驗 (這項是說根據不同的使用目的優化使用方法)

歷史庫計算和使用,分區

3:盡量原子化操作,盡量避免一個SQL包含復雜邏輯

可以使用中間表來完成復雜的邏輯

4 jion操作 小表要注意放在join的左邊(目前TCL里面很多都小表放在join的右邊)。

否則會引起磁盤和內存的大量消耗

5:如果union all的部分個數大于2,或者每個union部分數據量大,應該拆成多個insert into 語句,實際測試過程中,執行時間能提升50%

  1. insert overwite table tablename partition (dt= ....) 
  2.  
  3. select ..... from ( 
  4.  
  5.                    select ... from A 
  6.  
  7.                    union all 
  8.  
  9.                    select ... from B 
  10.  
  11.                    union all 
  12.  
  13.                    select ... from C 
  14.  
  15.                                ) R 
  16.  
  17. where ...; 

可以改寫為:

  1. insert into table tablename partition (dt= ....) 
  2.  
  3. select .... from A 
  4.  
  5. WHERE ...; 
  6.  
  7.  
  8. insert into table tablename partition (dt= ....) 
  9.  
  10. select .... from B 
  11.  
  12. WHERE ...; 
  13.  
  14.   
  15.  
  16. insert into table tablename partition (dt= ....) 
  17.  
  18. select .... from C 
  19.  
  20. WHERE ...;  

5:寫SQL要先了解數據本身的特點,如果有join ,group操作的話,要注意是否會有數據傾斜

如果出現數據傾斜,應當做如下處理:

  1. set hive.exec.reducers.max=200;  
  2. set mapred.reduce.tasks= 200;---增大Reduce個數 

set hive.groupby.mapaggr.checkinterval=100000 ;--這個是group的鍵對應的記錄條數超過這個值則會進行分拆,值根據具體數據量設置

set hive.groupby.skewindata=true; --如果是group by過程出現傾斜 應該設置為true

set hive.skewjoin.key=100000; --這個是join的鍵對應的記錄條數超過這個值則會進行分拆,值根據具體數據量設置

set hive.optimize.skewjoin=true;--如果是join 過程出現傾斜 應該設置為true

(1) 啟動一次job盡可能的多做事情,一個job能完成的事情,不要兩個job來做

通常來說前面的任務啟動可以稍帶一起做的事情就一起做了,以便后續的多個任務重用,與此緊密相連的是模型設計,好的模型特別重要.

(2) 合理設置reduce個數

reduce個數過少沒有真正發揮hadoop并行計算的威力,但reduce個數過多,會造成大量小文件問題,數據量、資源情況只有自己最清楚,找到個折衷點,

(3) 使用hive.exec.parallel參數控制在同一個sql中的不同的job是否可以同時運行,提高作業的并發

2、讓服務器盡量少做事情,走***的路徑,以資源消耗最少為目標

比如:

(1) 注意join的使用

若其中有一個表很小使用map join,否則使用普通的reduce join,注意hive會將join前面的表數據裝載內存,所以較小的一個表在較大的表之前,減少內存資源的消耗

(2)注意小文件的問題

在hive里有兩種比較常見的處理辦法

***是使用Combinefileinputformat,將多個小文件打包作為一個整體的inputsplit,減少map任務數

  1. set mapred.max.split.size=256000000; 
  2. set mapred.min.split.size.per.node=256000000 
  3. set Mapred.min.split.size.per.rack=256000000 
  4. set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat 

第二是設置hive參數,將額外啟動一個MR Job打包小文件

hive.merge.mapredfiles = false 是否合并 Reduce 輸出文件,默認為 False

hive.merge.size.per.task = 256*1000*1000 合并文件的大小

(3)注意數據傾斜

在hive里比較常用的處理辦法

***通過hive.groupby.skewindata=true控制生成兩個MR Job,***個MR Job Map的輸出結果隨機分配到reduce做次預匯總,減少某些key值條數過多某些key條數過小造成的數據傾斜問題

第二通過hive.map.aggr = true(默認為true)在Map端做combiner,假如map各條數據基本上不一樣, 聚合沒什么意義,做combiner反而畫蛇添足,hive里也考慮的比較周到通過參數hive.groupby.mapaggr.checkinterval = 100000 (默認)hive.map.aggr.hash.min.reduction=0.5(默認),預先取100000條數據聚合,如果聚合后的條數/100000>0.5,則不再聚合。

(4)善用multi insert,union all

multi insert適合基于同一個源表按照不同邏輯不同粒度處理插入不同表的場景,做到只需要掃描源表一次,job個數不變,減少源表掃描次數

union all用好,可減少表的掃描次數,減少job的個數,通常預先按不同邏輯不同條件生成的查詢union all后,再統一group by計算,不同表的union all相當于multiple inputs,同一個表的union all,相當map一次輸出多條

(5) 參數設置的調優

集群參數種類繁多,舉個例子比如

可針對特定job設置特定參數,比如jvm重用,reduce copy線程數量設置(適合map較快,輸出量較大)

如果任務數多且小,比如在一分鐘之內完成,減少task數量以減少任務初始化的消耗。可以通過配置JVM重用選項減少task的消耗

一、控制Hive中Map和reduce的數量

Hive中的sql查詢會生成執行計劃,執行計劃以MapReduce的方式執行,那么結合數據和集群的大小,map和reduce的數量就會影響到sql執行的效率。

除了要控制Hive生成的Job的數量,也要控制map和reduce的數量。

1、 map的數量,通常情況下和split的大小有關系,之前寫的一篇blog“map和reduce的數量是如何定義的”有描述。

hive中默認的hive.input.format是org.apache.hadoop.hive.ql.io.CombineHiveInputFormat,對于combineHiveInputFormat,它的輸入的map數量

由三個配置決定,

mapred.min.split.size.per.node, 一個節點上split的至少的大小

mapred.min.split.size.per.rack 一個交換機下split至少的大小

mapred.max.split.size 一個split***的大小

它的主要思路是把輸入目錄下的大文件分成多個map的輸入, 并合并小文件, 做為一個map的輸入. 具體的原理是下述三步:

a、根據輸入目錄下的每個文件,如果其長度超過mapred.max.split.size,以block為單位分成多個split(一個split是一個map的輸入),每個split的長度都大于mapred.max.split.size, 因為以block為單位, 因此也會大于blockSize, 此文件剩下的長度如果大于mapred.min.split.size.per.node, 則生成一個split, 否則先暫時保留.

b、現在剩下的都是一些長度效短的碎片,把每個rack下碎片合并, 只要長度超過mapred.max.split.size就合并成一個split, ***如果剩下的碎片比mapred.min.split.size.per.rack大, 就合并成一個split, 否則暫時保留.

c、把不同rack下的碎片合并, 只要長度超過mapred.max.split.size就合并成一個split, 剩下的碎片無論長度, 合并成一個split.

舉例: mapred.max.split.size=1000

  1. mapred.min.split.size.per.node=300  
  2. mapred.min.split.size.per.rack=100 

輸入目錄下五個文件,rack1下三個文件,長度為2050,1499,10, rack2下兩個文件,長度為1010,80. 另外blockSize為500.

經過***步, 生成五個split: 1000,1000,1000,499,1000. 剩下的碎片為rack1下:50,10; rack2下10:80

由于兩個rack下的碎片和都不超過100, 所以經過第二步, split和碎片都沒有變化.

第三步,合并四個碎片成一個split, 長度為150.

如果要減少map數量, 可以調大mapred.max.split.size, 否則調小即可.

其特點是: 一個塊至多作為一個map的輸入,一個文件可能有多個塊,一個文件可能因為塊多分給做為不同map的輸入, 一個map可能處理多個塊,可能處理多個文件。

2、 reduce數量

可以在hive運行sql的時,打印出來,如下:

  1. Number of reduce tasks not specified. Estimated from input data size: 1  
  2. In order to change the average load for a reducer (in bytes):  
  3. set hive.exec.reducers.bytes.per.reducer=<number>  
  4. In order to limit the maximum number of reducers:  
  5. set hive.exec.reducers.max=<number>  
  6. In order to set a constant number of reducers:  
  7. set mapred.reduce.tasks=<number> 

reduce數量由以下三個參數決定,

mapred.reduce.tasks(強制指定reduce的任務數量)

hive.exec.reducers.bytes.per.reducer(每個reduce任務處理的數據量,默認為1000^3=1G)

hive.exec.reducers.max(每個任務***的reduce數,默認為999)

計算reducer數的公式很簡單N=min( hive.exec.reducers.max ,總輸入數據量/ hive.exec.reducers.bytes.per.reducer )

只有一個reduce的場景:

a、沒有group by 的匯總

b、order by

c、笛卡爾積

二、join和Group的優化

對于普通的join操作,會在map端根據key的hash值,shuffle到某一個reduce上去,在reduce端做join連接操作,內存中緩存join左邊的表,遍歷右邊的表,一次做join操作。所以在做join操作時候,將數據量多的表放在join的右邊。

當數據量比較大,并且key分布不均勻,大量的key都shuffle到一個reduce上了,就出現了數據的傾斜。

對于Group操作,首先在map端聚合,***在reduce端坐聚合,hive默認是這樣的,以下是相關的參數

· hive.map.aggr = true是否在 Map 端進行聚合,默認為 True

· hive.groupby.mapaggr.checkinterval = 100000在 Map 端進行聚合操作的條目數目

對于join和Group操作都可能會出現數據傾斜。

三、以下有幾種解決這個問題的常見思路

1、參數hive.groupby.skewindata = true,解決數據傾斜的***鑰匙,查詢計劃會有兩個 MR Job。***個 MR Job 中,Map 的輸出結果集合會隨機分布到 Reduce 中,每個 Reduce 做部分聚合操作,并輸出結果,這樣處理的結果是相同的 Group By Key 有可能被分發到不同的 Reduce 中,從而達到負載均衡的目的;第二個 MR Job 再根據預處理的數據結果按照 Group By Key 分布到 Reduce 中(這個過程可以保證相同的 Group By Key 被分布到同一個 Reduce 中),***完成最終的聚合操作。

2、where的條件寫在join里面,使得減少join的數量(經過map端過濾,只輸出復合條件的)

3、mapjoin方式,無reduce操作,在map端做join操作(map端cache小表的全部數據),這種方式下無法執行Full/RIGHT OUTER join操作

4、對于count(distinct)操作,在map端以group by的字段和count的字段聯合作為key,如果有大量相同的key,那么會存在數據傾斜的問題

5、數據的傾斜還包括,大量的join連接key為空的情況,空的key都hash到一個reduce上去了,解決這個問題,***把空的key和非空的key做區分

空的key不做join操作。

當然有的hive操作,不存在數據傾斜的問題,比如數據聚合類的操作,像sum、count,因為已經在map端做了聚合操作了,到reduce端的數據相對少一些,所以不存在這個問題。

四、小文件的合并

大量的小文件導致文件數目過多,給HDFS帶來壓力,對hive處理的效率影響比較大,可以合并map和reduce產生的文件

· hive.merge.mapfiles = true是否和并 Map 輸出文件,默認為 True

· hive.merge.mapredfiles = false是否合并 Reduce 輸出文件,默認為 False

· hive.merge.size.per.task = 256*1000*1000合并文件的大小

五、in/exists(not)

通過left semi join 實現 in操作,一個限制就是join右邊的表只能出現在join條件中

六、分區裁剪

通過在條件中指定分區,來限制數據掃描的范圍,可以極大提高查詢的效率

七、排序

order by 排序,只存在一個reduce,這樣效率比較低。

可以用sort by操作,通常結合distribute by使用做reduce分區鍵

責任編輯:武曉燕 來源: 數據為王
相關推薦

2010-05-19 11:04:32

優化IIS

2014-05-16 10:04:19

JavaScriptthis原理

2011-07-01 14:33:19

網站優化

2011-08-03 11:40:49

布線系統

2011-03-04 16:09:48

數據庫優化設計注意事項

2021-09-28 08:59:40

UPS蓄電池電源

2011-07-21 14:28:17

MySQL事務事務保存點

2011-04-20 14:52:02

數據庫優化

2011-05-26 11:22:04

SEO

2012-06-13 02:02:43

ServletJavaJSP

2011-09-01 09:45:01

Ubuntu上安裝Mo

2009-12-15 17:47:17

VSIP

2009-12-30 10:12:30

MPLS VPN

2010-03-02 18:12:39

WCF單調服務

2010-12-20 09:58:15

LVS系統優化

2011-07-21 15:20:31

iPhone SDK 多線程

2021-11-16 10:35:59

云計算云計算環境云應用

2020-10-20 14:05:48

用戶需求分析IT

2010-11-26 16:27:01

MySQL使用變量

2023-01-14 09:49:11

點贊
收藏

51CTO技術棧公眾號

日韩av在线播放网址| 亚洲美女久久精品| www.欧美色图| 日本一区二区不卡| 国产色无码精品视频国产| 欧美第一在线视频| 欧美日韩一二三四五区| 亚洲一二三区在线| 黄色美女一级片| 日本欧美韩国一区三区| 欧美激情喷水视频| 欧美自拍偷拍网| 国产成人一二片| 欧美日韩aaaaa| av之家在线观看| 国产成人l区| 99国产精品久| 96久久精品| 国产精品尤物视频| 1024日韩| 久久久www成人免费精品| 亚洲熟女乱综合一区二区三区| 欧美视频精品| 欧美性感美女h网站在线观看免费| 桥本有菜av在线| 风间由美一区| 91视频.com| 国产精品免费一区二区三区在线观看 | 四虎影院一区二区三区| 成人精品在线播放| 久久国产精品99久久久久久老狼| 欧美一级大片视频| 久久免费公开视频| 牛夜精品久久久久久久99黑人| 亚洲欧美日韩另类| 男男一级淫片免费播放| 国产精品成人3p一区二区三区| 在线观看不卡一区| 激情综合在线观看| 老司机深夜福利在线观看| 一区二区高清免费观看影视大全| 小说区视频区图片区| 97电影在线观看| 久久久久久久久久久黄色| 黑人巨大精品欧美一区二区小视频| 草逼视频免费看| 国产一区三区三区| 92国产精品久久久久首页| 在线免费观看日韩视频| 青青草97国产精品免费观看无弹窗版| 欧美在线视频观看| 成人在线免费看视频| 国产女优一区| 日韩av免费一区| 91久久国产综合久久91| 老司机免费视频久久| 日本人成精品视频在线| 欧美男人天堂网| 日本大胆欧美人术艺术动态| 国产精品久久久久久久久久| 日韩精选在线观看| 九九热在线视频观看这里只有精品| 国产精品中文久久久久久久| 中文字幕日日夜夜| 黄色精品一二区| 亚洲xxxxx性| 成人午夜精品福利免费| av欧美精品.com| 蜜桃成人免费视频| 超碰在线国产| 最新日韩av在线| 欧美中日韩在线| 两个人看的在线视频www| 色综合久久久久网| 国产色视频在线播放| 99久久99九九99九九九| 精品国产免费一区二区三区香蕉| 欧美一级片黄色| 国产成人一区| 久久成人av网站| 日本一二三区视频| 日韩黄色免费网站| 91免费在线视频网站| 精品国产一区二区三区麻豆免费观看完整版 | 午夜免费日韩视频| 国产寡妇亲子伦一区二区三区四区| 日日嗨av一区二区三区四区| 国产日韩视频在线观看| 午夜精品久久久久久久96蜜桃| av激情亚洲男人天堂| 日本在线观看一区二区| h视频在线免费观看| 五月婷婷综合在线| xxx国产在线观看| 成人黄色av网址| 丝袜亚洲另类欧美重口| 欧美黄色一级网站| 久久国产精品久久久久久电车 | 亚洲自拍偷拍另类| 成人精品国产一区二区4080| 日韩av电影免费在线| 亚洲性图自拍| 欧洲中文字幕精品| 中文字幕乱视频| 日韩一区二区中文| 91精品91久久久久久| 中文字幕+乱码+中文字幕明步| 国产**成人网毛片九色 | 99精品国产高清一区二区麻豆| 亚洲国产另类久久精品| 极品蜜桃臀肥臀-x88av| 亚洲国产激情| 92裸体在线视频网站| 午夜在线视频免费| 一级日本不卡的影视| 欧美男女交配视频| 日韩在线麻豆| 久久天天躁狠狠躁夜夜av| 久久久久在线视频| 成人国产电影网| 正义之心1992免费观看全集完整版| 国产精品yjizz视频网| 91精品国产入口在线| 法国空姐电影在线观看| 亚洲三级观看| 99国内精品久久久久久久软件| 国产大学生校花援交在线播放| 亚洲国产欧美日韩另类综合 | 在线免费看91| 久久精品一区二区| 成年人网站免费视频| 亚洲欧美日本国产| 久久久精品影院| 一区二区自拍偷拍| 久久精品男人天堂av| 777久久久精品一区二区三区| av综合网页| 久久91亚洲人成电影网站| 国产乱码久久久| 国产精品二区一区二区aⅴ污介绍| 午夜欧美福利视频| 免费观看久久av| 欧美一区二区三区……| 性xxxfllreexxx少妇| 亚洲国产wwwccc36天堂| 国产乱淫av麻豆国产免费| 欧美伊人久久| 91久久久一线二线三线品牌| v天堂福利视频在线观看| 欧美性猛交一区二区三区精品| 少妇久久久久久久久久| 久久中文精品| 日韩欧美精品久久| 99只有精品| 俺去亚洲欧洲欧美日韩| 91在线你懂的| 一区二区三区四区在线免费观看| 三级黄色片免费看| 欧美午夜不卡| 精品日本一区二区三区| 成人av免费电影网站| 亚洲图片欧美午夜| 在线视频 91| 自拍偷自拍亚洲精品播放| 污免费在线观看| 红桃视频国产精品| 精品一区二区三区视频日产| 97成人资源| 这里只有视频精品| 国产又爽又黄又嫩又猛又粗| 亚洲精品视频在线看| 亚洲香蕉中文网| 久久精品人人| 亚洲在线色站| 91精品久久久久久综合五月天| 97色在线视频观看| 国产在线观看免费网站| 777a∨成人精品桃花网| 精品免费国产一区二区| av官网在线观看| 五月婷婷激情综合| 蜜桃传媒一区二区亚洲| 国产真实乱偷精品视频免| 国产一区二区三区小说| 国产调教一区二区三区| 91网站在线看| 欲香欲色天天天综合和网| 在线观看日韩视频| 性一交一乱一精一晶| 色综合天天综合色综合av | 亚洲va在线va天堂va偷拍| 欧美三级网页| 亚州欧美一区三区三区在线 | 日本不卡久久| 国产精品亚洲一区二区在线观看| 午夜剧场成人观在线视频免费观看| 国产区av在线| 亚洲精品在线观看网站| 欧美超碰在线观看| 亚洲一区二区欧美日韩| 欧美性受xxxx黑人| 暴力调教一区二区三区| 粉色视频免费看| 亚洲一区二区三区免费在线观看| 一区二区三区在线视频111| 黄色成人美女网站| 成人午夜在线视频一区| 日韩av福利| 久久人人爽人人爽人人片av高请| 亚洲熟妇一区二区| 欧美成人毛片| 热久久这里只有精品| av网站免费在线观看| 国产亚洲欧洲高清| 污污网站在线免费观看| 欧美一区二区三区在线视频| 乱子伦一区二区三区| 图片区小说区国产精品视频| 国产精品九九九九九九| 国产精品网站在线| 最近中文字幕免费视频| 成人精品免费看| 无套白嫩进入乌克兰美女| 日本美女一区二区三区视频| 人妻有码中文字幕| 尤物精品在线| 嫩草影院中文字幕| 91精品国产视频| 亚洲精品欧洲精品| 精品美女在线视频| 欧美日韩一区二区三| 台湾亚洲精品一区二区tv| 99九九视频| 精品国产一级| 91香蕉亚洲精品| 伊人久久综合网另类网站| 国产欧美日韩精品在线观看| 日韩一区精品| 国产精品高潮呻吟久久av野狼| 男人皇宫亚洲男人2020| 热门国产精品亚洲第一区在线| 伊人色综合一区二区三区影院视频| 97国产在线观看| 嗯啊主人调教在线播放视频 | 日韩专区在线观看| h视频网站在线观看| 一本色道久久综合狠狠躁篇的优点 | 精品丝袜一区二区三区| 性感美女福利视频| 日韩av在线直播| 欧美视频综合| 国产亚洲欧洲高清一区| 超碰97在线免费观看| 日韩中文字幕av| av7777777| 国产成人在线中文字幕| 国产精品夜夜夜一区二区三区尤| av日韩在线播放| 久久久久久久免费| 夜夜春成人影院| 亚洲国产精品久久久久久女王| 久久理论电影| 国产日韩欧美大片| 亚洲国产二区| 精品免费国产一区二区| 青青草国产成人av片免费 | 国产成人精品综合在线观看| 国产精久久久久| 91色九色蝌蚪| 五月婷婷欧美激情| 亚洲人亚洲人成电影网站色| 九九热精品免费视频| 午夜电影网亚洲视频| 男插女视频网站| 电影在线高清| 在线成人国产| 日韩精品久久久| 天天天综合网| 免费人成自慰网站| 久久精品男女| 红桃视频一区二区三区免费| 99久久精品费精品国产一区二区| av黄色在线免费观看| 亚洲免费毛片网站| 可以免费在线观看的av| 欧美日韩在线播放三区| 好吊视频一二三区| 亚洲视频在线免费观看| 成人短视频在线| 57pao成人永久免费视频| 欧美网站免费| 国产日韩久久| 久久神马影院| 欧美日韩国产精品激情在线播放| 麻豆91在线看| www.日本高清| 亚洲人成在线播放网站岛国| 日韩欧美亚洲一区二区三区| 欧美日韩久久久久久| 天天摸天天干天天操| 久久九九亚洲综合| 手机在线理论片| 99re在线观看| 色综合久久一区二区三区| 黄色一级片播放| 国产福利视频一区二区三区| 日本性高潮视频| 亚洲www啪成人一区二区麻豆| 亚洲在线观看av| 亚洲美女喷白浆| 爱福利在线视频| 亚洲va码欧洲m码| 国内黄色精品| 波多野结衣家庭教师在线| 国产麻豆日韩欧美久久| 亚洲精品国产精品国自| 欧美视频一区二区三区…| 国产高清精品软件丝瓜软件| 国产亚洲美女精品久久久| www.com.cn成人| 国产一区二区三区四区hd| 综合精品一区| 国产精品视频分类| 久久久国产精品不卡| 日韩男人的天堂| 精品久久久久久久久久久久久久久 | 日韩三级视频在线| 欧美一级黄色录像| 麻豆网在线观看| 国产精品一区二区久久国产| 九一成人免费视频| 成人免费毛片网| av成人动漫在线观看| 国产一级在线视频| 日韩欧美在线观看一区二区三区| 麻豆传媒在线观看| 国产综合福利在线| 日韩一区二区三区免费播放| 亚洲这里只有精品| 日本一区二区动态图| 日韩中文字幕高清| 亚洲人成伊人成综合网久久久| 中文字幕这里只有精品| 裸模一区二区三区免费| 亚欧成人精品| www.久久国产| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧美日韩精品永久在线| 97精品欧美一区二区三区| 久久婷婷国产| 日韩黄色片视频| 国产婷婷色一区二区三区在线| 国产无套丰满白嫩对白| 亚洲欧洲一区二区三区在线观看| 精品成人免费一区二区在线播放| 日本在线高清视频一区| 久久se这里有精品| 丰满少妇高潮久久三区| 精品久久国产老人久久综合| 成年女人在线看片| 欧美日韩在线观看一区二区三区| 青娱乐精品在线视频| 五月婷婷综合激情网| 日韩欧美国产一区二区在线播放| gogo高清在线播放免费| 麻豆精品视频| 麻豆精品国产91久久久久久| 亚洲色图综合区| 亚洲福利视频在线| 三上悠亚一区二区| 一区二区三区四区五区视频| 国产高清一区日本| 日韩免费一级片| 最近2019中文字幕在线高清| 精品中文字幕一区二区三区四区| a天堂资源在线观看| 国产亚洲va综合人人澡精品 | 亚洲一区二区三区四区| 亚洲自拍偷拍一区二区三区| 99久久免费视频.com| 亚洲 小说区 图片区| 欧美精品免费在线| 杨幂一区二区三区免费看视频| 国产福利在线免费| 亚洲国产成人va在线观看天堂| 黄上黄在线观看| 51国偷自产一区二区三区的来源 | 亚洲第一狼人区| 亚洲一区二区三区不卡国产欧美 | 欧美激情一二三区| 国内老熟妇对白hdxxxx| 日韩美女在线播放| 欧美一区二区三区另类| 天堂久久精品忘忧草| 日韩欧美一区二区三区在线| av资源亚洲| 国产一级做a爰片久久毛片男| 国产婷婷色一区二区三区在线| 精品人妻一区二区三区日产乱码 | 色综合久久悠悠|