欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

實(shí)用教程|Spark性能優(yōu)化之道——解決Spark數(shù)據(jù)傾斜

轉(zhuǎn)帖|使用教程|編輯:龔雪|2017-03-16 11:22:22.000|閱讀 736 次

概述:本文結(jié)合實(shí)例詳細(xì)闡明了Spark數(shù)據(jù)傾斜的幾種場(chǎng)景以及對(duì)應(yīng)的解決方案,包括避免數(shù)據(jù)源傾斜,調(diào)整并行度,使用自定義Partitioner,使用Map側(cè)Join代替Reduce側(cè)Join,給傾斜Key加上隨機(jī)前綴等。

# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

 

為何要處理數(shù)據(jù)傾斜(Data Skew)

 

什么是數(shù)據(jù)傾斜

對(duì)Spark/Hadoop這樣的大數(shù)據(jù)系統(tǒng)來(lái)講,數(shù)據(jù)量大并不可怕,可怕的是數(shù)據(jù)傾斜。

何謂數(shù)據(jù)傾斜?數(shù)據(jù)傾斜指的是,并行處理的數(shù)據(jù)集中,某一部分(如Spark或Kafka的一個(gè)Partition)的數(shù)據(jù)顯著多于其它部分,從而使得該部分的處理速度成為整個(gè)數(shù)據(jù)集處理的瓶頸。

數(shù)據(jù)傾斜是如何造成的

 在Spark中,同一個(gè)Stage的不同Partition可以并行處理,而具有依賴關(guān)系的不同Stage之間是串行處理的。假設(shè)某個(gè)Spark Job分為Stage 0和Stage 1兩個(gè)Stage,且Stage 1依賴于Stage 0,那Stage 0完全處理結(jié)束之前不會(huì)處理Stage 1。而Stage 0可能包含N個(gè)Task,這N個(gè)Task可以并行進(jìn)行。如果其中N-1個(gè)Task都在10秒內(nèi)完成,而另外一個(gè)Task卻耗時(shí)1分鐘,那該Stage的總時(shí)間至少為1分鐘。換句話說(shuō),一個(gè)Stage所耗費(fèi)的時(shí)間,主要由最慢的那個(gè)Task決定。

由于同一個(gè)Stage內(nèi)的所有Task執(zhí)行相同的計(jì)算,在排除不同計(jì)算節(jié)點(diǎn)計(jì)算能力差異的前提下,不同Task之間耗時(shí)的差異主要由該Task所處理的數(shù)據(jù)量決定。

Stage的數(shù)據(jù)來(lái)源主要分為如下兩類

  • 從數(shù)據(jù)源直接讀取。如讀取HDFS,Kafka
  • 讀取上一個(gè)Stage的Shuffle數(shù)據(jù)

如何緩解/消除數(shù)據(jù)傾斜

盡量避免數(shù)據(jù)源的數(shù)據(jù)傾斜

以Spark Stream通過(guò)DirectStream方式讀取Kafka數(shù)據(jù)為例。由于Kafka的每一個(gè)Partition對(duì)應(yīng)Spark的一個(gè)Task(Partition),所以Kafka內(nèi)相關(guān)Topic的各Partition之間數(shù)據(jù)是否平衡,直接決定Spark處理該數(shù)據(jù)時(shí)是否會(huì)產(chǎn)生數(shù)據(jù)傾斜。

如《Kafka設(shè)計(jì)解析(一)- Kafka背景及架構(gòu)介紹》一文所述,Kafka某一Topic內(nèi)消息在不同Partition之間的分布,主要由Producer端所使用的Partition實(shí)現(xiàn)類決定。如果使用隨機(jī)Partitioner,則每條消息會(huì)隨機(jī)發(fā)送到一個(gè)Partition中,從而從概率上來(lái)講,各Partition間的數(shù)據(jù)會(huì)達(dá)到平衡。此時(shí)源Stage(直接讀取Kafka數(shù)據(jù)的Stage)不會(huì)產(chǎn)生數(shù)據(jù)傾斜。

但很多時(shí)候,業(yè)務(wù)場(chǎng)景可能會(huì)要求將具備同一特征的數(shù)據(jù)順序消費(fèi),此時(shí)就需要將具有相同特征的數(shù)據(jù)放于同一個(gè)Partition中。一個(gè)典型的場(chǎng)景是,需要將同一個(gè)用戶相關(guān)的PV信息置于同一個(gè)Partition中。此時(shí),如果產(chǎn)生了數(shù)據(jù)傾斜,則需要通過(guò)其它方式處理。

調(diào)整并行度分散同一個(gè)Task的不同Key

原理

Spark在做Shuffle時(shí),默認(rèn)使用HashPartitioner(非Hash Shuffle)對(duì)數(shù)據(jù)進(jìn)行分區(qū)。如果并行度設(shè)置的不合適,可能造成大量不相同的Key對(duì)應(yīng)的數(shù)據(jù)被分配到了同一個(gè)Task上,造成該Task所處理的數(shù)據(jù)遠(yuǎn)大于其它Task,從而造成數(shù)據(jù)傾斜。

 如果調(diào)整Shuffle時(shí)的并行度,使得原本被分配到同一Task的不同Key發(fā)配到不同Task上處理,則可降低原Task所需處理的數(shù)據(jù)量,從而緩解數(shù)據(jù)傾斜問(wèn)題造成的短板效應(yīng)。

案例

現(xiàn)有一張測(cè)試表,名為student_external,內(nèi)有10.5億條數(shù)據(jù),每條數(shù)據(jù)有一個(gè)唯一的id值。現(xiàn)從中取出id取值為9億到10.5億的共1.5條數(shù)據(jù),并通過(guò)一些處理,使得id為9億到9.4億間的所有數(shù)據(jù)對(duì)12取模后余數(shù)為8(即在Shuffle并行度為12時(shí)該數(shù)據(jù)集全部被HashPartition分配到第8個(gè)Task),其它數(shù)據(jù)集對(duì)其id除以100取整,從而使得id大于9.4億的數(shù)據(jù)在Shuffle時(shí)可被均勻分配到所有Task中,而id小于9.4億的數(shù)據(jù)全部分配到同一個(gè)Task中。處理過(guò)程如下

INSERT OVERWRITE TABLE test
SELECT CASE WHEN id < 940000000 THEN (9500000  + (CAST (RAND() * 8 AS INTEGER)) * 12 )
       ELSE CAST(id/100 AS INTEGER)
       END,
       name
FROM student_external
WHERE id BETWEEN 900000000 AND 1050000000;

通過(guò)上述處理,一份可能造成后續(xù)數(shù)據(jù)傾斜的測(cè)試數(shù)據(jù)即以準(zhǔn)備好。接下來(lái),使用Spark讀取該測(cè)試數(shù)據(jù),并通過(guò)groupByKey(12)對(duì)id分組處理,且Shuffle并行度為12。代碼如下

public class SparkDataSkew {
  public static void main(String[] args) {
    SparkSession sparkSession = SparkSession.builder()
      .appName("SparkDataSkewTunning")
      .config("hive.metastore.uris", "thrift://hadoop1:9083")
      .enableHiveSupport()
      .getOrCreate();

    Dataset dataframe = sparkSession.sql( "select * from test");
    dataframe.toJavaRDD()
      .mapToPair((Row row) -> new Tuple2(row.getInt(0),row.getString(1)))
      .groupByKey(12)
      .mapToPair((Tuple2> tuple) -> {
        int id = tuple._1();
        AtomicInteger atomicInteger = new AtomicInteger(0);
        tuple._2().forEach((String name) -> atomicInteger.incrementAndGet());
        return new Tuple2(id, atomicInteger.get());
      }).count();

      sparkSession.stop();
      sparkSession.close();
  }
  
}

本次實(shí)驗(yàn)所使用集群節(jié)點(diǎn)數(shù)為4,每個(gè)節(jié)點(diǎn)可被Yarn使用的CPU核數(shù)為16,內(nèi)存為16GB。使用如下方式提交上述應(yīng)用,將啟動(dòng)4個(gè)Executor,每個(gè)Executor可使用核數(shù)為12(該配置并非生產(chǎn)環(huán)境下的最優(yōu)配置,僅用于本文實(shí)驗(yàn)),可用內(nèi)存為12GB。

spark-submit --queue ambari --num-executors 4 --executor-cores 12 --executor-memory 12g --class com.jasongj.spark.driver.SparkDataSkew --master yarn --deploy-mode client SparkExample-with-dependencies-1.0.jar

GroupBy Stage的Task狀態(tài)如下圖所示,Task 8處理的記錄數(shù)為4500萬(wàn),遠(yuǎn)大于(9倍于)其它11個(gè)Task處理的500萬(wàn)記錄。而Task 8所耗費(fèi)的時(shí)間為38秒,遠(yuǎn)高于其它11個(gè)Task的平均時(shí)間(16秒)。整個(gè)Stage的時(shí)間也為38秒,該時(shí)間主要由最慢的Task 8決定。

在這種情況下,可以通過(guò)調(diào)整Shuffle并行度,使得原來(lái)被分配到同一個(gè)Task(即該例中的Task 8)的不同Key分配到不同Task,從而降低Task 8所需處理的數(shù)據(jù)量,緩解數(shù)據(jù)傾斜。

通過(guò)groupByKey(48)將Shuffle并行度調(diào)整為48,重新提交到Spark。新的Job的GroupBy Stage所有Task狀態(tài)如下圖所示。

從上圖可知,記錄數(shù)最多的Task 20處理的記錄數(shù)約為1125萬(wàn),相比于并行度為12時(shí)Task 8的4500萬(wàn),降低了75%左右,而其耗時(shí)從原來(lái)Task 8的38秒降到了24秒。

 在這種場(chǎng)景下,調(diào)整并行度,并不意味著一定要增加并行度,也可能是減小并行度。如果通過(guò)groupByKey(11)將Shuffle并行度調(diào)整為11,重新提交到Spark。新Job的GroupBy Stage的所有Task狀態(tài)如下圖所示。

從上圖可見(jiàn),處理記錄數(shù)最多的Task 6所處理的記錄數(shù)約為1045萬(wàn),耗時(shí)為23秒。處理記錄數(shù)最少的Task 1處理的記錄數(shù)約為545萬(wàn),耗時(shí)12秒。

總結(jié)

適用場(chǎng)景
大量不同的Key被分配到了相同的Task造成該Task數(shù)據(jù)量過(guò)大。

解決方案
調(diào)整并行度。一般是增大并行度,但有時(shí)如本例減小并行度也可達(dá)到效果。

優(yōu)勢(shì)
實(shí)現(xiàn)簡(jiǎn)單,可在需要Shuffle的操作算子上直接設(shè)置并行度或者使用spark.default.parallelism設(shè)置。如果是Spark SQL,還可通過(guò)SET spark.sql.shuffle.partitions=[num_tasks]設(shè)置并行度。可用最小的代價(jià)解決問(wèn)題。一般如果出現(xiàn)數(shù)據(jù)傾斜,都可以通過(guò)這種方法先試驗(yàn)幾次,如果問(wèn)題未解決,再嘗試其它方法。

劣勢(shì)
適用場(chǎng)景少,只能將分配到同一Task的不同Key分散開(kāi),但對(duì)于同一Key傾斜嚴(yán)重的情況該方法并不適用。并且該方法一般只能緩解數(shù)據(jù)傾斜,沒(méi)有徹底消除問(wèn)題。從實(shí)踐經(jīng)驗(yàn)來(lái)看,其效果一般。

自定義Partitioner

原理

使用自定義的Partitioner(默認(rèn)為HashPartitioner),將原本被分配到同一個(gè)Task的不同Key分配到不同Task。

案例

以上述數(shù)據(jù)集為例,繼續(xù)將并發(fā)度設(shè)置為12,但是在groupByKey算子上,使用自定義的Partitioner(實(shí)現(xiàn)如下)

.groupByKey(new Partitioner() {
  @Override
  public int numPartitions() {
    return 12;
  }

  @Override
  public int getPartition(Object key) {
    int id = Integer.parseInt(key.toString());
    if(id >= 9500000 && id <= 9500084 && ((id - 9500000) % 12) == 0) {
      return (id - 9500000) / 12;
    } else {
      return id % 12;
    }
  }
})

由下圖可見(jiàn),使用自定義Partition后,耗時(shí)最長(zhǎng)的Task 6處理約1000萬(wàn)條數(shù)據(jù),用時(shí)15秒。并且各Task所處理的數(shù)據(jù)集大小相當(dāng)。

總結(jié)

適用場(chǎng)景
大量不同的Key被分配到了相同的Task造成該Task數(shù)據(jù)量過(guò)大。

解決方案
使用自定義的Partitioner實(shí)現(xiàn)類代替默認(rèn)的HashPartitioner,盡量將所有不同的Key均勻分配到不同的Task中。

優(yōu)勢(shì)
不影響原有的并行度設(shè)計(jì)。如果改變并行度,后續(xù)Stage的并行度也會(huì)默認(rèn)改變,可能會(huì)影響后續(xù)Stage。

劣勢(shì)
適用場(chǎng)景有限,只能將不同Key分散開(kāi),對(duì)于同一Key對(duì)應(yīng)數(shù)據(jù)集非常大的場(chǎng)景不適用。效果與調(diào)整并行度類似,只能緩解數(shù)據(jù)傾斜而不能完全消除數(shù)據(jù)傾斜。而且需要根據(jù)數(shù)據(jù)特點(diǎn)自定義專用的Partitioner,不夠靈活。

將Reduce side Join轉(zhuǎn)變?yōu)镸ap side Join

原理通過(guò)Spark的Broadcast機(jī)制,將Reduce側(cè)Join轉(zhuǎn)化為Map側(cè)Join,避免Shuffle從而完全消除Shuffle帶來(lái)的數(shù)據(jù)傾斜。

案例

通過(guò)如下SQL創(chuàng)建一張具有傾斜Key且總記錄數(shù)為1.5億的大表test。

INSERT OVERWRITE TABLE test
SELECT CAST(CASE WHEN id < 980000000 THEN (95000000  + (CAST (RAND() * 4 AS INT) + 1) * 48 )
       ELSE CAST(id/10 AS INT) END AS STRING),
       name
FROM student_external
WHERE id BETWEEN 900000000 AND 1050000000;

使用如下SQL創(chuàng)建一張數(shù)據(jù)分布均勻且總記錄數(shù)為50萬(wàn)的小表test_new。

INSERT OVERWRITE TABLE test_new
SELECT CAST(CAST(id/10 AS INT) AS STRING),
       name
FROM student_delta_external
WHERE id BETWEEN 950000000 AND 950500000;

直接通過(guò)Spark Thrift Server提交如下SQL將表test與表test_new進(jìn)行Join并將Join結(jié)果存于表test_join中。

INSERT OVERWRITE TABLE test_join
SELECT test_new.id, test_new.name
FROM test
JOIN test_new
ON test.id = test_new.id;

該SQL對(duì)應(yīng)的DAG如下圖所示。從該圖可見(jiàn),該執(zhí)行過(guò)程總共分為三個(gè)Stage,前兩個(gè)用于從Hive中讀取數(shù)據(jù),同時(shí)二者進(jìn)行Shuffle,通過(guò)最后一個(gè)Stage進(jìn)行Join并將結(jié)果寫入表test_join中。

從下圖可見(jiàn),最近Join Stage各Task處理的數(shù)據(jù)傾斜嚴(yán)重,處理數(shù)據(jù)量最大的Task耗時(shí)7.1分鐘,遠(yuǎn)高于其它無(wú)數(shù)據(jù)傾斜的Task約2s秒的耗時(shí)。

 接下來(lái),嘗試通過(guò)Broadcast實(shí)現(xiàn)Map側(cè)Join。實(shí)現(xiàn)Map側(cè)Join的方法,并非直接通過(guò)CACHE TABLE test_new將小表test_new進(jìn)行cache。現(xiàn)通過(guò)如下SQL進(jìn)行Join。

CACHE TABLE test_new;
INSERT OVERWRITE TABLE test_join
SELECT test_new.id, test_new.name
FROM test
JOIN test_new
ON test.id = test_new.id;

通過(guò)如下DAG圖可見(jiàn),該操作仍分為三個(gè)Stage,且仍然有Shuffle存在,唯一不同的是,小表的讀取不再直接掃描Hive表,而是掃描內(nèi)存中緩存的表。

并且數(shù)據(jù)傾斜仍然存在。如下圖所示,最慢的Task耗時(shí)為7.1分鐘,遠(yuǎn)高于其它Task的約2秒。

正確的使用Broadcast實(shí)現(xiàn)Map側(cè)Join的方式是,通過(guò)SET spark.sql.autoBroadcastJoinThreshold=104857600;將Broadcast的閾值設(shè)置得足夠大。

再次通過(guò)如下SQL進(jìn)行Join。

SET spark.sql.autoBroadcastJoinThreshold=104857600;
INSERT OVERWRITE TABLE test_join
SELECT test_new.id, test_new.name
FROM test
JOIN test_new
ON test.id = test_new.id;

通過(guò)如下DAG圖可見(jiàn),該方案只包含一個(gè)Stage。

并且從下圖可見(jiàn),各Task耗時(shí)相當(dāng),無(wú)明顯數(shù)據(jù)傾斜現(xiàn)象。并且總耗時(shí)為1.5分鐘,遠(yuǎn)低于Reduce側(cè)Join的7.3分鐘。

總結(jié)

適用場(chǎng)景
參與Join的一邊數(shù)據(jù)集足夠小,可被加載進(jìn)Driver并通過(guò)Broadcast方法廣播到各個(gè)Executor中。

解決方案
在Java/Scala代碼中將小數(shù)據(jù)集數(shù)據(jù)拉取到Driv

更多行業(yè)資訊,更新鮮的技術(shù)動(dòng)態(tài),盡在。

 


標(biāo)簽:

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn


為你推薦

掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
一级a大片在线观看 | 成人妇女免费 | 国产精品国语对白露脸在线播放 | 91精品一区国产高清在线 | 国产毛多女人精品视频影院 | 日韩一区精品视频一区二区 | 青青青国产在线观看资源 | 在线观看欧美影 | 日韩一本之道一 | 亚洲韩国| 文中字幕一区二区三区视频播放 | 91午夜在线免费观看小视频 | 欧美综合自拍亚洲综合网 | 亚洲视频日| 国产高清吹潮免费视频 | 欧美日毛比比 | 免费三级在线 | 中文字幕夫妇交换乱叫 | 国产亚洲制服 | 豆奶app官方网站 | 在线观看福利影院 | 三年在线观看免费大全 | 亚洲午夜理论片在线观看 | 一区二区三区国产美女在线播放 | 麻花传媒免费网站在线观看 | 日本免费一区二区三区在线看 | 亚洲中文字幕一二三四区 | 国产精品国产午夜免费看福利 | 综合永久入口 | 欧美乱伦视频激情浪潮密臀 | 亚洲国产日韩a不卡线欧美 日韩a优精品在线观看 | 国产精品视频每日更新播放 | 国产乱码一区二区三区爽爽爽 | 国产精品亚洲综合一区在线观看 | 国产精品网友自拍 | 亚洲v欧 | 日本国产高清在线观看 | 日韩精品一线二线三线优势 | 九三精品私密视频在线观看 | 亚洲视频一区二区三区四区 | 三区四区五区高 | 欧美视频在线第一页 | 国产精品女人一区 | 日韩电影网 | 国产91视频在线观看 | 欧美精品亚洲精品日韩专区v | 亚洲人成依人成综合网 | 日韩一级在线精品国产 | 性一交一乱一伦 | 亚洲综合色区激情自拍 | 中文字幕在线不卡 | 成人国产一区二区三区精品 | 国产一区二区三区猎奇视频 | 十九岁中国电影在线观看免费 | 亚洲人在线观看影院 | 国产伦精品一区二区三区免 | 丝袜亚洲精品中文字幕二区 | 91干逼网 | 日韩精品极品视频在线观看免费 | 亚洲欧美日韩一区在线 | 最近免费中文字幕视频高清在线看 | 日韩a级片视频 | 红杏亚洲 | 人成午夜视频在线观看 | 亚洲日本一区二区一本一道 | 视频区国产图片区小说区 | 精品国产sm捆绑最大网免费站 | 亚洲国内自拍欧美一区二区三区 | 精品免费在线视频 | yy6080午夜理论成人影院 | 亚洲综合激情五月丁香六月 | 欧美一区二区三区精品视频在线 | 亚洲视频在线观看精品 | 人成精品视频三区二区一区 | 成人人电影| 精品国产99国产精偷国产黄在线 | 好看的电视剧全集免费在线观看 | 亚洲性日韩精品一区二区 | 国产网站一区二 | 国产午夜亚洲精品不卡电影 | 99ri日韩精品视频 | 99久热| 日本免费一二区 | 中文字幕精品亚洲电影 | 亚洲码国 | 国产另类亚洲日韩 | 国产欧美一区二区精品性色 | 国产午夜福利在线播放 | 日韩欧美精品一区二区三区在线 | 国产人妖ts重口系列网站观看 | 99这里都是精品 | 欧美最猛黑人xxxx | 狠狠丁香 | 国内精品视频在线观看九九 | 老司机在线精品视频播放 | 国产精品广西柳州 | 欧美日韩国产一区 | 国产日产亚洲系列最新 | 成人精品动漫一区二区三区 | 国产福利不卡在线观看 | 一级日韩免费大片 | 亚洲国产一区在线观看 | 国产综合在线观看 | 二区在线播放 | 亚洲精品字幕在线观看 | 热门短剧短视频 | 91精品一区国产高清在线 | 免费成人 | 国产日本韩国亚 | 国产乱码在线精品可播放 | 亚洲精品中文字幕字幕 | 青春娱乐国产分类精品二 | 污www一区二区三区 国产午夜鲁丝片a | 国产干b| 亚洲国产剧情中文视频在线 | 免费电视剧大全 | 亚洲男人夜夜精品电影 | 日本精品99 | 色哟哟精 | 最近更新中文字幕影视 | 色就是色亚洲视频 | 欧美人一级淫片a免费播放 国产精品永久免费自在线观 | 国产又猛又黄又爽 | 色吊丝中文字幕一区二区三区 | 精品国产二区亚洲日本精品 | 99热在线都是精品 | 夫妇交换性3中文字 | 日本一二线不卡在线观看 | 黑人巨大精品欧美一区在线 | 国产精品.xx视频.xxtv | 日日摸处处碰夜夜爽 | 国产99视频精品免费专区 | 国产精品三级在 | 国产又粗又大视频 | 久精品视在线观看视频 | 欧美白皙视 | 午夜a级理论片在线播放不卡 | 国产3344视频在线观看 | 97视频在线| 亚洲欧美激情小说另类 | 观看免费视频 | 免费一级欧美片在线观看欧美 | 秒拍视频福利永久国产 | 麻酥酥哟视频在线播放 | 欧美激情亚洲专区一区二区 | 亚洲精品免费视频观看 | 国产欧美一区二区精品婷婷 | 欧美激情va永久在线播放 | 91精品免费看 | 欧美性受一区二区三区 | 日韩精品极品视频在线观看免 | 亚洲精品国产拍精品 | 欧美亚洲精品在线 | 国产亚洲午夜高清国产拍精品 | 欧美成aⅴ人高清三级 | 亚洲影视网 | 欧美日韩亚洲国产精品自拍 | 色香欲综合成人免费视频 | 精品国产亚洲一区二区三区在线观 | 亚洲欧美日韩一区高清中文字幕 | 亚洲国产一区二区在线 | 国内揄拍 | 国产欧美日韩亚洲中文高 | 成人国产精品视频 | 亚洲限制级资源在线观看 | 国产刺激视频在线观看 | 精品国产免费1区 | 国产在线视频专区 | 国产理论视频在线观看 | 国产夜夜爽| 亚洲欧美另类日韩综合 | 二区三区视频精品 | 亚洲欧美手机在线观看 | 国产第一福利136视频导航 | 国产精品亚洲欧美大片在线观看 | 五月天亚洲婷婷综合 | 欧美v国产v亚洲v日韩九九 | 免费观看又污又黄的网站 | 国产精品999 | 九九在线精品观看 | 国产一级精品在线观看 | 亚洲国产一区二区三区在线 | 精品国产人成亚洲区 | 国产亚洲精品不卡 | 亚洲欧美春色激情另类 | 日韩一区二区三区免费播放 | 二线三线小说 | 日韩在线视频97 | 亚洲愉拍99热成人精品 | 国产a∨精品一区 | 2025国产精品偷窥盗摄 | 电影在线观看 | 欧美午夜理伦三级在 | 午夜爽片超清 | 国产探花视频 | 亚洲精品一区二区三区人妖 | 97视频在线观看视频 | 麻花果冻视频大全英文 | 国产拍揄自揄精品短视频 | 亚洲国产在线精品国自产拍 | 三年在线| 国产网站免费视频 | 精品国产亚洲一区二区三区 | 日本中文字幕电影 | 一区二区高清不卡 | 神马视频 | 欧美性性性性 | 精品日韩欧美一区二区在线播放 | 国产理论片在线观看 | 日韩精品一区 | 免费二级c片在线观看a | 很黄很黄地在床视频女 | 日本一丰满一bbw | 国产免费午夜福利在线播放92 | 啦啦啦在线观看www 三三影院网 | 国产精品一级婬片免费 | 高清欧美性xxxx成熟 | 日韩国产欧 | 91小视频 | 国产精品视频免费一区二区 | 国产精品亚洲二区在线看 | 日韩国产在线观看 | 一本久道综合在线 | 日韩精品免费一区二区三区 | 国产精品丝袜在线观看首页 | 亚洲精品中文字幕码专区 | 免费成人www视频在线观看 | 狼天天狼天天香蕉综 | 精品一区二区三 | 精品第一国产久精国产宅男66 | 亚洲2025天天堂在线观看 | 国产欧美曰韩一区二区三区 | 日韩一区二区三区在线观看 | 亚洲人成a在线网站 | 欧美激情片区一区二区三区 | 成人精品久 | 中文字幕精品一区二区精品 | 成版人抖音d2视 | 国产不卡高清 | 亚洲中文字幕乱码一区 | 在线观看片免费 | 一区二区国产 | 亚洲а∨天堂在线网站 | 在线观看免费精品国产第一区 | 亚洲美女又黄又爽在线观看 | 午夜电影免费在线观看 | 国产又大又硬又粗视频 | 国产l精品国产亚洲区在线观 | 亚洲人护士毛茸茸 | 中文字幕日韩专区 | 一起草视频在 | 综合久青草视频 | 免费人成网站在线观看欧美 | 日本高清视频在线观看不卡 | 亚洲激情一区二区 | 国产乱女乱子视频在线播放 | 亚洲欧美不卡视频在线播放 | 精品一区二区三区密臀在线 | 日韩精品三级一区二区 | 亚洲国产aⅴ精品一区二区女女 | 菠萝蜜视频在线观看入 | 亚洲日韩动漫一区 | 99视频在线精品国自产拍亚瑟 | 午夜日韩欧美电影在线 | 国产精品第 | 国产乱码高清区二区三区在线 | 成人欧美日韩一区二区三区 | 香港午夜三级a三级高清观看 | 亚洲日韩一区二区一 | 91午夜理伦私| 国产日韩高清制服一区 | 国产日韩精品一区二区在线播放 | 国产性爱 | 99久热只有精品视频免费看 | 国产一区二区免费播放 | 国产精品秘吴 | 欧美日韩中文字幕免费看 | 影音先锋| 精品国产蜜桃臀在线观看 | 97国产在线一区不卡 | 三级视频网站在线观看 | 国产精品丝袜在线观看首页 | 国产精品偷伦费看 | 亚洲欧洲日本精品永久在线观看 | 亚洲精品日韩中文字 | 成a人片在线观看中文 | 日韩精品一区二区三区 | 国产精品九九九午夜 | 亚洲国产人成自精在线尤物 | 17p密泬18p | 免费人成网站视频在线观看国内 | 精品三级网站 | 午夜私人影院免费体验区 | 亚洲精品aⅴ中文字幕 | 亚洲熟女精品中文字幕 | 视频观看免费国产最新 | 亚洲精品一区二区国产精华液 | 懂你的91 | 国产婷婷综合在线精品尤物 | 午夜小视频网 | 综合激情在线 | 午夜激成人免费视频在线观看 | 国产精品一区二区在线精品 | 欧美日韩深夜视频在线观看 | 一区二区三区国产精华护肤品 | 五月社区免费 | 快速安装不 | 女人脱精光一清二楚图片 | 一扒二脱三插片在 | 欧美午夜视频一区 | 国产在线观看视频 | 99re热视频这里只有精 | 日韩欧美亚洲一中文字暮 | 高清免费| 午夜理论片yy8860y影院 | 国产精品福利区一区二区三区四 | 国产精品va在线播放我和闺蜜 | 欧产日产国产精品精品 | 日韩欧美国产制服丝袜 | 国产一区二区视频在线播放 | 色爱综合网 | 亚洲成aⅴ人片在线观看www | 国产suv精品一区二区 | 老子影院午夜伦不卡亚洲 | 国产吹潮视频在线观看 | 护士在办公室被躁bd在线观看 | 亚洲欧美中文日韩v在线观看 | 日日噜噜夜夜狠狠视频无 | 国产强伦姧在线观看 | 欧美一区二区三区免费播放 | 天堂在线8一区二区三区 | 91同城| 91短视频在线观看 | 欧美亚洲中日韩中文字幕在线 | 国产精产国品一二三在观看 | 国产精品自线在线播放 | 国产精品自产拍在线观看花钱看 | 国产日韩欧美在线 | 思思99re5国产在 | 国产精品亲子乱子伦 | 一区二区三区精品视频免费播放 | 国产精品jizz在线观看直播 | 亚洲日本va在线视频观看 | 精品理论片免费视频播放 | 国产精品国产精品国产专区不卡 | 最近中文字幕完整版免费视 | 中国亚洲呦女专区 | 青苹果乐园影院在线播放 | 午夜欧美日韩精品 | 亚洲欧美中文高清在线专区 | 国产91精选在线观看导航 | 欧美日韩一区二区三区在线视频 | 国产一区二区三区欧美在线 | 国产精品天天看特色大片 | 国产乱理伦片在线观看网站 | 中文字幕日本αv一区二区 乱伦国产精品日本 | 中文字幕高清免费日韩视频在线 | 亚洲精品视频免费看 | 国产午夜福利短视频在线观看 | 日本成人动漫私人影院 | 欧美精品1区国新欲乱视频 国产一区二区精品免费播放 | 国产日产欧产美韩 | 日本高清激情乱一区二区三区 | 亚洲欧美另类视频小说专区 | 日本中文字幕永久免费 | 国产一级a爱片免费看 | 欧美高清性色生活片 | 亚洲精品宾馆在线精品酒店 | 国产主播福利在线观看 | 欧美另类69 | 九九热线精品视频在线观看 | 免费在线观看日韩电影大片 | 尤物精品视频一区二区三区 | 国产拍偷精品网最新在线观 | 九九国产视频 | 加勒比色 | 好看的最新的国产 | 美女视频写真网站 | 国产精华液和欧美的精华液的区 | 日本高清中文字幕高清在线 | 国产精品午夜福利在线观看地址 | 欧美成妇人吹潮在线播放 | 艳妇野欲| 午夜国产在线一区二区三区 | 欧美日韩一区二区亚洲 | 亚洲精品国产va在线观看天堂 | 亚洲成在人线影视天堂网 | 国产初高中生真实在线视频 | 国产人成精品香港三级在线 | 红杏免费视频网站入口导航 | 亚洲一区二 | 国产在线观看不卡免费高清 | 黄三级高清在线播放 | 日韩欧国产精 | 韩国三级在线观看 | 91极品反差婊在线观看 | 在线观看一级亚洲欧美观看 | 国产极品一区 | 精品国产一区二区三区香蕉 | 亚洲成a人一区二区三区 | 亚洲成ⅴ人片乱码色午夜 | 中文视频二| 91精品国产福利尤物免费 | 日韩乱码人 | 48国产吹潮在线观看 | 欧美日韩一区二区三区视频网站 | 成人奭片免费观看 | 国产自产一区二区三区视频在线 | 无线资源国产资源好片欧美 | 动感小站+在线视频+丝 | 日韩午夜理论 | 国产人妖ts在线视频网 | 一区两区小视频 | 欧美中文字幕在线第一页 | 二区高清不卡 | 亚洲一线二线三线免费视频 | 一级一人片 | 成人看免费一级毛 | 黑人妖欧美一区 | 一区二区视频在线观看入口 | 96精品专区国产在线观看高清 | 在线观看日本亚洲一区 | 日韩永久免费在线中文字幕 | 国产伦精品一区二区三区视 | 亚洲国产理论片 | 成人国产免 | 亚洲欧美v视色一区二区 | 国产在视频精 | 中文字幕| 欧美高清一区二 | 亚洲欧美精品中文字幕 | 国产乱码在线精品可播放 | 日韩国产精品一区二区 | 国产精品永久免费自在线观 | 无人区乱码一区二区三区 | 亚洲视频在线 | 日韩欧美精品在线观看 | 国产在线拍小情侣国产拍拍偷 | 国产精品综合色区在线观看 | 国产伦亲子伦亲子视频观看 | 国产色系视频免费在线观看 | 欧美成a人片在线观看 | 国产99视频精品草莓 | 中文字幕手机在线看片不卡 | 午夜三级理 | 日韩交换精品 | 亚洲欧美v国产 | 亚洲国产日韩欧美综合a | 美足脚交国产在线观看 | 国产偷v国产偷v | 制服丝袜国产精 | 亚洲欧美高清精 | 国产免费v片在线观看完整版 | 欧美日韩精品国产—区在线 | 人人鲁免费 | 欧美午夜性刺激在线观看免费 | 亚洲不卡精品在线观看 | 国产免费直播在线观看视频 | 含羞草影院在线 | 免费国语高清电影电视 | 天下第一日本在线观看视频 | 亚洲一区二区三区精品动漫 | 日韩精品一区二区免费在线观看 | 国产一级一片免费播放视频 | 国产高清在线观看一区二区三区 | 国产精品自在在线午夜 | 亚洲国产综合在线 | 国产综合视频一区二区三区 | 可以看差差直播的软件 | 日本护士毛茸茸xx | 91大神精品全国 | 国产精品1024香蕉在线观看 | 国产欧美精品一区二区三区四 | 欧美日韩国产一中文字不卡 | 福利片+国产+合集 | 中文字幕精品亚洲电影 | 亚洲天堂一区二区三区 | 久热韩国综合中文字幕视频 | 免费人成黄页网站大全在线观 | 成人国内免费精品视频在线观看 | 三级在线电影 | 国产精品4p露脸在线播放 | 在线日本看片免费人成视久网 | 一区二区中文字幕 | 好吊操视频这里只有精品 | 国产在线观看高清看片 | 国产一区二区三区丝袜精品 | 国产精品91视频免费 | 人成精品视频三区二区一区 | 精品视频在线观看免费观看 | 对白刺激的老熟女露脸 | 国产欧美国产综合每日更新 | 字幕a∨| 国产偷国产偷亚 | 国产亚洲精品福利在线 | 在线综合亚洲欧洲综合网站 | 成人精品怡红院在线观看 | 制服丝袜中文字幕在线观看 | 中文字幕∨亚洲日本在线电影 | 精品综合国产一区二区三区码码 | 欧美日韩精品一区二区视频 | 99久热海外精品视频 | 亚洲欧美自拍视频 | 国产乱子伦对白视频 | 欧美在线看片免费观看 | 国产精品专区第5页 | 国产美日韩精品一区二区在线观看 | 精品动漫福利h视频在线观看 | 99这里只有精品在线观看视频播 | 亚洲天堂精品在线观看 | 欧美日韩激情 | 性感美女网站一区二区三区 | 国产高清a | 亚洲码欧美码一区二区三区 | 在线一区二区电影 | 亚洲免费在线国产视频午夜精 | 成人精品久 | 三级在线观看免费观看电影 | 日韩电影在线观看视频 | 欧美精品视频在线观看 | 另类亚洲图区在线视频 | 亚洲高清精品一区 | 在线观看精品国产福利片87 | 99国产免线观看九 | 中文字幕午夜福利片午夜福利片 | 码一码二码w358cc | 国产台湾佬国产娱乐 | 亚洲精品免费视频观看 | 午夜理论片在线观看免费 | 成人午夜影院 | 7777欧美成是| 国产美女一区二区丝袜美腿 | 国产男女爽爽爽爽爽爽爽爽 | 国产欧美一区二区樱花在线观看 | 国内精品国内精品自线一二三 | 日韩高清免费视频观看 | 亚洲色大成网 | 浅田真美 | 亚洲人成网址在线观看 | 亚洲经典一区二区三区 | 日本亚洲国产一区二区三区 | 国产爱情岛在线观看视频 | 99热国产亚洲精品 | 在线一区二区电影 | 国产精品成人国产乱 | 中文字幕午夜福利片午夜福利片 | 岛国三级视频 | 2025精品国产 | 日本中文字幕网址 | 国产精品久线在线观看 | 天天综合| 国产福利观看 | 九九热在线视频 | 国产精品白拍三级 | 国产乱子伦视频在线观看 | 国产在在 | 国产午夜理论不卡在线观看 | 欧美曰韩免费一级在线 | 成人āv专区精 | 性爱影院三级国产 | 日产无人区一线二线三线最新版 | 99欧美午夜一区二区福利 | 亚洲免费网站在线观看 | 天堂草原影院电视剧 | 国产一级在线观看影片 | 男生晚上睡| 亚洲欧美日本a∨在 | 亚洲欧洲国产韩国va在线 | 国产精品视频第一区二区三区 | 国产精品长腿丝袜第一页 | 亚洲色偷偷综合亚洲 | 亚洲一区亚洲二区 | 在线观看视频 | 精品一卡2卡三卡4卡免费视频 | 国产精品4p露脸在线播放 | 凶猛办公室高清未删减 | 午夜三级伦理片在线观看 | 门卫老头吮她 | 国产福利免费的网址 | 激情欧美日韩一 | 国内精品一区二区三区在线观看 | 成人专区一区二区三区四区 | 欧美日本免费一 | 国产精品夜间视频香蕉 | 国产一区二区三区四区五区 | 综合亚洲桃色第一影院 | 99视频在线精品国自产拍亚瑟 | 国产产精品亚洲一区二区在线观看 | 欧美囗交xx×b | 国产36页在线 | 亚洲国产精品sss在线观 | 欧美激情一区二区三区高清视频 | 欧美成aⅴ人高清免费观看 精品人伦一区二区三区 | 欧美日韩国产一区二区三区不卡 | 色综合色综合婷婷热 | 国产欧美自拍偷怕日韩亚洲 | 精品国产制服丝袜高跟 | 一区二区三区国产美女在线播放 | 激情视频一区二区三区 | 在线播放免费精品 | 国产偷窥女洗浴在线观看亚洲 | 国产在线精品一区二区 | 精品国产福利一区二区在线 | 免费日韩电影网 | 国产99视频精品免费视 | 欧美国产精品 | 欧美a级大片 | 国产精品91一区二区三区四区 | 偷拍视频一区二区三区 | 欧美综合精品久 | 中文字幕乱码免费视频 | 丰满岳乱妇 | 欧美日韩日本中国高清视频在线 | 在线中文字幕有码中文 | 不卡一卡 | 网友自拍露脸国语对白 | 亚洲日韩制服中文字幕 | 国产精品多人 | 日韩欧美另类一区二区三区 | 在线观看91精品国产hd | 国产日韩制服丝袜在线第一页 | 97青草最新免费 | 亚洲视频免费观看 | 永久免费播放 | 免费国产午夜在线观看 | 为您呈现最新最热的电影力作 | 青青草原国产在 | 日韩精品一区二区三区蜜桃 | 青草久操| 福利一区二区三区视频在线观看 | 色偷偷国色天香在线观看免费视频 | 影视最全更新最快 | 亚州精品一区中文字幕乱码 | 日本一本之道之视频在线不卡 | 国语精品91自产拍在线观看二区 | 亚洲国产欧美在线观看片不卡 | 三年在线 | bt自拍另类综合欧美 | 中文字幕精品一区 | 精品国产柚木在线 | 亚洲国产剧情一区在线观看 | 一区二区三区四区欧美 | 午夜a级理论片在线播放 | 国产精品成人v | 五月天激情视频a级在线版 无吗一区二区三区 | 欧美亚洲日本国产黑白配 一级特黄高清aaa | 好看的动画电影 | 国产亚洲欧美日韩在线三区 | 精品日本一区 | 天堂mv在线免费看 | 国产一级淫片视频免费看 | 手机免费在线观看完整版 | 99视频有精品视频在线观看 | 欧美视频综合二区 | 中文字幕亚洲日韩第一页 | 欧美激情视频在线免费观看 | 日韩一级| 日韩欧美国产制服丝袜 | 亚洲日韩电影网天堂影院 | 欧美性大 | 男人扒开女人腿桶到爽免费 | 欧美日韩一区精品视频一区二区 | 精品影院 | 免费看成年视频在线入口完整版 | 午夜性影院一区二区三区 | 热门好看的电影大全 | 女同恋性一区二区三区四区 | 91国语精品自产拍在线观看 | 成人激情电影 | 国产精品自产拍在线观看网站 | 国产日韩欧美一区二区三区在线 | 国产福利在线观看视频 | 999zyz玖玖| 中文日本免费高清 | 国产欧美乱夫不卡无乱码 | 日韩欧美精品综合一区二区三 | 国产精品视频第 | 欧美日韩一 | 精品国产高清自在线一区二区 | 一区二区三区在线免费看 | 精品国产一区在线观看 | 国产精品18 | 国产在线久欧美视频 | 国内自拍视频在线观看 | 亚洲丝袜一区二区 | 亚洲国产日韩一级精品视频网站 | 欧美乱大交 | 国内精品国内精品自线一二三 | 天天射天天爱天天射干 | 欧美一区二区三区日韩免费播 | 亚洲欧美成va人在线观看 | 国产精品视频在这里有精品 | 精品国产欧美一区二区三区成人 | 黑粗硬大欧美 | 天天国产综合永久精品日韩 | 亚洲国产精品一区第二页 | 国产萌白酱喷水在线播放尤物 | 国产精品视频大陆免费播放 | 国产日韩| 中文字幕制服丝袜在线观看 | 国产精品偷窥熟女欧美激 | 午夜亭亭| 99视频在线观看 | 国产草莓社区在线观看 | 免费99精品国产 | 国产精品亚洲午夜一区二区三区 | 国产精品成人观看视 | 亚洲国产一区欧美 | 激情文学小说区另 | 国产aⅴ一区二区 | 在线综合亚洲欧洲综合网站 | 国产精品亚洲二区在线看 | 日日摸日日 | 在线观看国产成 | 亚洲一区在线视频在线观看 | 免费99精品国产自在现线 | 欧美a在线看 | 香蕉一区二区在线观看 | 国产在线观看一区 | 国产精品成人一区二区三区电影 | 91秒拍国产福利在线观看 | 最近中文字幕免费mv视频7 | 色一情一区二区三区 | 欧美精品v日韩精品v韩国精品v | 国产欧美一区二区精品久 | 欧美一区福利 | 国产99日韩精品第一页 | 国产91专区 | 最新热门日韩电影 | 中文日产无乱码v在线观 | 91全网在线观看国产 | 欧美精品视频免费看 | 正在播放国产真实哭都没用 | 山东猎头| 狼天天狼天天香蕉综 | 两个人看| 日本毛x片免费视频观看视频 | 日本有码中文字幕第二页 | 日韩国产免费 | 欧美xxxx黑人又粗又长精品 | 午夜免费啪视频观看视频 | 二区三区在线观看 | 亚洲国产天堂久 | 日本黄页免费大片在线观看 | 免费人成在线观看 | 亚洲人成 | 91成人影院在线观看 | 国产精品日韩激情在线观看 | 国产国产人免费人成免费视频 | 神马电影院午夜神福利在线观看 | 成人精品一区二区三区免费观看 | 国产在线观看码高 | 日本一二三区不卡高清区 | 亚洲午夜成人精品电影在线观看 | 国产欧美一区二区另类精品 | 国拍在线精品 | 一本大道香蕉久97在线播放 | 国偷自产视频一区二区久 | 欧美日韩大尺码免费专区 | 国产第一福利136视频导航 | 日本精品中文字幕在线不卡 | 免费只有精品国产 | 日韩欧美国产精品 | 丁香花在线观看免费观看图片 | 国产青草视频在线观看 | 午夜视频在线观看免费 | 日韩在线视频97 | 欧美日韩另 | 99久热国产| 日本一卡亚洲精品 | 91国内精品线免费播放 | 成人日韩精品一区二区 | 区三区在线播放 | 永久免费精品性爱网站 | 日韩经典欧美 | 人片在线观看 | 国产网站免费视频 | 国产精品免费 | 国产精品萌白酱永久在线观看 | 日本大肚| 亚洲精品乱码久 | 日韩欧美视频一区二区三区 | 日本三级韩国三 | 亚洲欧美日韩、中文 | 欧美日本韩国一 | 97国产婷婷综合 | 成欢阁免费入口在线观看 | 国产精品对白交换绿帽视频 | 国产精品欧美激情一区二区亚洲 | 特色特色的欧美大片 | 成年人24小时在线免费观看视频 | 日本新ja| 中文字幕日韩一级 | 在线观看午夜亚洲一区 | 日韩精品欧美激情国产一区 | 国产精品视频国产永久视频 | 日韩在线精品一区二区三区 | 中文字幕一区日韩高清 | 欧美乱妇日本无乱码特黄大片 |