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

分布式數(shù)據(jù)集SparkRDD的依賴與緩存

數(shù)據(jù)庫(kù) 分布式 Spark
RDD(Resilient Distributed Dataset)叫做分布式數(shù)據(jù)集,是Spark中最基本的數(shù)據(jù)抽象,它代表一個(gè)不可變、可分區(qū)、里面的元素可并行計(jì)算的集合。

RDD簡(jiǎn)介

RDD(Resilient Distributed Dataset)叫做分布式數(shù)據(jù)集,是Spark中最基本的數(shù)據(jù)抽象,它代表一個(gè)不可變、可分區(qū)、里面的元素可并行計(jì)算的集合。RDD是一個(gè)類(lèi)

RDD的屬性

1.一個(gè)列表,存儲(chǔ)存取每個(gè)Partition的優(yōu)先位置(preferred location)。對(duì)于一個(gè)HDFS文件來(lái)說(shuō),這個(gè)列表保存的就是每個(gè)Partition所在的塊的位置。按照“移動(dòng)數(shù)據(jù)不如移動(dòng)計(jì)算”的理念,Spark在進(jìn)行任務(wù)調(diào)度的時(shí)候,會(huì)盡可能地將計(jì)算任務(wù)分配到其所要處理數(shù)據(jù)塊的存儲(chǔ)位置。

2.保存了計(jì)算每個(gè)分區(qū)的函數(shù),這個(gè)計(jì)算方法會(huì)應(yīng)用到每一個(gè)數(shù)據(jù)塊上,Spark中RDD的計(jì)算是以分片為單位的,每個(gè)RDD都會(huì)實(shí)現(xiàn)compute函數(shù)以達(dá)到這個(gè)目的。compute函數(shù)會(huì)對(duì)迭代器進(jìn)行復(fù)合,不需要保存每次計(jì)算的結(jié)果。

3.RDD之間的依賴關(guān)系。RDD的每次轉(zhuǎn)換都會(huì)生成一個(gè)新的RDD,所以RDD之間就會(huì)形成類(lèi)似于流水線一樣的前后依賴關(guān)系。在部分分區(qū)數(shù)據(jù)丟失時(shí),Spark可以通過(guò)這個(gè)依賴關(guān)系重新計(jì)算丟失的分區(qū)數(shù)據(jù),而不是對(duì)RDD的所有分區(qū)進(jìn)行重新計(jì)算。

4.RDD的分片函數(shù)(Partitioner),一個(gè)是基于哈希的HashPartitioner,另外一個(gè)是基于范圍的RangePartitioner。只有對(duì)于于key-value的RDD,才會(huì)有Partitioner,非key-value的RDD的Parititioner的值是None。Partitioner函數(shù)不但決定了RDD本身的分片數(shù)量,也決定了parent RDD Shuffle輸出時(shí)的分片數(shù)量。

5.一組分片(Partition),即數(shù)據(jù)集的基本組成單位。對(duì)于RDD來(lái)說(shuō),每個(gè)分片都會(huì)被一個(gè)計(jì)算任務(wù)處理,并決定并行計(jì)算的粒度。用戶可以在創(chuàng)建RDD時(shí)指定RDD的分片個(gè)數(shù),如果沒(méi)有指定,那么就會(huì)采用默認(rèn)值。默認(rèn)值就是程序所分配到的CPU Core的數(shù)目。

如何創(chuàng)建RDD

1.通過(guò)序列化集合的方式創(chuàng)建RDD(parallelize,makeRDD)

2.通過(guò)讀取外部的數(shù)據(jù)源(testFile)

3.通過(guò)其他的rdd做transformation操作轉(zhuǎn)換成行的RDD

RDD的兩種算子:

1.Transformation

  • map(func) :返回一個(gè)新的分布式數(shù)據(jù)集,由每個(gè)原元素經(jīng)過(guò)func函數(shù)轉(zhuǎn)換后組成
  • filter(func) : 返回一個(gè)新的數(shù)據(jù)集,由經(jīng)過(guò)func函數(shù)后返回值為true的原元素組成
  • flatMap(func) : 類(lèi)似于map,但是每一個(gè)輸入元素,會(huì)被映射為0到多個(gè)輸出元素(因此,func函數(shù)的返回值是一個(gè)Seq,而不是單一元素)
  • flatMap(func) : 類(lèi)似于map,但是每一個(gè)輸入元素,會(huì)被映射為0到多個(gè)輸出元素(因此,func函數(shù)的返回值是一個(gè)Seq,而不是單一元素)
  • sample(withReplacement, frac, seed) :
  • 根據(jù)fraction指定的比例對(duì)數(shù)據(jù)進(jìn)行采樣,可以選擇是否使用隨機(jī)數(shù)進(jìn)行替換,seed用于指定隨機(jī)數(shù)生成器種子
  • union(otherDataset) : 返回一個(gè)新的數(shù)據(jù)集,由原數(shù)據(jù)集和參數(shù)聯(lián)合而成
  • reduceByKey(func, [numTasks]) : 在一個(gè)(K,V)對(duì)的數(shù)據(jù)集上使用,返回一個(gè)(K,V)對(duì)的數(shù)據(jù)集,key相同的值,都被使用指定的reduce函數(shù)聚合到一起。和groupbykey類(lèi)似,任務(wù)的個(gè)數(shù)是可以通過(guò)第二個(gè)可選參數(shù)來(lái)配置的。
  • join(otherDataset, [numTasks]) :
  • 在類(lèi)型為(K,V)和(K,W)類(lèi)型的數(shù)據(jù)集上調(diào)用,返回一個(gè)(K,(V,W))對(duì),每個(gè)key中的所有元素都在一起的數(shù)據(jù)集
  • groupWith(otherDataset, [numTasks]) : 在類(lèi)型為(K,V)和(K,W)類(lèi)型的數(shù)據(jù)集上調(diào)用,返回一個(gè)數(shù)據(jù)集,組成元素為(K, Seq[V], Seq[W]) Tuples。這個(gè)操作在其它框架,稱(chēng)為CoGroup
  • cartesian(otherDataset) : 笛卡爾積。但在數(shù)據(jù)集T和U上調(diào)用時(shí),返回一個(gè)(T,U)對(duì)的數(shù)據(jù)集,所有元素交互進(jìn)行笛卡爾積。
  • intersection(otherDataset):對(duì)源RDD和參數(shù)RDD求交集后返回一個(gè)新的RDD
  • distinct([numTasks])) 對(duì)源RDD進(jìn)行去重后返回一個(gè)新的RDD
  • groupByKey([numTasks]) 在一個(gè)(K,V)的RDD上調(diào)用,返回一個(gè)(K, Iterator[V])的RDD
  • reduceByKey(func, [numTasks]) 在一個(gè)(K,V)的RDD上調(diào)用,返回一個(gè)(K,V)的RDD,使用指定的reduce函數(shù),將相同key的值聚合到一起,與groupByKey類(lèi)似,reduce任務(wù)的個(gè)數(shù)可以通過(guò)第二個(gè)可選的參數(shù)來(lái)設(shè)置
  • aggregateByKey(zeroValue)(seqOp, combOp, [numTasks])
  • sortByKey([ascending], [numTasks]) 在一個(gè)(K,V)的RDD上調(diào)用,K必須實(shí)現(xiàn)Ordered接口,返回一個(gè)按照key進(jìn)行排序的(K,V)的RDD
  • sortBy(func,[ascending], [numTasks]) 與sortByKey類(lèi)似,但是更靈活
  • join(otherDataset, [numTasks]) 在類(lèi)型為(K,V)和(K,W)的RDD上調(diào)用,返回一個(gè)相同key對(duì)應(yīng)的所有元素對(duì)在一起的(K,(V,W))的RDD
  • cogroup(otherDataset, [numTasks]) 在類(lèi)型為(K,V)和(K,W)的RDD上調(diào)用,返回一個(gè)(K,(Iterable

2.Action

  • reduce(func) 通過(guò)func函數(shù)聚集RDD中的所有元素,這個(gè)功能必須是課交換且可并聯(lián)的
  • collect() 在驅(qū)動(dòng)程序中,以數(shù)組的形式返回?cái)?shù)據(jù)集的所有元素
  • count() 返回RDD的元素個(gè)數(shù)
  • first() 返回RDD的***個(gè)元素(類(lèi)似于take(1))
  • take(n) 返回一個(gè)由數(shù)據(jù)集的前n個(gè)元素組成的數(shù)組
  • takeSample(withReplacement,num, [seed]) 返回一個(gè)數(shù)組,該數(shù)組由從數(shù)據(jù)集中隨機(jī)采樣的num個(gè)元素組成,可以選擇是否用隨機(jī)數(shù)替換不足的部分,seed用于指定隨機(jī)數(shù)生成器種子
  • takeOrdered(n, [ordering])
  • saveAsTextFile(path) 將數(shù)據(jù)集的元素以textfile的形式保存到HDFS文件系統(tǒng)或者其他支持的文件系統(tǒng),對(duì)于每個(gè)元素,Spark將會(huì)調(diào)用toString方法,將它裝換為文件中的文本
  • saveAsSequenceFile(path) 將數(shù)據(jù)集中的元素以Hadoop sequencefile的格式保存到指定的目錄下,可以使HDFS或者其他Hadoop支持的文件系統(tǒng)。
  • saveAsObjectFile(path)
  • countByKey() 針對(duì)(K,V)類(lèi)型的RDD,返回一個(gè)(K,Int)的map,表示每一個(gè)key對(duì)應(yīng)的元素個(gè)數(shù)。
  • foreach(func) 在數(shù)據(jù)集的每一個(gè)元素上,運(yùn)行函數(shù)func進(jìn)行更新。

RDD的依賴關(guān)系

1.窄依賴

窄依賴指的是每一個(gè)父RDD的Partition最多被子RDD的一個(gè)Partition使用

總結(jié):窄依賴我們形象的比喻為獨(dú)生子女

2.寬依賴

寬依賴指的是多個(gè)子RDD的Partition會(huì)依賴同一個(gè)父RDD的Partition

總結(jié):窄依賴我們形象的比喻為超生

3.Lineage(血統(tǒng))

RDD只支持粗粒度轉(zhuǎn)換,即在大量記錄上執(zhí)行的單個(gè)操作。將創(chuàng)建RDD的一系列Lineage(即血統(tǒng))記錄下來(lái),以便恢復(fù)丟失的分區(qū)。RDD的Lineage會(huì)記錄RDD的元數(shù)據(jù)信息和轉(zhuǎn)換行為,當(dāng)該RDD的部分分區(qū)數(shù)據(jù)丟失時(shí),它可以根據(jù)這些信息來(lái)重新運(yùn)算和恢復(fù)丟失的數(shù)據(jù)分區(qū)。

DAG的生成

DAG(Directed Acyclic Graph)叫做有向無(wú)環(huán)圖,原始的RDD通過(guò)一系列的轉(zhuǎn)換就就形成了DAG,根據(jù)RDD之間的依賴關(guān)系的不同將DAG劃分成不同的Stage,對(duì)于窄依賴,partition的轉(zhuǎn)換處理在Stage中完成計(jì)算。對(duì)于寬依賴,由于有Shuffle的存在,只能在parent RDD處理完成后,才能開(kāi)始接下來(lái)的計(jì)算,因此寬依賴是劃分Stage的依據(jù)。

RDD的緩存

Spark速度非常快的原因之一,就是在不同操作中可以在內(nèi)存中持久化或緩存?zhèn)€數(shù)據(jù)集。當(dāng)持久化某個(gè)RDD后,每一個(gè)節(jié)點(diǎn)都將把計(jì)算的分片結(jié)果保存在內(nèi)存中,并在對(duì)此RDD或衍生出的RDD進(jìn)行的其他動(dòng)作中重用。這使得后續(xù)的動(dòng)作變得更加迅速。RDD相關(guān)的持久化和緩存,是Spark最重要的特征之一。可以說(shuō),緩存是Spark構(gòu)建迭代式算法和快速交互式查詢的關(guān)鍵。

找依賴關(guān)系劃分stage的目的之一就是劃分緩存, 如何通過(guò)stage的劃分設(shè)置緩存?

(1)在窄依賴想設(shè)置緩存時(shí)用cache

(2)在寬依賴想設(shè)置緩存時(shí)用checkpoint

如何設(shè)置cache和checkpoint?

cache:someRDD.cache()就添加成功緩存,放入到內(nèi)存中

someRDD.persist(StorageLevel.MEMORY_AND_DISK):根據(jù)自己的需要設(shè)置緩存的位置(內(nèi)存和硬盤(pán))

checkpoint:可以把RDD計(jì)算后的數(shù)據(jù)存儲(chǔ)在本地磁盤(pán)上,也可以是hdfs

sc.setCheckpointDIr("hdfs://hadoop1:9000/checkpoint")設(shè)置checkpoint的路徑 在寬依賴前設(shè)置

someRDD.checkpoint()設(shè)置checkpoint

cache 和checkpoint的區(qū)別

cache只是緩存數(shù)據(jù),不改變RDD的依賴關(guān)系,checkpoint生成了一個(gè)新的RDD,后面的RDD將依賴新的RDD依賴關(guān)系已經(jīng)改變 。數(shù)據(jù)恢復(fù)的順序:checkpoint ---》cache--》重算

責(zé)任編輯:武曉燕 來(lái)源: 博客園
相關(guān)推薦

2023-05-05 06:13:51

分布式多級(jí)緩存系統(tǒng)

2009-02-06 09:38:38

memcached分布式緩存系統(tǒng)ASP.NET

2023-05-12 11:52:21

緩存場(chǎng)景性能

2022-04-07 17:13:09

緩存算法服務(wù)端

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2023-02-28 07:01:11

分布式緩存平臺(tái)

2019-02-18 11:16:12

Redis分布式緩存

2013-06-13 11:29:14

分布式分布式緩存

2011-11-29 09:49:16

數(shù)據(jù)庫(kù)其他數(shù)據(jù)庫(kù)NoSQL

2009-02-10 08:57:01

分布式緩存.Net開(kāi)發(fā)

2023-01-13 07:39:07

2018-02-07 10:46:20

數(shù)據(jù)存儲(chǔ)

2017-12-12 14:51:15

分布式緩存設(shè)計(jì)

2009-11-09 09:25:24

Memcached入門(mén)

2015-09-21 09:20:11

C#Couchbase使用

2019-07-04 15:13:16

分布式緩存Redis

2019-06-19 15:40:06

分布式鎖RedisJava

2020-04-28 14:25:14

緩存分布式數(shù)據(jù)

2023-08-15 09:31:01

分布式緩存

2022-06-21 08:27:22

Seata分布式事務(wù)
點(diǎn)贊
收藏

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

亚洲图区在线| 蜜桃视频m3u8在线观看| 国产精品影视在线观看| 久久久免费av| 国产精品高清无码在线观看| 国产一区二区主播在线| 亚洲丝袜制服诱惑| 精品国产一区二区三| 国产午夜麻豆影院在线观看| 国产精品成久久久久| 欧美精品一区二区久久久| 国产97在线 | 亚洲| av男人的天堂在线| 国产麻豆精品久久一二三| 91精品国产高清久久久久久| av在线播放中文字幕| 视频一区日韩精品| 色菇凉天天综合网| 9191国产视频| sese一区| 99re这里都是精品| 成人欧美在线视频| 无码人妻av免费一区二区三区| 国产精品久久久久久影院8一贰佰| 亚洲国产欧美久久| 免费不卡av网站| 精品亚洲美女网站| 五月开心婷婷久久| 黄黄视频在线观看| av大片在线观看| 26uuu国产电影一区二区| 亚洲最大成人网色| 最近中文字幕免费观看| 99精品福利视频| 久久91亚洲精品中文字幕| 一区二区精品免费| 激情小说一区| 精品奇米国产一区二区三区| 污污的网站18| 香蕉视频亚洲一级| 欧美日韩国产一区二区三区| 日韩精品免费一区| 成人在线app| 中文无字幕一区二区三区 | 韩国午夜理伦三级不卡影院| 欧美一区在线直播| 国产情侣在线视频| 亚洲视频综合| 欧美成人免费全部| 国产一区二区播放| 久久精品久久久| 日韩在线观看网站| 人妻熟人中文字幕一区二区| 蜜臀久久99精品久久一区二区 | 韩国一区二区三区四区| 91成人小视频| 欧美日韩精品免费观看视频| 欧美三级理论片| 成人精品高清在线视频| 欧美日韩三级一区二区| 免费一区二区三区在线观看| 久久亚洲人体| 欧美少妇一区二区| 91国内在线播放| 在线观看亚洲精品福利片| 这里只有精品电影| 午夜天堂在线视频| 日韩成人在线看| 亚洲第一免费网站| 在线免费观看a级片| 亚洲综合福利| 中文字幕日韩在线视频| 一级黄色片日本| 欧美精品91| 97视频免费看| 日韩黄色片网站| 久草这里只有精品视频| 91国产在线免费观看| 成人小说亚洲一区二区三区| 成人午夜视频在线| 欧美精品在线一区| 色综合久久影院| 一区二区三区四区激情| 无码熟妇人妻av在线电影| 美女高潮在线观看| 欧美性一二三区| 无码人妻一区二区三区在线视频| 草草视频在线一区二区| 精品亚洲一区二区三区在线观看| 亚洲精品国产熟女久久久| 99精品视频在线| 九色成人免费视频| 亚洲午夜18毛片在线看| 麻豆精品一区二区三区| 99九九视频| 韩国精品视频| 亚洲激情在线激情| 成人一级片网站| 成人午夜888| 日韩久久免费电影| 希岛爱理中文字幕| aa国产精品| 国产一区视频在线| 天天综合网在线| 中文字幕乱码日本亚洲一区二区| 日本天堂免费a| 日韩在线短视频| 精品久久久久香蕉网| 人与嘼交av免费| 精品999日本| 国产精品永久免费视频| 天天摸天天碰天天爽天天弄| 国产欧美日韩在线观看| 久久久久99精品成人片| 黄色精品视频网站| 日韩精品在线观看视频| 九九这里只有精品视频| 久久精品首页| 国产在线精品一区二区中文| 男人影院在线观看| 色婷婷精品久久二区二区蜜臂av | av一区二区久久| 制服诱惑一区| 日本欧美一区| 亚洲男人天堂网站| 国产午夜久久久| 激情都市一区二区| 亚洲高清精品中出| 老司机2019福利精品视频导航| 精品国产髙清在线看国产毛片| 国产精品一区二区亚洲| 三级影片在线观看欧美日韩一区二区| 丁香五月网久久综合| 国产在线更新| 欧美日韩精品一区二区| 亚洲成av人片在线观看无| 93在线视频精品免费观看| 国产精品久久一| 青青草在线视频免费观看| 亚洲国产乱码最新视频| 国产欧美精品一二三| 久久看人人摘| 国产v综合ⅴ日韩v欧美大片 | 成人av网站免费| 青草全福视在线| 美女国产精品久久久| 精品国产欧美成人夜夜嗨| 亚洲 小说区 图片区| 久久久不卡网国产精品一区| 每日在线更新av| 欧美调教视频| 欧美一区二区视频97| 深夜福利视频在线观看| 欧美日韩午夜剧场| 亚洲精品女人久久久| 99在线|亚洲一区二区| 久久久久资源| 自拍网站在线观看| 亚洲午夜女主播在线直播| 亚洲s码欧洲m码国产av| 久久综合久久综合亚洲| 日韩视频在线免费看| 日韩aaaa| 成人欧美一区二区三区黑人孕妇| 黄色小网站在线观看| 欧美一区二区三区婷婷月色| 日韩a级片在线观看| 国产成人一级电影| 国产乱子伦精品视频| 大奶在线精品| 奇门遁甲1982国语版免费观看高清| 色哟哟在线观看| 欧美在线不卡视频| 69夜色精品国产69乱| 成人视屏免费看| 北条麻妃在线视频观看| 欧美系列电影免费观看| 成人午夜激情网| 福利小视频在线| 亚洲精品视频免费在线观看| 亚洲av人无码激艳猛片服务器| 国产精品免费视频网站| 中国特级黄色片| 国产精品入口66mio| 四虎永久国产精品| 狂野欧美xxxx韩国少妇| 97超级碰碰人国产在线观看| 懂色一区二区三区| 欧美一级二级三级蜜桃| 久久夜色精品亚洲| 国产精品久久久久久久午夜片| 26uuu国产| 久久久久91| 日本黄网站色大片免费观看| 日韩精品免费一区二区三区竹菊| 国产精品嫩草影院一区二区| 69xxx在线| 亚洲欧美日韩直播| 亚洲av无码乱码在线观看性色| 日韩欧美国产一区二区| 小早川怜子一区二区的演员表| av福利精品导航| 亚洲视频一二三四| 亚洲欧美日韩一区在线观看| 在线精品亚洲一区二区| 久久亚州av| 91精品久久久久久久久青青| 日本不卡1234视频| 久久资源免费视频| 国产一区二区影视| 欧美成人r级一区二区三区| 在线观看你懂的网站| 亚洲一区二区三区四区在线| 亚洲精品国产精品乱码在线观看| 99久久精品国产毛片| 五月天婷婷影视| 视频一区视频二区在线观看| 美女扒开大腿让男人桶| 天天综合久久| 日韩精品伦理第一区| 久久精品亚洲成在人线av网址| 成人精品一区二区三区| 高清av一区二区三区| 国产91精品高潮白浆喷水| 黄色的网站在线观看| 伊人成人开心激情综合网| 手机在线不卡av| 日韩欧美卡一卡二| 国产剧情精品在线| 欧美日韩1区2区| 无码人妻精品一区二区三区不卡 | 在线丨暗呦小u女国产精品| 男人天堂av网| 日韩一区二区在线看片| 一级片免费观看视频| 欧美性感一类影片在线播放| 特级毛片www| 亚洲成人av福利| 国产性猛交普通话对白| 亚洲另类中文字| 99热99这里只有精品| 国产欧美1区2区3区| 91国模少妇一区二区三区| 99re成人精品视频| 男男一级淫片免费播放| 成人福利视频网站| 美女露出粉嫩尿囗让男人桶| 国产成人免费高清| 苍井空张开腿实干12次| 成人在线视频一区| 美国黄色一级视频| 成人av网址在线观看| 精品国产人妻一区二区三区| av电影天堂一区二区在线| 中文字幕天堂网| gogogo免费视频观看亚洲一| 成人区人妻精品一区二| bt7086福利一区国产| 久久久久成人精品无码中文字幕| 盗摄精品av一区二区三区| 又色又爽又黄18网站| 成人网在线免费视频| 在线观看国产三级| 国产三级精品视频| 国产麻豆a毛片| 亚洲蜜臀av乱码久久精品| 黄色一级视频免费观看| 亚洲成av人片一区二区梦乃| 久久99国产综合精品免费| 在线一区二区视频| 艳妇乳肉豪妇荡乳av| 欧美一级片在线| 欧美一级性视频| 亚洲全黄一级网站| 欧美videos极品另类| 欧美激情18p| 天堂在线中文网官网| 国产精品旅馆在线| 麻豆国产一区| 久久久水蜜桃| 欧美高清视频手机在在线| 亚洲色婷婷久久精品av蜜桃| 亚洲日本免费| a在线观看免费视频| 国产成人免费av在线| 亚洲国产无码精品| 亚洲人成在线播放网站岛国| 日韩精品成人一区| 欧美性videosxxxxx| av无码精品一区二区三区宅噜噜| 亚洲国模精品私拍| 网友自拍视频在线| 97视频com| 曰本一区二区| 欧美精品七区| 欧美成人tv| www.日本xxxx| 成人动漫在线一区| 麻豆视频免费在线播放| 午夜不卡av免费| 国产精品久久久国产盗摄| 亚洲精品中文字| 欧美人与性动交α欧美精品图片| 国产成人av在线播放| 91国内精品白嫩初高生| 日产国产精品精品a∨| 亚洲午夜极品| 日韩av卡一卡二| 91视频com| 久操视频免费在线观看| 欧美性受xxxx| 天天操天天干天天操| 久久深夜福利免费观看| 欧美va在线观看| 九色视频成人porny| 欧美成人高清| 在线免费黄色网| 欧美国产日韩一二三区| 亚洲天堂日韩av| 日韩精品综合一本久道在线视频| 成年人在线观看| 欧美最猛性xxxxx(亚洲精品)| 亚洲精品观看| 四虎免费在线观看视频| 日韩精品午夜视频| 亚洲国产欧美视频| 精品久久久久久久久久| 亚洲爱情岛论坛永久| 久久在线免费观看视频| 国产第一精品| 日韩欧美亚洲区| 国产视频一区在线观看一区免费| 麻豆tv在线观看| 一区二区三区欧美| 99热这里是精品| 日韩一区二区精品视频| 99热播精品免费| 色噜噜色狠狠狠狠狠综合色一| 免费欧美在线| 中文字幕av网址| 欧美性xxxxxxxxx| 涩涩视频在线观看免费| 77777少妇光屁股久久一区| 高清日韩欧美| 成人黄色大片网站| 成人天堂资源www在线| 欧美激情精品久久| 欧美不卡视频一区| 美女航空一级毛片在线播放| av成人综合网| 黄色国产精品| 伊人网综合视频| 精品久久久久久久久久久| 少妇人妻一区二区| 91精品国产91久久久久久吃药| 欧美精品中文| 国内外成人激情视频| 久久综合色之久久综合| www.com亚洲| 中日韩美女免费视频网站在线观看| 免费在线观看一区| 亚洲欧美日韩国产yyy| 麻豆精品在线视频| 欧美性x x x| 精品国产乱码久久久久久牛牛 | 国产欧美精品一二三| 一区二区三区四区蜜桃| 色婷婷av一区二区三| 热99在线视频| 成人情趣视频网站| 樱花草www在线| 亚洲国产精品一区二区久久恐怖片| 天堂在线视频免费| 国产成人啪精品视频免费网| 四季av一区二区凹凸精品| 师生出轨h灌满了1v1| 日韩欧美极品在线观看| av在线天堂播放| 91九色对白| 亚洲欧美日本视频在线观看| 美国一级黄色录像| 精品日韩一区二区| 久久r热视频| 只有这里有精品| 99综合电影在线视频| 国产亚洲久一区二区| 久久91超碰青草是什么| 免费成人三级| 欧美日韩中文不卡| 亚洲成人高清在线| 日本在线免费网| 国产亚洲精品久久飘花| 免费欧美在线视频| 久久久久99精品| 国产亚洲一区二区精品| 日韩在线精品强乱中文字幕| 99色精品视频| 一区二区三区在线播| 粉嫩一区二区三区国产精品| www日韩av|