亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Spark WordCount與TopKey實(shí)戰(zhàn):算子優(yōu)化、數(shù)據(jù)傾斜與集群調(diào)優(yōu)

Spark WordCount與TopKey實(shí)戰(zhàn):算子優(yōu)化、數(shù)據(jù)傾斜與集群調(diào)優(yōu) 1. 從一個看起來簡單的WordCount說起但凡接觸過分布式計(jì)算的人幾乎都繞不開WordCount這個案例。它就像編程語言里的Hello World看著簡單但真正動手寫的時候你會發(fā)現(xiàn)里面藏著不少門道。我見過太多人第一次跑WordCount代碼照著示例敲完提交上去結(jié)果要么報(bào)錯要么輸出一堆空文件要么結(jié)果跟預(yù)期對不上。問題往往不在邏輯本身而在于對Spark運(yùn)行機(jī)制的理解不夠深。這篇內(nèi)容我打算把WordCount和TopKey這兩個經(jīng)典案例徹底講透。不只是給你一份能跑的Scala代碼而是把每個算子為什么這么選、參數(shù)為什么這么設(shè)、集群上跑的時候會遇到什么坑全部掰開揉碎說清楚。適合已經(jīng)了解Scala基礎(chǔ)語法、想真正把Spark用起來的人。如果你還在糾結(jié)要不要學(xué)Spark那這篇可能不太適合你但如果你已經(jīng)決定要上手并且想少走彎路那接下來的內(nèi)容應(yīng)該能幫你省下不少調(diào)試時間。先明確一下這兩個案例的核心價值。WordCount解決的是詞頻統(tǒng)計(jì)問題本質(zhì)上是把一堆文本拆成單詞然后按單詞分組計(jì)數(shù)。TopKey則是在WordCount的基礎(chǔ)上找出出現(xiàn)頻率最高的前N個詞。這兩個案例覆蓋了Spark核心編程中最常用的算子組合flatMap、map、reduceByKey、sortBy、take等。把它們吃透后面寫更復(fù)雜的業(yè)務(wù)邏輯就是搭積木的事。2. 環(huán)境準(zhǔn)備與項(xiàng)目骨架搭建2.1 依賴版本的選擇邏輯在動手寫代碼之前先把環(huán)境理清楚。Spark的版本迭代很快不同版本之間API有差異尤其是Spark 2.x和3.x之間。我個人的建議是如果是新項(xiàng)目直接上Spark 3.x因?yàn)樗谛阅軆?yōu)化和API簡潔性上都有明顯提升。但如果你所在的環(huán)境還在用Spark 2.x那也沒關(guān)系WordCount和TopKey這兩個案例的核心API在兩個版本里基本一致。Scala版本方面Spark 3.x默認(rèn)用的是Scala 2.12Spark 2.4之前用的是2.11。這個必須對齊否則編譯的時候會報(bào)NoSuchMethodError之類的錯誤而且這種錯誤往往在運(yùn)行時才暴露排查起來很煩。我踩過這個坑當(dāng)時本地Scala是2.13集群上是2.12代碼本地跑得好好的一提交就掛查了半天才發(fā)現(xiàn)是版本不匹配。構(gòu)建工具用Maven或者sbt都行。sbt對Scala項(xiàng)目更友好依賴管理更自然Maven的話配置稍微繁瑣一點(diǎn)但團(tuán)隊(duì)協(xié)作時更通用。下面以Maven為例給出核心依賴配置dependencies dependency groupIdorg.apache.spark/groupId artifactIdspark-core_2.12/artifactId version3.3.0/version /dependency dependency groupIdorg.scala-lang/groupId artifactIdscala-library/artifactId version2.12.15/version /dependency /dependencies注意artifactId里的_2.12后綴這個數(shù)字必須和你的Scala版本一致。很多人復(fù)制依賴的時候只看版本號忽略了后綴結(jié)果編譯報(bào)錯找不到類。2.2 項(xiàng)目目錄結(jié)構(gòu)目錄結(jié)構(gòu)不用太復(fù)雜但建議按職責(zé)分一下。我習(xí)慣這樣組織src/main/scala/ com/example/spark/ WordCount.scala TopKey.scala util/ SparkSessionBuilder.scala把創(chuàng)建SparkSession的邏輯單獨(dú)抽出來是因?yàn)閷?shí)際項(xiàng)目中幾乎每個任務(wù)都需要初始化SparkSession而且配置參數(shù)往往有共性。抽成一個工具類后面寫新任務(wù)的時候直接調(diào)用省得重復(fù)寫一堆配置。package com.example.spark.util import org.apache.spark.sql.SparkSession object SparkSessionBuilder { def create(appName: String, master: String local[*]): SparkSession { SparkSession.builder() .appName(appName) .master(master) .config(spark.sql.shuffle.partitions, 10) .getOrCreate() } }這里我特意設(shè)了spark.sql.shuffle.partitions為10。默認(rèn)值是200對于小數(shù)據(jù)集來說200個分區(qū)意味著200個任務(wù)每個任務(wù)處理的數(shù)據(jù)量極小調(diào)度開銷反而成了瓶頸。本地測試的時候設(shè)小一點(diǎn)能明顯感覺到速度提升。當(dāng)然生產(chǎn)環(huán)境要根據(jù)數(shù)據(jù)量調(diào)整這個后面會細(xì)說。3. WordCount的Scala實(shí)現(xiàn)與算子拆解3.1 完整代碼與逐行解讀先上完整代碼然后逐段拆解package com.example.spark import com.example.spark.util.SparkSessionBuilder object WordCount { def main(args: Array[String]): Unit { val spark SparkSessionBuilder.create(WordCount) val sc spark.sparkContext val inputPath args(0) val outputPath args(1) val textRDD sc.textFile(inputPath) val wordCounts textRDD .flatMap(line line.split(\\s)) .filter(_.nonEmpty) .map(word (word, 1)) .reduceByKey(_ _) wordCounts.saveAsTextFile(outputPath) spark.stop() } }這段代碼看著簡單但每一行都有講究。sc.textFile(inputPath)讀取文件返回的是一個RDD[String]每個元素是文件中的一行。這里有個細(xì)節(jié)如果輸入路徑是本地文件系統(tǒng)需要確保集群上每個節(jié)點(diǎn)都能訪問到如果是HDFS路徑那就沒這個問題。我見過有人在本地用file:///路徑測試提交到集群后報(bào)FileNotFoundException就是因?yàn)槁窂經(jīng)]改成HDFS。flatMap(line line.split(\\s))把每行拆成單詞。用\\s而不是簡單的空格是因?yàn)閷?shí)際文本里可能有多個連續(xù)空格、制表符、換行符等。flatMap和map的區(qū)別在于flatMap會把拆分后的數(shù)組拍平返回一個包含所有單詞的RDD而不是RDD[Array[String]]。filter(_.nonEmpty)過濾掉空字符串。這個步驟容易被忽略但如果文本里有連續(xù)空格split之后會產(chǎn)生空字符串不過濾的話最后統(tǒng)計(jì)結(jié)果里會出現(xiàn)一個空key看著很別扭。map(word (word, 1))把每個單詞映射成鍵值對這是為后面的reduceByKey做準(zhǔn)備。Spark的reduceByKey要求輸入是(key, value)形式的RDD。reduceByKey(_ _)按key分組對value做累加。這里用reduceByKey而不是groupByKey是因?yàn)閞educeByKey會在map端做本地聚合減少shuffle的數(shù)據(jù)量。對于詞頻統(tǒng)計(jì)這種場景reduceByKey的性能優(yōu)勢非常明顯。3.2 reduceByKey和groupByKey的性能差異很多人寫WordCount的時候習(xí)慣用groupByKey然后mapValues(_.sum)邏輯上沒問題但性能差很多。我做過一個測試同樣的數(shù)據(jù)集reduceByKey比groupByKey快了將近三倍。原因在于shuffle機(jī)制。groupByKey會把所有相同key的value拉到同一個分區(qū)不做任何預(yù)聚合。如果某個key對應(yīng)的數(shù)據(jù)量特別大還會導(dǎo)致數(shù)據(jù)傾斜某個task處理的數(shù)據(jù)量遠(yuǎn)超其他task拖慢整個作業(yè)。reduceByKey則會在map端先做一次本地聚合相當(dāng)于把局部求和提前做了shuffle的時候只傳輸聚合后的結(jié)果數(shù)據(jù)量小很多。注意如果業(yè)務(wù)邏輯不是簡單的求和而是需要保留所有原始value比如要計(jì)算中位數(shù)那groupByKey還是得用。但純粹做計(jì)數(shù)、求和這類聚合操作優(yōu)先選reduceByKey。3.3 輸出結(jié)果的處理與常見問題saveAsTextFile(outputPath)把結(jié)果寫到指定路徑。這里有幾個坑第一輸出路徑不能已經(jīng)存在。Spark會檢查路徑如果目錄已存在直接拋異常。調(diào)試的時候反復(fù)運(yùn)行每次都要手動刪輸出目錄很煩??梢栽诖a里加一段判斷或者用hadoop fs -rm -r先清理。第二輸出是一個目錄里面包含多個part文件數(shù)量等于最終RDD的分區(qū)數(shù)。如果分區(qū)數(shù)是200就會生成200個文件哪怕數(shù)據(jù)量很小。這時候可以用coalesce(1)把結(jié)果合并到一個文件里但要注意coalesce(1)會把所有數(shù)據(jù)拉到一個節(jié)點(diǎn)數(shù)據(jù)量大時可能OOM。更穩(wěn)妥的做法是repartition(1)但同樣有性能問題。我的建議是小結(jié)果集用coalesce(1)大結(jié)果集保持多文件輸出后續(xù)用其他工具合并。第三輸出格式是(word, count)的字符串形式因?yàn)閟aveAsTextFile調(diào)用的是元素的toString方法。如果后續(xù)要程序化讀取這種格式不方便解析??梢钥紤]用saveAsObjectFile或者轉(zhuǎn)成DataFrame后寫CSV/Parquet。4. TopKey的實(shí)現(xiàn)思路與排序策略4.1 從WordCount到TopKey的演進(jìn)TopKey的需求是在詞頻統(tǒng)計(jì)的基礎(chǔ)上找出出現(xiàn)次數(shù)最多的前N個詞。這個需求在實(shí)際場景中很常見比如分析熱搜詞、統(tǒng)計(jì)高頻錯誤碼、找出訪問量最大的URL等。實(shí)現(xiàn)思路有兩種。第一種是先做完整的WordCount然后對結(jié)果按count降序排列取前N個。第二種是用takeOrdered或者top算子直接在RDD層面做。兩種方式各有適用場景下面分別說。4.2 基于sortBy的全局排序方案先看第一種也是最直觀的方案package com.example.spark import com.example.spark.util.SparkSessionBuilder object TopKey { def main(args: Array[String]): Unit { val spark SparkSessionBuilder.create(TopKey) val sc spark.sparkContext val inputPath args(0) val topN args(1).toInt val textRDD sc.textFile(inputPath) val topKeys textRDD .flatMap(_.split(\\s)) .filter(_.nonEmpty) .map(word (word, 1)) .reduceByKey(_ _) .sortBy(_._2, ascending false) .take(topN) topKeys.foreach(println) spark.stop() } }這段代碼的核心是sortBy(_._2, ascending false)。sortBy會對整個RDD進(jìn)行全局排序底層通過rangePartitioner實(shí)現(xiàn)。排序完成后take(topN)取前N個元素。這里有個性能問題sortBy是全局排序會觸發(fā)一次全量shuffle把所有數(shù)據(jù)按照count重新分區(qū)。如果數(shù)據(jù)量很大這一步開銷不小。而且我們只需要前N個卻對所有數(shù)據(jù)做了排序有點(diǎn)浪費(fèi)。4.3 takeOrdered與top的取舍Spark提供了takeOrdered和top兩個算子專門用于取前N個元素不需要全局排序。它們的區(qū)別在于top(n)取最大的N個元素使用默認(rèn)的降序排列。takeOrdered(n)取最小的N個元素使用默認(rèn)的升序排列。對于TopKey場景我們要取count最大的N個詞可以用top但top比較的是整個元素而我們的元素是(word, count)這樣的元組。元組的默認(rèn)排序是先比第一個元素再比第二個。我們想按count排序就需要提供一個自定義的Ordering。val topKeys textRDD .flatMap(_.split(\\s)) .filter(_.nonEmpty) .map(word (word, 1)) .reduceByKey(_ _) .top(topN)(Ordering.by(_._2))Ordering.by(_._2)指定按照元組的第二個元素也就是count來比較。top內(nèi)部會先在每個分區(qū)取前N個然后匯總效率比全局排序高很多。但top有一個限制它返回的是一個數(shù)組數(shù)據(jù)量大的時候這個數(shù)組會全部拉到Driver端。如果N很大Driver端可能內(nèi)存不夠。所以top適合N比較小的場景比如取前10、前100。如果N是幾千甚至幾萬還是用sortBy然后take更穩(wěn)妥或者用sortBy后limit再寫文件。4.4 處理數(shù)據(jù)傾斜的實(shí)戰(zhàn)技巧TopKey場景下數(shù)據(jù)傾斜是一個繞不開的問題。如果某個詞出現(xiàn)頻率極高比如的、是這類停用詞那么reduceByKey的時候這個key對應(yīng)的數(shù)據(jù)量會遠(yuǎn)超其他key導(dǎo)致某個task成為瓶頸。我遇到過一個案例日志分析任務(wù)里某個錯誤碼占了總?cè)罩玖康?0%reduce階段直接卡住。解決辦法有幾個第一預(yù)處理階段過濾掉明顯的停用詞。如果是文本分析維護(hù)一個停用詞表在flatMap之后加一個filter把停用詞去掉。這個最簡單效果也最直接。第二加鹽打散。給key加上隨機(jī)前綴比如(word _ Random.nextInt(10), 1)先做一次聚合然后再去掉前綴做第二次聚合。這樣能把一個熱key拆成10個分散到不同task上。代價是多了一次shuffle但能解決傾斜問題。第三提高并行度。增加shuffle的分區(qū)數(shù)讓每個task處理的數(shù)據(jù)量小一點(diǎn)??梢酝ㄟ^spark.sql.shuffle.partitions或者reduceByKey(_ _, numPartitions)來指定。提示加鹽方案會增加代碼復(fù)雜度如果不是傾斜特別嚴(yán)重優(yōu)先考慮過濾停用詞和調(diào)整并行度。加鹽適合傾斜非常極端、且無法通過過濾解決的場景。5. 集群提交與參數(shù)調(diào)優(yōu)的實(shí)操細(xì)節(jié)5.1 spark-submit的常用參數(shù)代碼寫好了本地跑通只是第一步真正要上集群得用spark-submit提交。下面是一個典型的提交命令spark-submit \ --class com.example.spark.WordCount \ --master yarn \ --deploy-mode cluster \ --executor-memory 4g \ --executor-cores 2 \ --num-executors 10 \ --driver-memory 2g \ wordcount.jar \ hdfs:///input/text.txt \ hdfs:///output/wordcount每個參數(shù)都有講究。--executor-memory決定每個Executor的堆內(nèi)存--executor-cores決定每個Executor能并行跑幾個task。--num-executors是Executor的數(shù)量。這三個參數(shù)共同決定了作業(yè)的總并行度num-executors * executor-cores。很多人調(diào)優(yōu)的時候只盯著內(nèi)存加忽略了cores。實(shí)際上如果cores太少每個Executor只能串行跑task內(nèi)存再大也用不上。一般來說每個Executor配2到5個cores比較合適太少浪費(fèi)內(nèi)存太多會導(dǎo)致GC壓力大。--driver-memory容易被忽略。如果代碼里有collect、take這類把數(shù)據(jù)拉到Driver端的操作Driver內(nèi)存不夠會直接OOM。TopKey場景下如果用top取前N個N很大時就要注意Driver內(nèi)存。5.2 內(nèi)存配置的計(jì)算邏輯Executor內(nèi)存怎么定一個粗略的估算方法是總數(shù)據(jù)量除以總并行度再乘以一個安全系數(shù)。假設(shè)輸入數(shù)據(jù)是10GBnum-executors10executor-cores2那么總并行度是20。每個task平均處理500MB數(shù)據(jù)??紤]到shuffle、緩存、對象開銷每個task至少需要1GB內(nèi)存那么每個Executor跑2個task需要2GB用于計(jì)算再加上堆外內(nèi)存和系統(tǒng)預(yù)留executor-memory設(shè)4GB比較穩(wěn)妥。當(dāng)然這只是估算實(shí)際還要看數(shù)據(jù)特征。如果數(shù)據(jù)里字符串特別多對象開銷會更大如果有大量shuffle內(nèi)存需求也會上升。我的經(jīng)驗(yàn)是先按估算值跑一次看Spark UI里的GC時間和spill情況再針對性調(diào)整。5.3 提交后常見報(bào)錯與排查提交到集群后最常見的報(bào)錯有這么幾類第一類ClassNotFoundException。通常是依賴沒打進(jìn)去。用Maven的shade插件打一個fat jar把所有依賴都包含進(jìn)去。注意Spark本身的依賴要設(shè)成provided因?yàn)榧荷弦呀?jīng)有了打進(jìn)去反而可能沖突。第二類Container killed by YARN for exceeding memory limits。這是Executor內(nèi)存超了??赡苁菙?shù)據(jù)傾斜導(dǎo)致某個task處理的數(shù)據(jù)量特別大也可能是內(nèi)存配置本身就不夠。先看Spark UI里各task的處理數(shù)據(jù)量確認(rèn)是不是傾斜再決定是加內(nèi)存還是解決傾斜。第三類Shuffle fetch failed。通常是Executor掛了導(dǎo)致shuffle數(shù)據(jù)丟失??梢蚤_啟spark.shuffle.service.enabled讓shuffle數(shù)據(jù)由外部服務(wù)管理Executor掛了也不影響。另外spark.network.timeout可以適當(dāng)調(diào)大避免網(wǎng)絡(luò)抖動導(dǎo)致的fetch失敗。第四類輸出目錄已存在。前面提過Spark不允許輸出到已存在的目錄。可以在代碼里加判斷或者每次提交前手動清理。6. 從案例到生產(chǎn)的思維轉(zhuǎn)變6.1 本地模式與集群模式的差異本地模式跑通不代表集群上沒問題。我總結(jié)了幾點(diǎn)差異都是實(shí)際踩過的第一文件路徑。本地用file:///集群上要用HDFS路徑。如果代碼里寫死了本地路徑提交上去必然報(bào)錯。建議把路徑作為參數(shù)傳入不要硬編碼。第二序列化。本地模式下很多對象不需要序列化就能傳遞集群模式下所有在Executor上執(zhí)行的對象都必須可序列化。如果代碼里用了自定義類記得實(shí)現(xiàn)Serializable接口。否則會報(bào)NotSerializableException而且報(bào)錯信息往往指向一個看起來無關(guān)的地方排查起來很費(fèi)勁。第三日志級別。本地跑的時候控制臺輸出很清晰集群上跑日志分散在各個Executor的container里需要去YARN的日志聚合里看。建議在代碼里把日志級別調(diào)成WARN減少不必要的輸出方便定位問題。6.2 代碼健壯性的幾個習(xí)慣寫Spark代碼有幾個習(xí)慣能幫你省很多事習(xí)慣一參數(shù)校驗(yàn)。輸入路徑、輸出路徑、TopN這些參數(shù)在main函數(shù)開頭就校驗(yàn)不合法直接退出別等到運(yùn)行到一半才報(bào)錯。習(xí)慣二資源關(guān)閉。spark.stop()要確保執(zhí)行最好放在finally塊里。雖然SparkSession不關(guān)也不會導(dǎo)致嚴(yán)重問題但長期運(yùn)行的服務(wù)里不關(guān)會占著資源。習(xí)慣三異常捕獲。對于可能失敗的操作比如讀寫HDFS加try-catch把異常信息打出來方便排查。但不要吞異常捕獲了要處理或者重新拋出。習(xí)慣四配置外置。把路徑、并行度、內(nèi)存這些配置抽到配置文件或者命令行參數(shù)里不要硬編碼。這樣換環(huán)境的時候不用改代碼重新提交就行。6.3 性能監(jiān)控與調(diào)優(yōu)的切入點(diǎn)作業(yè)跑起來之后怎么知道性能好不好看Spark UI。重點(diǎn)看幾個指標(biāo)Task的duration分布如果大部分task很快少數(shù)task特別慢說明有數(shù)據(jù)傾斜。GC時間如果GC時間占比超過10%說明內(nèi)存不夠需要加內(nèi)存或者減少緩存。Shuffle read/write如果shuffle數(shù)據(jù)量特別大考慮優(yōu)化算子減少shuffle。Spill如果出現(xiàn)spill說明內(nèi)存不足以容納當(dāng)前分區(qū)的數(shù)據(jù)需要加內(nèi)存或者增加分區(qū)數(shù)。調(diào)優(yōu)是一個迭代的過程沒有一勞永逸的配置。我的做法是先保證功能正確再根據(jù)監(jiān)控?cái)?shù)據(jù)逐步優(yōu)化。每次只調(diào)一個參數(shù)觀察效果避免同時改多個參數(shù)導(dǎo)致無法定位問題。7. 一些容易被忽略的細(xì)節(jié)7.1 文本編碼問題讀取文本文件時默認(rèn)是UTF-8編碼。如果文件是GBK編碼中文會出現(xiàn)亂碼。解決辦法是在讀取時指定編碼或者先用工具轉(zhuǎn)成UTF-8。sc.textFile本身不提供編碼參數(shù)可以用sparkContext.hadoopConfiguration設(shè)置或者用wholeTextFiles讀取后手動解碼。7.2 空文件與空分區(qū)的處理如果輸入目錄里有空文件textFile會正常讀取但對應(yīng)的分區(qū)里沒有數(shù)據(jù)。這本身不是問題但如果后續(xù)有mapPartitions之類的操作要處理空迭代器的情況否則可能報(bào)錯。7.3 結(jié)果驗(yàn)證的方法跑完WordCount怎么驗(yàn)證結(jié)果對不對我的做法是先用一個小樣本數(shù)據(jù)手動算一遍預(yù)期結(jié)果然后跟Spark的輸出對比。確認(rèn)邏輯沒問題后再上全量數(shù)據(jù)。全量數(shù)據(jù)跑完后可以抽樣檢查幾個key的count跟原始數(shù)據(jù)里的出現(xiàn)次數(shù)對一下。對于TopKey驗(yàn)證方法是先跑完整的WordCount把結(jié)果按count排序取前N個跟TopKey的輸出對比。如果一致說明TopKey的邏輯沒問題。7.4 關(guān)于Scala的隱式轉(zhuǎn)換Scala的隱式轉(zhuǎn)換在Spark代碼里用得很多比如reduceByKey需要(K, V)類型的RDD而map返回的是普通RDD中間就涉及隱式轉(zhuǎn)換。如果import不對編譯會報(bào)錯。常見的import包括org.apache.spark.SparkContext._它包含了這些隱式轉(zhuǎn)換。Spark 2.x之后很多隱式轉(zhuǎn)換移到了org.apache.spark.rdd.RDD的伴生對象里import方式有變化需要注意版本差異。8. 從這兩個案例延伸出去WordCount和TopKey雖然簡單但它們覆蓋的算子組合可以延伸到很多場景。比如把單詞換成URL就是訪問量統(tǒng)計(jì)把單詞換成錯誤碼就是錯誤分布分析把count換成金額就是銷售額聚合。核心模式是一樣的拆分、映射、聚合、排序。掌握了這個模式再去看Spark的其他算子比如aggregateByKey、combineByKey、foldByKey會發(fā)現(xiàn)它們只是聚合方式不同底層邏輯是相通的。reduceByKey要求聚合前后的類型一致aggregateByKey允許聚合前后類型不同combineByKey則更靈活可以指定初始創(chuàng)建、分區(qū)內(nèi)合并、分區(qū)間合并三個函數(shù)。我在實(shí)際項(xiàng)目中用得最多的是reduceByKey和aggregateByKey。前者適合簡單的求和、計(jì)數(shù)后者適合求平均值、求TopN這類需要中間狀態(tài)的聚合。比如求每個用戶的平均消費(fèi)金額就可以用aggregateByKey初始值是(0.0, 0)分區(qū)內(nèi)合并是累加金額和次數(shù)分區(qū)間合并也是累加最后再相除。最后分享一個小技巧寫Spark代碼的時候盡量用reduceByKey替代groupByKey用mapPartitions替代map當(dāng)需要在每個分區(qū)內(nèi)做初始化操作時用filter盡早過濾掉不需要的數(shù)據(jù)。這些習(xí)慣能顯著提升作業(yè)性能尤其是在數(shù)據(jù)量大的時候。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
男人天堂久久精品不卡| 欧美天天干| 97 国产一区| 99操视频| 26uuu国产免费观看| 亚洲色婷婷综合久久一区二区三区| 亚洲无码色| 91人妻素女| 亚洲色欧美| 男人的天堂日韩| 偷拍欧美激情| 婷婷久久五月天| 岛国大片在线观看网站入口| 久久久久久网址| 97超碰色中文字幕| 91国产美女丝袜足交精品视频| 97av在线视频| 黄色视频特级毛片| 国产做?爰片久久毛片?片美国| 欧美爱三级日韩久久| 亚洲人妻五月丁香婷婷| 九九九九精品视频| 神马麻豆福利院| 久久9精品网站| 国产天天看| 久久久9视频| 日韩三级久久久| 日韩AC| 亚洲另类综合欧美| 丁香九月激情啪| 国产东北女人在线视频| 国产乱色国产精品免费视| aaa亚无码专区| 亚洲欧美在线丝袜| 网友自拍第1页| 欧美九九九九九| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 欧美系列在线一区二区| 国产中文精品一区二区在线观看| 亚洲国产欧美另类自拍| www狠狠| 日韩AV无码中文一区二区| 精品人妻一区二区视频| 性久久| 色色福利| 亚洲综合色婷婷| 日韩精品一区的| 久久久婷婷婷| 极品白嫩福利在线| 91久久久老司机| 久久久久久久综合,国产| 国产视频97| 校园春色AV天堂| 97亚洲精品| 精品免费视频国产一区| 99久久久无码精品国产人| 日韩色欲久久一二三四区| 欧美黑人精品在线播放| 大香蕉九九| 国产农村妇女一区二区| 欧美成人精品一区二区三区| 久久后入制服| 啊啊啊久久| 沈阳熟女高潮对白视频| 尤物黄色在线观看网站| 超碰AV在线| 日韩高潮一区| 国产二区三区免费视频| 国模私拍一区二区三区神乳| 黄色高清无码无码破解免费暗网 | 国产av热热色| 亚洲国产精品V?在线播放| 日本人妻中文字幕精品| 日韩激情中文字幕有码| 国产自产91区13区| 日韩综合色网| 精品欧美А∨无码黑人大荫蒂| 日韩欧美字幕亚洲一区二区| 熟妇熟女一区二三区| 欧美情色男人的天堂| 夜夜做夜夜爽精品视频| 人人么人人操| 国产成人www免费人成看片| 混色激情av| 夜草欧美| 综合欧美亚洲| 全球成人中文在线| 天美一二三在线观看Av| 91岛国动作片| 蜜乳性色无码专日粉嫩骚逼AV| 丁香六月婷婷久久综合| 天美麻豆黄色录像| 99热婷婷| 久草成人影片| 国产中文大片资源中文字幕| 久久国产精品91| 91人妻精华帖| 91夜色chaopeng| 欧美少妇高潮视频| 中文字幕奈奈美被公侵犯| 色婷婷99| 精品午夜福利| 男人兔费天堂| 玖玖久久久| 天天做日日爱夜夜爽| 成人色女网| 狠狠爱综合网| 高树玛利亚无码流出| 亚洲精品熟妇1区2区3区。| 国产精品无码av| AV中文字幕剧情1区2区3| AAAA级日本片免费视频| 97精品综合| 97在线欧| 五月丁香成人网| 亚洲做性| 丁香六月婷婷综合| 香蕉99秘 一区精品蜜桃臀| 你懂得91| 欧美小说区视频区| 色五月激情综合网| 欧美综合综合| 日韩有码免费视频| 狠狠久久手机视频精品| 韩日精品福利视频一区不卡在线免| 婷婷色综合欧美日韩| 97人人草| 肏逼视频日本| 东京热不卡视频| 国产成人亚洲精品无码古代早漏男| 精品美女在线视频| 五月天玖玖资源站| 欧洲亚洲少妇| 欲色影视综合吧| 无码高清操逼网址| 成人欧美日超碰| 成人免费毛片| 青青草福利视频| 久久xx| 大奶的诱惑| 青青草自拍视频在线播放| 久久精品一区二区一8| 精品国产少妇高潮视频| 一本色道久久天天射天天干| 亚洲欧美日韩电影网站一区 | 亚洲Av无码成人精品国产| 久久久9 9 9精品| 福利色色| 天天射夜夜操| 941超碰| 啪啪一区| 中文字幕在线观看永久| 欧美热图99| 97超碰美国| 欧美中文字幕日韩在线| 人妻大香蕉| 五月婷婷六月激情| 欧美性爱无码一区二区三区| 欧美在线干| 久久99网站| 视频不卡中文字幕| 超碰97人妻自拍| 国产女人高潮视频| 国产成人精品日本亚洲语言| 亚洲欧美人妻| 91精品免费| 日本久久久久久久久| 国内精品久久人妻性色av| 十八禁电影伊人网| 丰满少妇人妻久久久久久| 国产成人99久久亚洲综合| 麻豆人妻偷人精品无码视频| 99这里有精品| 久精品无码av一区二免费国产在线观看| 天天夜夜rb| 婷婷香网站| 任你艹| 天天日B夜夜干B时时操B| 精品传媒在线一区| 亚洲图片视频小说| 国产精品久久久999| 久久久9视频| 综合一区中亚洲国产成人综合精品| av激情亚洲五月天| 国产精品爆乳懂色蜜乳| 黑人综合网| 日韩无码服务区| 北京美女一区二区| 亚洲人在线| 日日爽夜夜爽| 中文字幕av亚洲在线| 两女互慰AV高潮喷水在线观看| 色噜噜人妻av中文字幕| 中文字幕无码不卡啪啪| 国产一区二区三区,在线观看观看| 亚洲高潮少妇| 在线 制服丝袜中出 人妻| www色日本| 国产区性爱在线视频秋霞豆| 人妻中文字幕精品无码| 人人弄人人摸| 日本黄色精品专区网站| 亚洲欧洲自拍图片专区满春格| www亚洲欧美| 久久久女人| 97av,com| 国产少妇内射| 婷婷五月天色网| 97天天插| 亚洲黄色AV电影| 欲综合网| 日韩猛交| 内射小黄片| 国产操逼网站亚洲一级黄色| 超碰无码加勒比| 蜜乳视频网站| 911av网站免费观看| 精品一区二区成人| 国产精品免费视频人成| 人妻嗯啊啊在线播放| 开心五月婷婷| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 青青操少妇| 欧洲射精91| 老熟女区| 久久久久久裸体| 997色在线| 天天久久久久久| 久久综合97| 在线午夜成人无码视频| 久久日韩精品一区二区| 操操操日本的逼| 亚洲av乱伦色图网站| 91一起操| 91久久18禁| 欧美亚洲宗合色性图| 91日韩网站| 一中国女人毛片水真多| 亚洲国产91精品一区二区久久| 少妇xx精品| 亚洲乱码国产乱码精网站| 国产久久久久久久久一区二区| 另类图片五月天| 嗯嗯啊啊亚欧精品| 亚洲诱惑天堂 | 综合久久2017| 加勒比在线视频一区二区三区| 激情干在线| 欧美日韩人妻精品系列一区二区三区| 男人综合网| 不卡中文字幕aⅴ在线| 中文字幕91页| 欧洲无码一区二区| 91亚洲狠狠色| 涩涩涩综合| 九月丁香婷婷| 超碰1997| 色婷婷六月丁香七月婷婷| 乱伦系列一区二区| 麻豆九九九| 超碰色97| 中文一区二区三区影院| 成人亚欧免费视频| 亚洲精品国产熟女久久久| 精品对白久久不卡| 国产精品探花在线| 欧美亚洲国产自久久| 啊啊啊啊好大好硬啊啊啊啊啊| 中文字幕第7页| 9丨亚洲一区二区在线| 99在线观看| 一区二区三区蜜桃成人撸久久东京热 | 欧美操人| 久久久亚洲精品中文字幕人妻| 五月婷婷丁香六月丁香| 欧美熟妇视频| 久久精品店| 影音先锋国产精品| 大香蕉之青青草原| 蜜乳成人AV| 亚洲天堂,男人| 国产精品69久久久久久久| 欧美中文字幕日韩在线| 欧美一二在线| 91一区二区三区蜜桃| 99久视频| 美女91网| 丁香色婷婷| 男人的天堂日韩| 92性色国产午夜福利在线661| 日本特黄f c2| 老司机午夜精品视频| 日韩精品一区二区三区四虎影视| 东京热男人天堂| 天天做天天爱天天爽| 欧美亚洲色的图| 国产精品欧美日韩久久| 中文字幕人乱码中文字的预防方法 | 99激情视频| 91丝袜人妻| 婷婷色五月激情| a啊啊啊啊啊啊啊啊一区二区| 中国乱伦一区二区| 台湾佬中文娱乐网久久久久久久久久com| 人人看人人插| 日韩av电影网站| 中文字幕亚洲欧美在线不卡| 国产精品96| 爱射综合| 久久久亚洲Av| 91美女高潮| 粉嫩绯色AV一区二区在线| 精品中文一区二区| 99热在线观看| 欧美性爱第一页久久| 色老汉色| 狠狠干综合| 久久狠狠色噜噜狠狠狠狠97| 精产国品一区二三产品| 八人操人人摸人人看| 欧美综合色综合| 九九aV| 日韩精品 欧美激情| 丰满人妻一区二区三区四| 无遮挡男女激烈动态图| 校园春色宗合网| 欧美十八禁在线看| 日本一区二区中文字幕久久| 日本黄色裸日本黄色裸体 | 欧美色图片欧美色图| 久久女婷| 高清无码在线播放网站| 男人天堂毛片| 中文字幕片| 黄色一区二区秘书性感| 久久精品无码专区| 色妇91| 成功精品影院| 在线A日本| 日本媚薬中文字幕在线| 超碰97久久观看| 亚洲综合在线视频| 中日亚韩免费视频| 立川理惠被中出无码| 天操天操夜操夜月操月年年操操| 殴美性色a级欧美| 亚洲中文字幕久久人妻| 伊人骚琪琪亚洲天堂网站| 欧美熟妇人体| 小少妇| 色噜噜精品一区二区三| 国产毛片片精品天天看视频| 高清孕妇孕交 交孕妇| 日韩AV电影网站| Blackedraw视频一区二区| 欧美日韩1234| 久久久久久十| 国产精品3| 亚洲不卡不卡中文字幕不卡| 99热在线观看| 伦理片秋霞免费影院| 亚洲精品自拍| 三男一女不戴套的A片| 91精品人妻一区二区三区蜜桃| 午夜精品久久久99热蜜桃的功能特点| 热天堂一区二区| 色婷婷狠狠| 日韩乱中文| 欧美亚洲国产91在线| 久9精品| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 久久久久久久久久久久久久久久9| 小少妇| 色欲久久综合| 美女黄频a美女大全免费皮| 亚洲国产欧美另类自拍| 免费人成在线观看网站品爱网| 日本精品五区| 囯产精品久久久久久久久久梁医生| 60秒不遮不挡| 俞拍久久国应视频| 人妻天堂网| 日韩性色| 78久久| 特色a在线上| 97碰碰色| 精品久| 欧美综合第一页| 亚洲欧美日韩不卡人妻| 992视频一区| 九t超碰| 人妻熟女一区二区在线视频| 伊人麻豆传媒| 秋霞网无码| 精品人成视频在线观看| 操婢日韩| 亚洲偷拍自拍在线视频| 一本久道久久综合狠狠爱| 99色在线观看| 综合网,亚洲,欧美| 午夜欧美J进J出白浆流出久久久| 麻豆国产精品午夜视频| 翔田千里爆乳巨臀无码| 欧美天天干| 亚洲熟女性高潮久久久| 亚洲精品三| 日本91白丝| 五月天色图| 中文字幕人妻色偷偷久久皮| 欧美日日人人天天| 久久久久久久九九九九| 老外又粗又长一晚做五次| www.伪伪| 天天干,夜夜爽| 18精品一区| 国产久久一区二区| 91n处女在线观看| 99re免费| 一级A片女人高潮叫床| 激情第四色| 国产综合久久久鬼色| 蜜臀无码一区二区| 国产精品96| 精品人妻av在线播放| 日韩在线观看中文字幕视频| 色九九九| 性感美女91影视| 日B操| 静品嫩模一区二区| 亚洲综合113页| 33044男人的天堂深夜备| 97综合久久| 乱伦AVxx| 精产国品一区二三产品| 中出欧美| 韩国一级做A片免费的| 日本一二三高清| 啊啊啊水好多| 在线a v| 少妇诱惑视频| 熟妇色99| 欧美综合区| 久久精品视频在线观看| 91黑人狂躁丰满熟妇| 日本操逼视频导航| 啊啊啊不要啊啊受不了了视频在线| 97亚洲自在精品在线观看| 无码免费在线观看黄色片| 婷婷五月天色色| 亚洲人妖网| 国产农村妇女精品| 色墦五月丁香| 99热99re6国产在线播放| se吧提供国产乱老熟视频胖女人| 91人人看| 综合另类| 天美传媒国产原创中文字幕亚洲欧美另类| 国产三级中文字幕粉嫩| 在线观看AV片| 午夜综合在线| 99久久精品无码一区二区| 成人天天看站长推荐 | 麻豆久久久久久久久丝袜| 久久久亚洲熟妇资源| 亚洲第一狼人丝袜美女另类| 天天舔九色婷婷| 日韩免费中文字幕视频| 丰满人妻一区二区三区在线| 亚洲97超碰| 91美女丝袜诱惑视频| 91欧美情色| 五月婷婷AV| 91熟女视频网| 天天躁日日躁AAAXX| 九七人妻在线| 免费精品福利在线观看| 最新制服中文第一页| 激情四射五月天| 啪啪啪男女亚洲中文字幕99| 婷婷五月天色色| 天天综合中文字幕 91| 屌逼麻豆| 绯色一区二区三区不卡少妇| 密臀在线免费观看| 日本三级A片网站com| 刺激精品视频| 国产区性爱在线视频秋霞豆 | 极品美女福利在线观看| 偷拍亚洲情色| 国产999精品久久久久久| 酒色综合网| 四虎永久在线精品免费网址| 2017人人操,人人摸| 插入粉嫩少妇视频| 激情五月天婷婷| 日本精品五区| 好看的久久不射无码影视影院| 伦伦成年午夜免费视频| 高清无码学生妹高潮| 另类图片五月| 欧美日韩亚洲一区二区在线观看| 热G综合热G中文| 精品国产乱码久久久久久久久1| 一级黄色性爱裸体视频| 久久是精品| 2020中文字幕| 性爱边摸边日免费AV| 男人天堂毛片| 欧美曰韩国产精品| 丁香五月性爱| 亚洲国产尤物yw在线观看| 大香蕉日韩欧美| 无码99| 强奸乱伦中文字幕AV| 天天干18禁| 99精品丰满人妻| 国产一区96在线| 精品国产人成在线| 人人操人人色网| 欧美性五月| 刺激性视频黄页| 亚洲欧洲国产综合av| 无码久久亚洲高清,| 国产2.3.4区| 久久精品国产99国产精品亚洲| 丰满的三级少妇欧美久久久| 无码区蜜乳| 女生久久网| 欧洲一区二区三区四区在线观看| 蜜臀在线免费观看在线免费观看| 狠狠综合| 99精品成人免费看| 日本欧美一区二区三区免费| 久久狠狠色噜噜狠狠狠狠97| 亚洲丝袜二区在线| 福利大香蕉| 久久精9| 天天综合~91入口| 国产欧美日韩在线不卡第一页| 欧美人人操人人插| 欧美色人| 白丝一区| 久久免费少妇| 天天综合中文字幕 91| 久久久久久九九九九九九| 欧美精品双插| 啊操爽品善一区二区三区| 欧美嗯啊……在线观看视频免费| 激情婷婷丁香| 69精品人人人人| 人人扣人人操| 日韩中文字幕二区| 9久久精品| 凹凸视频特色日本特黄| 自拍鲍鱼一区在线高清观看免费| 欧美视频一区二区在线| 亚洲国产高清福利视频| 激情接吻视频久久久久久| 日韩亚洲中文字幕在线| 天天操夜夜嗨| 国产 日韩 另类 视频一区爱| 3028国产精品| 无码国产精品久久久久| 久久久久成人亚洲国产| 国产一级αv免费看片| 欧日a| 亚洲综合婷婷| 嗯嗯啊啊视频在线看| 欧美另类色图片| 麻豆久久视频在线地址| 欧亚乱色熟一区二区三四区| 99re9这里只有精品| 91伊人大香蕉| 中文在线视频| 俞拍久久国应视频| 好色综合| 精品人体无圣光凹凸| 久久久久久国产精品免费网站| 久久精品国产亚洲AV高级北京| 午夜理论片在线观看免费| 色情综合| 色综合加勒比四四季| 久草草一二三四区久久| 婷婷性网| 人人操人人爽人人操人人| 亚洲密乳AV| 性爱乱伦网址| 青青欧美在线| 黄色一区三区| 91亚洲欧洲| 欧美日韩国产黄色片| 桃花色涩综合影院| 日韩少妇丰满亚洲| 97超碰伊人| 久久人妻视频网| 久久久噜噜噜久久久| 国产精品在线网站| 熟妇色99| 精品v日韩欧美国产| 五月丁香久久| 国产第11页| 91成人18| 天天看,天天做| 亚洲、日韩、综合、另类| 国产九九九九九九| 999久久久免费精品国产牛牛| 思思热影视| 九九热九九热| 91 亚欧| 欧美成人A√在线一区二区| 亚洲色综合| 99在线视频播放| 欧州91高潮| 动漫爆乳3D奶水一区在线观看 | 草草电影院| 一块操欧美性爱| 韩国女主播青草在线| 国产久久天堂资源| 久草国产在线视频| 97久久精品亚洲中六字幕| 亚洲小说视频| 中文自拍欧美影视| 日日干男人的天堂| 中国AAAAAA黄色片| 伊人AAA| 中文字幕国产| 自拍大香蕉乱插| 99蜜桃臀久久久欧美精品网站| 淫荡网址| 久久香蕉国产传媒一区剧情天美| 精品丰满熟妇人妻一区| 日人妻视频91| 五毛骚逼极品美女怕怕| A级毛片在线看免费| 大香蕉伊人亚洲| 欧洲亚洲少妇| 亚洲精品丝袜-不卡成人免费……| 欧美专区17页| 在线观看av区| 综合大香蕉美。| 国产色呦呦| 天天情欲宗合网| 中文字幕97色| 精品久久无码午夜福利| 中文字幕在线观看AV| 综合另类| 国产久久日韩网站导航| 成人精品久久久午夜福利| 久久国产精品,久久国产| 中文?日韩?免费?精品| 久久九九一区二区三区成人| 伊人操你| 香港日本韩国人妇99www.wccm20| 尤物网址| 国产热av| 99色天堂| 碰碰97| 欧美久久久15P| 日韩欧美大力操| 亚洲高清少妇| 女人高潮抽搐喷水视频网站| 久久99九九九九6666免费观看软件| 五月激情啪啪| 超碰免费97| 亚洲色图欧美色图制服丝袜| 亚欧性爱无码| 青青草影视蜜久久| 99热精品在线观看| 粉嫩av平台| ai欧美亚洲小说| 极品色www影院| 中文字幕99999| 天天看特黄的免费网站| 亚洲国产成人精品无码专区| 天堂综合网| 欧美亚洲丝袜美女电影| 99精品视频在线观看免费| 国产精品69久久久久久久 | w w w.久久精品| 亚洲精品一卡二卡三卡福利视频网站| 久久久久成人亚洲国产| 午夜爽爽爽| 久久久久久波多野吉衣高潮| 综合色色婷婷| 久久久久久久久久va| 久久精品99| 亚洲图片 91| 日本视频一区二区三区| 亚洲图片欧美| 国产AB视频| 亚洲欧美天堂在线| 噜噜吧,噜噜色,噜噜| 午夜国产成人精品视频| 9久9久| 国产小炒后入式| 97资源制服丝袜| 乱伦av国产| 欧美色www亚洲国产阿娇要播| 韩国嫰模上门援交视频| 亚洲人在线成线成人| 欧美啪啪女女| 又粗又长又爽在线观看| 91美女小视频| 亚洲久草AV色图| 欧美在线啊啊啊| 成人婷婷丁香| 欧美日韩操逼嗦吊| 97人人夜夜精品视频| 中日韓欧美高清| 人妖欧美一区二区| 成人精品欧洲亚洲| 国产亚卅97| 东京太热久久久| 色999五月色| 人人摸人人摸人人干| 欧美日韩午夜精品一区二区三区| 97视频免费播放| 日韩特一级久久| 色哟哟1区2区| 欧亚久久偷拍视频| 亚洲综合在线高清| 天天综合网一91网| 色色色综合网| 综合色99| 99热最新| 激情五月天丁香| 午夜男女爽爽爽在线视频| 黄色电影观看久久9| 八戒午夜福利理论片| 无码久久国产| 蜜乳AV免费观看| 综合伊人网12色| 一二三区操逼国产91| 亚洲色图亚洲| 97爱亚洲| 亚洲欧美999| 亚洲情色欧美| 99婷婷一区二区| a男人的天堂久久一级A毛片| 欧美亚洲自拍另类人妻| 熟女乱3伦999| 人妻无一区二区三区| 另类亚洲一区二区三区| 国产高清吃奶免费视频网站| AV一区观看| 国产熟女完整版中字| 日韩精品碰碰| 亚洲一卡2卡3卡4卡乱码网站| 可能人人看人人摸| 亚洲天堂无码| 99热网站| 好淫网一二三视区| 国产传媒1234区| 国产精品视频在线播放| 久操视频免费观看| 久久精品无码熟妇一区二区三区视频导航| 无遮挡又黄又刺激的视频| 国产日韩人人| 91N综合在线| 欧美 亚洲 另类 综合| 激情视频一二三| 亚洲和欧美裸体美女双飞视频| se,,,亚洲欧美| 精品无码秘 人妻一区二区| 亚洲五月天激情| 九九色色| 91+欧美| 蜜臀久久久国产| 欧美黑人日韩少妇色情| 超碰97 线线 在现| 蜜臀AV秘一区翔田千里| 久久久久久久久成人av解说| www.99视频| 欧美性后入| 4虎在线视频| 亚洲综合20p| a一区二区三区乱码在线| 久久精品色欧美aⅴ一区二区| 人人扣人人操| 亚洲97P| 狠狠97| 热思思免费视频| 在线人人人人人人精品超| 黑丝少妇在线观看| 无码人妻精品一区二区三区九九| 国产精品97超碰| 亚洲一区日韩精品中文字幕| 免费A V在线播放| 中文字幕 一区二区 亚洲无码| 婷婷五月天无码 | 91网18| 亚洲毛片久久| 探花一区二区三| 性色一线| 美女天天干| 一级性爱啪啪视频| 极品五月天噜噜| 超碰欧美97资源| 日韩精品一区二区高清| 欧美夜夜狠| 国产少妇内射| 亚洲图片婷婷五月天| 精精夜夜| 欧美日韩人妻精品系列一区二区三区| 国产99精品一区二区三区免费| 色av中文字| 亚洲中文sv| 韩国午夜理伦三级好看| 亚洲淫乱骚妇AV| 天天看天天日| 丰满人妻-区二区三区免费| 日韩中文字幕精品一二三事国产精品| 狠狠色噜噜狠狠狠狠2018| 人妻少妇色综合| 综合色久欲| 嫩草一区二区在线观看| 一区二区不卡| 色黄污美女啪啪啪免费网站| 99久久无色码| 超碰九7| 这里只有精品久久| 亚洲黄色电影| www色色色com| 一本色道熟妇| 五月丁香综合| 日韩97超碰| 欧美成人性爱视频大全| 大香蕉伊然在亚洲91| 97精品熟女少妇一区| 色制服丝袜夫妻av一区| 一起草欧美| 天天影视射综合网| 色就色综合| 神马久久69| 乱论91| 夜夜爽夜夜摸夜夜操免费视频| 岛国在线一区二区三区| 国产精品色约约| 久久艹逼视频| 欧美亚洲首页| 蜜臀久久一区二区| 国产精品96| 亚洲人在线成线成人| 操逼无码操逼| 91天天爱| 午夜福利视频在线一区| 青青青草原| 五月丁香网站| AAAA级日本片免费视频| 大香蕉99热| 国产高清26uuu| 大但人体久久久久| 91久久久久久| 亚洲美女av无码| 青青草十区九区爱夜| 国产精品久久久久久照片| 亚洲精品 欧美精品| 蜜乳AV网址| 啊啊啊好舒服视频| 精品国产91久久久久久一区黄无| 亚洲国产奇米影视久久| 熟妇无码视频三区| 国产精品一区人妻精品阁在线| 国产在线观看一区二区三区| 日韩人妻精品中文字幕| 91精品人妻电影| 干少妇视频| 九九亚洲精品| 欧美啪啪女女| 香蕉欧美| 欧美色图自拍| 男人天堂.AB| 亚洲成人一区二区精品| 校园春色亚洲色图| 久操 高清| 日韩av乱伦| 国内亚洲高清无码| 人妻天天爽| 亚殴在线| 美国日韩黄色片| 粉嫩av在线| 免费97视频| 国产精品青青草| 午夜电影在线观看无码专区| 人妻久久| 欧美韩日精品资源| 天天综合色电影| 1禁看欧美黄片免费看| 黄骗免费网站| 精品无码产区一区二| 啊啊啊啊视频免费| 簧片免费看视频| 狠狠色噜噜狠狠狠狠2018| 久九九九九九九九热| 精品十三区| 五月天色综合| 无码高清专| 三级日韩一区二区三区| 久久大香蕉97| 超碰碰激情97+久| 欧美色偷拍 | 91久久久久久久| 国产精品肉丝自拍| 色色亚洲| 极品色www影院| 国产精品国产自产高清AV| 日日夜夜精品视频| 就去色综合| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 国产精品农村妇女精品| 日韩av色图| 亚洲aw毛茸茸在线 | 男人亚洲天堂| 亚洲激情久久久伊人综合| 亚洲有码第一页| 99精品伊人| 天天碰操中国年青熟妇| 熟妇最新先锋一二三区| 亚洲午夜免费狠狠干| 综合久| 天天插天天操| 久久男女激情视频网站| 黑人无码一区二区| 国产成人一级av88| 密乳AV免费观看| 十八禁视频一区二区| 久9re热视频这里只有精品| 久久九色| 亚洲综合91| 97在线免费观看视频| 91网站18禁| 蜜桃久久一区二区| 五月天亚洲色图| 欧美96精品在线| 久久久久久久久久9| 人妻精品一区二区| 美女诱惑久久| 神马久久久久久| 男女一进一出视频久久| 日韩啊V| 欧美福利视频啊啊啊啊| 无码不卡八戒| 亚洲密乳AV| 激情无码日韩| 日韩视频啪啪| 免费的黄片wwwwww| 91色婷婷综合久久中文字幕二区| 国产尹人在线视频免费| 婷婷五月天色| 天天综合亚在线| 亚洲。日韩。欧美| 久久九七| 精品人妻一二三四区视频| 久久精品一区二区三区蜜桃臀| avav青青草久久夜| 97天天综合| 成人午夜高潮av猛片| 中文人妻av高清一区| 日韩人妻制服丝袜av| 91精品啪在线观看国产城中村| 欧美日韩岛国大片在线观看| 国产99 中文字幕日韩小视频| 亚洲麻豆精品二区三区| 亚州色站 日韩电影| 日本精品性生活久久久| 精品超碰色| 91成人18| 欧美成人四级在线播放| 日韩免费性爱视频在线观看| 亚 欧 美 综合| 麻豆伊人网| 白嫩91在线亚洲| 欧美色女人| 久久精品国产亚洲AV嘿嘿| 超碰在线国产| 久久综合中文国产| 尤物视频偷拍免费| 91网站18| 成人性爱高清视频免费看| 蜜桃久久一区二区三区| 高潮综合网| 亚洲女人91| 隔壁邻居波多野结衣中文字幕| 综合色色婷婷| 久久一二三四五六七八九区区| 亚洲女优有码无码高清| 欧美大波激情xxxx| 欧美视频在线视频免费va| 亚洲天堂另类小说男人| 9久9久| 国产一区自拍欧美日韩| 国产毛片精品一区二区色欲黄A片| 91成人在线| 久草资源在线| 3P乱轮视频| 日本精品88888888| 超碰精品97| 北约熟女超碰| 1024亚洲中文字幕久在线看片你懂的| 中出后入| 日韩 国产 欧美自拍| 亚洲国产无码精品首页久久久| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 丰满人妻一区二区三区在线| 亚洲AV色图一区| 久久综合国产精品国产| 天美国产三级传媒| 亚洲双插| 久久精品国产亚洲AV无码电影| 欧美色997| 黑人娇小av在线播放| 亚洲欧美经典一区二区 | 无码精品蜜桃一区二区三区ww| 高凊专区人人操| 99热一区二区三区四区| 91快色色色色色| 男人的天堂欧美| 97超碰人人模人人拍人人| 99热这里只有精品9| 97操综合| 国产三区免费在线观看| 欧美韩国你懂得在线| 国产毛片毛片4p懂色| 久久久久成人蜜桃精品| 东京太热男人的天堂久久久| 国产美女高潮叫床视频| 国产麻豆一区二三区| 久久黄色性爱视频| 天天综合网1| 人人玩人人添人人澡免费| 97se综合网| 亚洲黄色视频在线观看视频| 人妻精品综合中文字幕在线 | 亚州国产精品乱| 亚洲欧美洲综合| 六九九九| 中文字幕一区二区三区50路| 一区二区你上我| 日本综合色图| 久久国产精品91| 91在线免费精品视频| 在线观看AV不卡| 日韩电影在线观看网址| 成人综合网 欧美| 亚洲精品白浆高清久久久久久| 久久av色| 亚州操逼图| 9997se| 爱射综合| 欧美大片91| 日本97久久久精品| 亚洲欧洲日韩天堂av| 我中文字幕6区 | 国产在线激情| 蜜臀久久99精品久久久老,,| 亚洲啪啪综合?v一区综合精品区| 青青草视频爽一爽| 91深夜夜| 9九九国产| 夜夜操2028| 极品欧美一区二区三区| 老鸭窝黄色视频网站| 精品在线观看视频在线| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 久久久少妇| 青青草日本中文字幕| 欧美性巨大╳╳╳╳╳高跟鞋| 玖色av| 九九玖玖精品| 国产免a费看黄片在线| 91AV国产精品| 好湿好紧好爽 视频| 丁香六月激情| 9久久久久久| 亚洲日韩青青草色月| 福利在线观看一区二区| 高清视频一区| A啊啊在线观看| 午夜福利成人免费视频| 午夜性刺激视频免费观看| av天天在线| 口爆综合网| 人人操人人摸人人看人人干| 亚洲资源吧| 99re在线观看| 九九色精品| 久操com| 97色97干| 中文字幕精品码亚洲| 骚熟女吞| 夜夜嗨一区二区| 乱论91| 天天草天天日| 亚欧美色图| 五月婷婷hd| 九九热在线精品视频| 超碰国产精品久| 男人的天堂va| 日韩欧美天堂| 极品内射| 亚洲精品一区中文字幕乱码| 老熟妇一区二区三区…| 国产精品人妻无码久久久互動交流| 超碰一区二区| 久久久久久久78| 91大学精品激情戏| 屁屁影院一区二区三区国产| 91国产操逼视频| 国语精品对白| 91日日夜夜| 亚洲永久永久永久永久一级一级一级精品| 97人人干人人操| 性在久久久久久| 日本熟妇浓毛hdsex| 久久香蕉国产线看观看亚洲女人 | av婷婷色网| 人妻熟女午夜精品在线| 黄色性爱网网| 亚洲精品影视老司机| 夜夜草天天| 黄骗免费网站| 九九热九九| 美女黄页网站| 91成人亚洲色图| 久久视频,这里只有精品| 69人妻精品丰满熟女区| 艾草av| 久久9亚洲| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 熟女一区二区三区| 熟女天天干| 麻豆福利视频导航| 久久婷婷在线观看视频| 精品久久久av| 中文字幕一区 二 区 三 四 五 区日 日 骚 | www鬼畜国产男人的天堂| 日本免费中文一区二区三区四区| 成人综合视频久久| 欧美性夜| 日1区2区3区2020| 日本加勒比无码专区一二三| 蜜臀久久久国产| 麻豆AV短剧| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日本不卡在线二区三区| 91亚洲综合在线| 78超碰| 色婷婷国产精品一区在线观看| 丝袜综合网| 91在线免费精品视频| 欧美v亚洲v综合v国产v妖精| 最近2018中文字幕在线高清第一页| 日本伦乱九九九综合| 99这里只有精品国产| 精品人妻中文字幕4399| 人人艹亚洲| 日韩欧美亚洲一区二区三区影院 | 一区二区三区高清| 九九九免费视频| 亚洲无码国产探花在线观看|