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

在Apache Spark中執(zhí)行聚合的五種方法

大數(shù)據(jù) Spark
聚合是數(shù)據(jù)分析任務(wù)中廣泛使用的運(yùn)算符,Spark為此提供了堅(jiān)實(shí)的框架。 以下是使用Spark可以針對(duì)大數(shù)據(jù)進(jìn)行聚合的五種不同方式。

在Apache Spark中執(zhí)行聚合的五種方法

聚合是數(shù)據(jù)分析任務(wù)中廣泛使用的運(yùn)算符,Spark為此提供了堅(jiān)實(shí)的框架。 以下是使用Spark可以針對(duì)大數(shù)據(jù)進(jìn)行聚合的五種不同方式。

RDD上的GroupByKey或ReduceByKey轉(zhuǎn)換:RDD是Spark中分布式數(shù)據(jù)收集的最早表示,其中數(shù)據(jù)通過(guò)" T"類型的任意Java對(duì)象表示。 RDD上的聚合與map-reduce框架中的reduce概念相似,在reduce中,reduce函數(shù)(作用于兩個(gè)輸入記錄以生成聚合記錄)是聚合的關(guān)鍵。 使用RDD時(shí),聚合可以通過(guò)GroupByKey或ReduceByKey轉(zhuǎn)換來(lái)執(zhí)行,但是,這些轉(zhuǎn)換僅限于Pair RDD(元組對(duì)象的集合,每個(gè)元組都由類型為" K"的鍵對(duì)象和類型為" V"的值對(duì)象組成) 。

在通過(guò)GroupByKey進(jìn)行聚合的情況下,轉(zhuǎn)換會(huì)導(dǎo)致元組對(duì)象具有鍵對(duì)象和針對(duì)該鍵對(duì)象的所有值對(duì)象的集合。 因此,之后需要應(yīng)用一個(gè)映射器(通過(guò)map,maptoPair或mapPartitions進(jìn)行映射轉(zhuǎn)換),以便將每個(gè)Tuple對(duì)象的值對(duì)象的集合減少為一個(gè)聚合的值對(duì)象。

 

在Apache Spark中執(zhí)行聚合的五種方法
> Aggregation on a Pair RDD (with 2 partitions) via GroupByKey followed via either of map, maptopair

映射程序(例如map,maptoPair和mappartitions轉(zhuǎn)換)包含聚合函數(shù),以將類型為" V"的值對(duì)象的集合減少為類型為" U"的聚合對(duì)象。 聚合函數(shù)可以是任意函數(shù),不需要遵循關(guān)聯(lián)性或交換性狀。 GroupByKey轉(zhuǎn)換具有三種風(fēng)格,它們因應(yīng)用GroupByKey轉(zhuǎn)換而在RDD的分區(qū)規(guī)范上有所不同。 GroupByKey可以總結(jié)為:

  1. GroupByKey (PairRDD) => PairRDD> Map (PairRDD>) => PairRDD 

如果通過(guò)ReduceByKey進(jìn)行聚合,則轉(zhuǎn)換將直接導(dǎo)致具有鍵對(duì)象和針對(duì)該鍵對(duì)象的聚合對(duì)象的元組對(duì)象。 與GroupByKey一樣,在ReduceByKey之后不需要映射器。 ReduceByKey轉(zhuǎn)換采用關(guān)聯(lián)和可交換的聚合函數(shù),以便在跨分區(qū)聚合記錄之前,可以在本地聚合位于同一分區(qū)的記錄。 同樣,聚合函數(shù)接受兩個(gè)說(shuō)類型為" V"的值對(duì)象,并返回一個(gè)類型為" V"的對(duì)象。 與GroupByKey相似,ReduceByKey轉(zhuǎn)換也具有三種風(fēng)格,它們的區(qū)別在于通過(guò)應(yīng)用ReduceByKey轉(zhuǎn)換而導(dǎo)致的RDD分區(qū)規(guī)范。 ReduceByKey可以總結(jié)為:

  1. ReduceByKey(PairRDD, Function) => PairRDD 

在GroupByKey和ReduceByKey中,前者更通用,可以與任何聚合函數(shù)一起使用,而后者則更有效,但僅適用于前面所述的一類聚合函數(shù)。

RDD或數(shù)據(jù)集上的Mappartitions:如先前博客中所述,Mappartitions是功能強(qiáng)大的窄轉(zhuǎn)換之一,可在RDD和Dataset(Spark中的數(shù)據(jù)表示)上使用,以明智地執(zhí)行各種操作。 這樣的操作之一也包括聚合。 但是,唯一需要滿足的條件是,屬于相同分組關(guān)鍵字的記錄應(yīng)位于單個(gè)分區(qū)中。 在涉及分組密鑰的混排操作中實(shí)現(xiàn)的RDD或數(shù)據(jù)集(要聚合)中可以隱式滿足此條件。 同樣,可以通過(guò)首先基于分組密鑰對(duì)RDD或數(shù)據(jù)集進(jìn)行重新分區(qū)來(lái)明確實(shí)現(xiàn)該條件。

在用于典型聚合流的mappartitions內(nèi),必須首先實(shí)例化一個(gè)Hashmap,將Hashmap與相應(yīng)的分組鍵相對(duì)應(yīng)地存儲(chǔ)聚合的Value Objects。 然后,在迭代基礎(chǔ)分區(qū)的數(shù)據(jù)收集時(shí),將重復(fù)更新此Hashmap。 最后,返回包含在映射中的聚合值/對(duì)象(可選以及關(guān)聯(lián)的分組鍵)的迭代器。

由于基于Mappartitions的聚合涉及將Hashmap保留在內(nèi)存中以保存鍵和聚合的Value對(duì)象,因此,如果大量唯一分組鍵駐留在基礎(chǔ)分區(qū)中,則Hashmap將需要大量堆內(nèi)存,因此可能導(dǎo)致 相應(yīng)執(zhí)行程序的內(nèi)存不足終止的風(fēng)險(xiǎn)。 從此以后,不應(yīng)該歪曲跨分區(qū)的分組密鑰分配,否則會(huì)由于過(guò)度提供執(zhí)行程序內(nèi)存來(lái)處理偏斜而導(dǎo)致執(zhí)行程序內(nèi)存浪費(fèi)。 此外,由于需要基于堆內(nèi)存的聚合哈希圖,因此與Spark中的專用聚合運(yùn)算符相比,對(duì)內(nèi)存的相對(duì)內(nèi)存分配更多,但是如果內(nèi)存不是約束,則基于Mappartitions的聚合可以提供良好的性能提升。

用于數(shù)據(jù)幀或數(shù)據(jù)集的UDAF:與上述方法不同,UDAF基于聚合緩沖區(qū)的概念以及在此緩沖區(qū)上運(yùn)行的一組方法來(lái)實(shí)現(xiàn)聚合。

 

在Apache Spark中執(zhí)行聚合的五種方法
> Aggregation buffer based aggregation flow in Spark (for Datasets and Dataframe)

到目前為止,UDAF是為Spark中的分布式數(shù)據(jù)收集的Dataframe或Dataset表示編寫(xiě)聚合邏輯的最常用方法。 UDAF在數(shù)據(jù)收集的無(wú)類型視圖上工作,在該視圖中,數(shù)據(jù)記錄被視為(表的)一行,其架構(gòu)定義了該行中每一列的類型和可空性。 通過(guò)擴(kuò)展包" org.apache.spark.sql.expressions"中存在的" UserDefinedAggregationFunction"類并覆蓋基類中以下方法的實(shí)現(xiàn),可以在Spark中創(chuàng)建UDAF:

  1. /*Return schema for input column(s) to the UDAF, schema being built using StructType*/ 
  2. => public StructType inputSchema() 
  3. /*Return schema of aggregation buffer, schema being built using StructType */ 
  4. => public StructType bufferSchema() 
  5. /*DataType of final aggregation result*/ 
  6. => public DataType dataType() 
  7. /*Initialize aggregation buffer*/ 
  8. => public void initialize(MutableAggregationBuffer buffer) 
  9. /*Update aggregation buffer for each of the untyped view (Row) of an input object*/ 
  10. => public void update(MutableAggregationBuffer buffer, Row row) 
  11. /*Update current aggregation buffer with a partially aggregated buffer*/ 
  12. => public void merge(MutableAggregationBuffer buffer, Row buffer) 
  13. /*Evaluate final aggregation buffer and return the evaluated value of DataType declared earlier */ 
  14. => public Object evaluate(Row buffer) 

除了覆蓋上述方法外,還可以始終聲明其他字段(在UDAF構(gòu)造函數(shù)中使用可選的初始化)和自定義UDAF類中的其他方法,以便在覆蓋方法中使用它們以實(shí)現(xiàn)聚合目標(biāo)。

在使用UDAF之前,必須先在Spark框架中注冊(cè)相同的實(shí)例:

  1. spark.udf.register('sampleUDAF, new SampleUDAF()); 

注冊(cè)后,可以在Spark SQL查詢中使用UDAF來(lái)聚合整個(gè)數(shù)據(jù)集/數(shù)據(jù)框或數(shù)據(jù)集/數(shù)據(jù)框中的記錄組(通過(guò)一列或多列分組)。 除了直接在Spark SQL查詢中使用外,還可以通過(guò)數(shù)據(jù)框/數(shù)據(jù)集聚合API(例如" agg")使用UDAF。

UDAF雖然是定義自定義聚合的一種流行方法,但是當(dāng)在聚合緩沖區(qū)中使用復(fù)雜的數(shù)據(jù)類型(數(shù)組或映射)時(shí),會(huì)遇到性能問(wèn)題。 這是由于以下事實(shí):在UDAF中的每次更新操作期間,對(duì)于復(fù)雜的數(shù)據(jù)類型,將scala數(shù)據(jù)類型(用戶特定)轉(zhuǎn)換為相應(yīng)的催化劑數(shù)據(jù)類型(催化劑內(nèi)部數(shù)據(jù)類型)(反之亦然)變得非常昂貴。 從內(nèi)存和計(jì)算的角度來(lái)看,此成本都更高。

數(shù)據(jù)集的聚合器:聚合器是對(duì)數(shù)據(jù)集執(zhí)行聚合的最新方法,類似于UDAF,它也基于聚合緩沖區(qū)的概念以及在該緩沖區(qū)上運(yùn)行的一組方法。 但是,聚合器進(jìn)行聚合的方式稱為類型化聚合,因?yàn)樗婕皩?duì)各種類型的對(duì)象進(jìn)行操作/使用各種類型的對(duì)象進(jìn)行操作。 聚合器的輸入,聚合緩沖區(qū)和最終的聚合輸出(從緩沖區(qū)派生)都是具有相應(yīng)Spark編碼器的某些類型的對(duì)象。 用戶可以通過(guò)使用為IN定義的類型(輸入記錄類型)擴(kuò)展抽象的通用'Aggregator '類(在包'org.apache.spark.sql.expressions中提供)來(lái)定義自己的自定義Aggregator。 ,為BUF(聚合緩沖區(qū))定義的類型和為OUT(輸出記錄類型)定義的類型,以及在基類中重寫(xiě)以下方法的實(shí)現(xiàn):

  1. /* return Encoder for aggregation buffer of type BUF. This is required for buffer ser/deser during shuffling or disk spilling */ 
  2. => public Encoder<BUF> bufferEncoder() 
  3. /* return Encoder for output object of type OUT after aggregation is performed */ 
  4. => public Encoder<OUT> outputEncoder() 
  5. /* return updated aggregation buffer object of type BUF after aggregating the existing buffer object of type BUF with the input object of type IN*/ 
  6. => public BUF reduce(BUF buffer, IN input) () 
  7. /* return updated aggregation buffer of type BUF after merging two partially aggregated buffer objects of type BUF */ 
  8. => public BUF merge(BUF buffer1, BUF buffer2) 
  9. /* return output object of type OUT from evaluation of  aggregation buffer of type BUF */ 
  10. => public OUT finish(BUF arg0) 
  11. /* return buffer object of type BUF after initializing the same */ 
  12. => public BUF zero() 

由于Aggregator本機(jī)支持將聚合緩沖區(qū)作為對(duì)象,因此它是高效的,并且不需要與從Scala類型轉(zhuǎn)換為催化劑類型(反之亦然)相關(guān)的不必要的開(kāi)銷(與UDAF一樣)。 同樣,聚合器的聚合方式在編寫(xiě)聚合邏輯時(shí)提供了更多的靈活性和編程的美感。 聚合器也已集成到無(wú)類型聚合流中,以支持SQL,例如即將發(fā)布的版本中的查詢。

預(yù)定義的聚合功能:Spark提供了各種預(yù)構(gòu)建的聚合功能,可用于分布式數(shù)據(jù)收集的數(shù)據(jù)框或數(shù)據(jù)集表示形式。 這些預(yù)先構(gòu)建的函數(shù)可以在SPARK SQL查詢表達(dá)式中使用,也可以與為Dataframe或Dataset定義的聚合API一起使用。 在org.apache.spark.sql包中,所有預(yù)先構(gòu)建的聚合函數(shù)都定義為"函數(shù)"類的靜態(tài)方法。 帶下劃線的鏈接可以列出所有這些功能的列表。

預(yù)定義的聚合函數(shù)經(jīng)過(guò)高度優(yōu)化,在大多數(shù)情況下可以直接與Spark tungusten格式一起使用。 因此,如果" functions"類中存在預(yù)先構(gòu)建的聚合函數(shù),則Spark程序員應(yīng)始終偏向于使用它們。 萬(wàn)一那里沒(méi)有所需的聚合函數(shù),那么只有一個(gè)可以訴諸于編寫(xiě)自定義聚合函數(shù)。

如果您對(duì)Spark Aggregation框架有更多查詢,請(qǐng)隨時(shí)在評(píng)論部分提問(wèn)。

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2021-11-02 07:54:40

List分片Java

2021-08-27 14:03:05

遠(yuǎn)程團(tuán)隊(duì)溝通遠(yuǎn)程通信

2022-12-07 11:24:51

首席信息官IT

2025-04-25 08:55:00

Pod運(yùn)維

2009-07-03 17:48:24

JSP頁(yè)面跳轉(zhuǎn)

2022-12-29 08:46:15

IT采購(gòu)投資

2021-08-27 16:26:11

敏感數(shù)據(jù)

2020-12-03 14:40:10

云管理

2020-08-06 13:19:10

IBM多云管理

2023-11-21 15:23:15

JavaScript工具

2022-11-23 13:46:02

云支出云計(jì)算

2015-09-10 09:30:54

Java多線程同步

2020-04-02 10:45:48

多云云計(jì)算云平臺(tái)

2011-04-21 10:08:34

2022-01-10 06:52:59

查詢MySQL字段

2022-12-05 10:32:39

IT人才IT團(tuán)隊(duì)

2024-03-18 10:15:00

HTTPNode.jsAPI

2019-07-31 08:44:27

Session共享Memcache

2019-06-04 15:34:05

WindowsLinuxLinux命令

2023-04-26 08:41:16

Git撤消更改
點(diǎn)贊
收藏

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

成年人免费大片| 日日夜夜精品网站| 欧美三级午夜理伦| 欧美中文一区二区| 日韩欧美在线网站| 久久久久免费看黄a片app| 成人jjav| 成人丝袜视频网| 国产精品午夜一区二区欲梦| 国产一级视频在线播放| 精品国产一区二区三区久久久蜜臀| 欧美蜜桃一区二区三区| 国产黄页在线观看| 快射av在线播放一区| 91片在线免费观看| 亚洲一区二区免费| 成人黄色三级视频| 在线日韩电影| 久久久av亚洲男天堂| 亚洲欧美在线不卡| 91午夜精品| 欧美日韩国产不卡| 国产精品97在线| 欧美1—12sexvideos| 中文字幕在线不卡| 日本福利一区二区三区| 欧美天堂在线视频| 国产成人鲁色资源国产91色综| 国产成人综合一区二区三区| 国产在线视频在线观看| 天堂美国久久| 中文字幕亚洲二区| 51妺嘿嘿午夜福利| 亚洲va久久| 亚洲精品国产精品国自产观看浪潮| 中文字幕第一页在线视频| 制服诱惑亚洲| 狠狠综合久久av一区二区小说| 996这里只有精品| 看黄网站在线观看| 中文字幕在线一区免费| 亚洲精品成人久久久998| 污视频软件在线观看| 国产999精品久久久久久绿帽| 国产免费一区二区三区在线能观看| 超碰中文字幕在线| 国产一区二区三区成人欧美日韩在线观看 | 久草综合在线| 在线这里只有精品| 亚洲欧洲日产国码无码久久99| 在线中文字幕-区二区三区四区 | 亚洲一区不卡在线| 91欧美在线视频| 国产欧美日韩精品在线| 日本在线观看一区二区| 久久久资源网| 国产亚洲精品资源在线26u| 美乳视频一区二区| 欧美日韩免费做爰大片| 久久久久亚洲蜜桃| 亚洲国产一区在线| 成人在线观看免费网站| 亚洲免费av高清| 免费网站永久免费观看| 超碰97国产精品人人cao| 在线观看免费版| www插插插无码免费视频网站| 日本中文字幕免费观看| 精品动漫一区| 欧洲中文字幕国产精品| www.国产毛片| 欧美一区二区三区激情| 精品视频三区| 成人午夜av电影| 国产亚洲欧美另类一区二区三区| 国产 欧美 自拍| 99视频精品免费视频| 女人一区二区三区| 中国日本在线视频中文字幕| 先锋影音久久| 欧美日韩亚洲丝袜制服| 午夜一区二区视频| 91精品久久久久久综合五月天| 亚洲国模精品私拍| 日本人亚洲人jjzzjjz| 亚洲精品91| 97色在线视频| 一区二区三区免费在线| 岛国一区二区在线观看| 欧美日韩免费高清| 好操啊在线观看免费视频| 亚洲国产另类精品专区| 99久久国产宗和精品1上映| 国产一区二区色噜噜| 日韩免费高清av| 九九热免费在线| 中文字幕一区久| 国产成人免费视频 | 精品久久ai电影| 中日韩美女免费视频网址在线观看| 人人澡人人澡人人看| 亚洲美女毛片| 成人午夜激情网| 欧洲天堂在线观看| 一区二区三区四区不卡视频| 欧美精品成人网| caoporn成人免费视频在线| 在线看福利67194| 亚洲精品国产精品乱码| 国产一区在线不卡| 欧洲精品一区色| 国产区美女在线| 欧美美女直播网站| 日韩在线免费观看av| 在线日韩电影| 91丨九色丨国产| 中文字幕在线免费| 色综合久久天天| 国产伦精品一区二区三区精品| 日韩国产在线| 日韩av免费在线观看| 黄色一级大片在线免费看国产| 亚洲欧洲另类国产综合| 50路60路老熟妇啪啪| 欧美一级色片| 久久全球大尺度高清视频| 国产又黄又大又爽| 国产精品福利影院| 色综合色综合色综合色综合| 欧美**vk| 欧洲成人免费视频| 少妇人妻一区二区| 亚洲成人黄色影院| 白丝校花扒腿让我c| 亚洲电影影音先锋| 91免费精品国偷自产在线| 无遮挡动作视频在线观看免费入口| 欧美午夜影院在线视频| a天堂视频在线观看| 亚洲精品九九| 国产欧美日韩综合精品二区| 国产一线二线在线观看| 欧美刺激脚交jootjob| 欧美成人免费看| 国产精品资源在线| 国产精品自拍合集| 51亚洲精品| 97国产精品免费视频| 天堂成人在线观看| 精品国产精品自拍| 97人妻精品一区二区三区免| 亚洲看片一区| 欧美国产一区二区在线| 韩日精品一区二区| 伊人伊成久久人综合网小说| 一级一级黄色片| 国产精品国产三级国产| 天天色天天综合网| 欧美片第1页综合| 国产欧美韩日| 五月天av在线| 最近中文字幕2019免费| 国产美女无遮挡永久免费| 亚洲女人小视频在线观看| 亚洲少妇一区二区| 夜夜嗨av一区二区三区网站四季av| 精品国产中文字幕| 欧美三区四区| 欧美成人精品一区二区三区| 亚洲精品久久久狠狠狠爱| 亚洲国产精品一区二区久久恐怖片 | 国产精品a成v人在线播放| 99精品欧美一区二区三区小说| 岳毛多又紧做起爽| 成人羞羞视频在线看网址| 国产在线日韩在线| sis001亚洲原创区| 亚洲日韩中文字幕| 99riav国产| 岛国av在线不卡| 黄色国产在线播放| 成人性生交大合| 国产视频一区二区三区在线播放 | 日本黄色中文字幕| 亚洲人午夜精品天堂一二香蕉| 2018国产精品| 免费的国产精品| 男人添女人荫蒂免费视频| 九九免费精品视频在线观看| 成人激情视频小说免费下载| 国精一区二区三区| 中文字幕在线观看亚洲| 成人乱码一区二区三区 | 欧美一级淫片| 国产精品久久九九| jizz欧美| 国产亚洲综合性久久久影院| 一区二区三区国| 欧美男人操女人视频| 成人国产精品久久久| 岛国av在线网站| 日韩视频一区在线| 精品欧美不卡一区二区在线观看| 欧美一区二区三区视频在线| 天天干天天色综合| 一区二区三区**美女毛片| 欧美人妻一区二区三区| 成人精品视频一区二区三区| 日本人成精品视频在线| 国产成人在线播放| 97欧洲一区二区精品免费| 亚洲午夜在线观看| 青青草原国产在线视频| 国精产品视频一二二区| 国产精品自偷自拍| 成人日韩欧美| 9999精品免费视频| 超碰97久久| 亚洲欧洲国产伦综合| 国产夫妻在线观看| 欧美日韩国产电影| 无码人妻av一区二区三区波多野 | 精品国产不卡一区二区三区| 一区二区视频网站| 欧美专区亚洲专区| 国产一级免费视频| 偷拍与自拍一区| 国产在线视频卡一卡二| 亚洲精品成a人| 久久高清内射无套| 亚洲欧美在线另类| 久久久免费看片| 久久久亚洲精品石原莉奈| 国产原创剧情av| 成人黄色在线视频| wwwww在线观看| 国产成人在线影院| 好吊操视频这里只有精品| 国产电影一区在线| 国产ts在线观看| 国产成人a级片| 久久黄色一级视频| 国产成人小视频| 欧美日韩一区二区区别是什么| 国产一区欧美日韩| 精品人妻一区二区三| 国产精品99久久久久久有的能看| 制服丝袜中文字幕第一页| 精品一区二区三区在线播放视频| 天天操狠狠操夜夜操| 精品亚洲成a人| 国产欧美精品一二三| 国产精品亚洲一区二区三区妖精| 古装做爰无遮挡三级聊斋艳谭| 国产成人精品在线看| 极品白嫩的小少妇| 99久久99久久精品国产片果冻| 国模私拍在线观看| 久久久美女毛片| gv天堂gv无码男同在线观看| 国产精品电影院| 在线免费观看亚洲视频| 亚洲一区二区五区| 国产精品午夜影院| 欧美日韩一区二区在线观看 | 加勒比av在线播放| 亚洲sss视频在线视频| 亚洲精品男人天堂| 欧美色成人综合| www天堂在线| 日韩精品在线观看一区| 国产二区在线播放| 久久躁日日躁aaaaxxxx| 国产www视频在线观看| 欧美亚洲视频一区二区| 精品三级在线| 成人影片在线播放| 中文字幕精品影院| 日本三日本三级少妇三级66| 亚洲无吗在线| 欧美性猛交久久久乱大交小说| 国产主播一区二区| aaaaa级少妇高潮大片免费看| 亚洲国产激情av| 精品在线免费观看视频| 日韩欧美在线视频| 国产手机视频在线| 日韩国产在线播放| 日本蜜桃在线观看| 97人人做人人爱| 亚洲日日夜夜| 欧美日韩大片一区二区三区| 999久久久免费精品国产| 免费在线观看视频a| 久久精品国产第一区二区三区| 亚洲av无码一区东京热久久| 国产欧美精品日韩区二区麻豆天美| 亚洲色图综合区| 在线一区二区三区做爰视频网站| 亚洲久久中文字幕| 在线观看免费国产视频| 91精品网站在线观看| 国产精品天美传媒| 欧美一级电影久久| av无码一区二区三区| 超碰成人av| 2020国产精品自拍| 51精品国产黑色丝袜高跟鞋| 午夜视频在线观看国产| 日本三级视频在线播放| 久久色成人在线| 欧美福利第一页| 亚洲国产综合色| 97人妻精品一区二区三区软件 | 亚洲经典一区二区| 日日骚久久av| 婷婷午夜社区一区| 国产精品免费区二区三区观看 | 久久国产午夜精品理论片最新版本| 日韩精品一二三| 亚洲天堂资源在线| 亚洲自拍与偷拍| 国产美女裸体无遮挡免费视频| 一本大道久久加勒比香蕉| www.youjizz.com在线| 51国产成人精品午夜福中文下载| 成人影视亚洲图片在线| 欧美女人性生活视频| 99久久免费视频.com| 国产精品50页| 精品久久人人做人人爱| 污视频免费在线观看| 成人写真视频福利网| 99久久夜色精品国产亚洲1000部| 日本男人操女人| 国产亚洲女人久久久久毛片| 亚洲视频 欧美视频| 日韩精品在线看| 午夜不卡影院| 欧美日韩在线高清| 天堂一区二区在线| 亚洲精品国产91| 欧美性做爰猛烈叫床潮| 国产h在线观看| 国产精品久久久久久久久久久久久 | 刘亦菲国产毛片bd| 欧美日韩中文字幕一区二区| 成年人在线观看| 国产日韩精品视频| 91精品一区国产高清在线gif| 九九九九九九九九| 1区2区3区精品视频| 国产在成人精品线拍偷自揄拍| 久久精品欧美视频| 一区二区三区国产好| 日韩精品综合在线| 99久久er热在这里只有精品15| 国产精品自拍99| 亚洲性无码av在线| 9999在线精品视频| 日本黄色片一级片| 26uuu色噜噜精品一区二区| 日韩三级一区二区| 92国产精品观看| 国产精品爱啪在线线免费观看| 六月丁香激情综合| 欧美日韩精品| 日韩精品极品在线观看播放免费视频| 伊人五月天婷婷| 午夜伦理在线视频| 玉米视频成人免费看| 久久久亚洲精品无码| 精品一区二区日韩| 国产一区二区视频在线观看免费| 日韩一区二区免费高清| 国产乱码精品一区二三赶尸艳谈| 欧美另类一区| 久久99精品久久久久婷婷| 青娱乐在线视频免费观看| 日韩电影大全免费观看2023年上| 一呦二呦三呦精品国产| 国产又粗又爽又黄的视频| 成人免费不卡视频| 午夜一级黄色片| 久久免费国产视频| 欧美日韩在线二区| 91亚洲一线产区二线产区| 91黄色在线观看| 污视频在线看网站| 神马影院午夜我不卡| 成人丝袜视频网| 一区二区的视频| 91av成人在线| 亚洲影视一区二区三区| 一级国产黄色片| 欧美乱妇15p| 在线观看欧美日韩电影| 国产欧美综合一区| 国产情人综合久久777777| 成人免费一级视频|