日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark的stage划分算法源码分析

發布時間:2024/10/8 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark的stage划分算法源码分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spark Application中可以有不同的Action觸發多個Job,也就是說一個Application中可以有很多的Job,每個Job是由一個或者多個Stage構成的,后面的Stage依賴于前面的Stage,也就是說只有前面依賴的Stage計算完畢后,后面的Stage才會運行。
然而Stage劃分的依據就是寬依賴,什么時候產生寬依賴(產生shuffle)呢?例如reduceByKey,groupByKey等等。
DAGScheduler的handleJobSubmitted方法主要是用來創建最后一個stage,同時將job劃分成多個stage。

一、stage的劃分算法’

/**** 來處理這次提交的Job來處理這次提交的Job*/private[scheduler] def handleJobSubmitted(jobId: Int,finalRDD: RDD[_],func: (TaskContext, Iterator[_]) => _,partitions: Array[Int],allowLocal: Boolean,callSite: CallSite,listener: JobListener,properties: Properties = null){// 一、使用觸發job的RDD最后一個stagevar finalStage: Stage = nulltry {// New stage creation may throw an exception if, for example, jobs are run on a// HadoopRDD whose underlying HDFS files have been deleted.// stage的劃分是從最后一個stage往前倒序劃分的,最后一個就是一個stage// 并將stage放入DAGschedule的緩存中finalStage = newStage(finalRDD, partitions.size, None, jobId, callSite)} catch {case e: Exception =>logWarning("Creating new stage failed due to exception - job: " + jobId, e)listener.jobFailed(e)return}if (finalStage != null) {// 用finalStage創建job,也就是說這個job最后一個stage,肯定就是finalstage// 這里就創建了一個job了val job = new ActiveJob(jobId, finalStage, func, partitions, callSite, listener, properties)clearCacheLocs()logInfo("Got job %s (%s) with %d output partitions (allowLocal=%s)".format(job.jobId, callSite.shortForm, partitions.length, allowLocal))logInfo("Final stage: " + finalStage + "(" + finalStage.name + ")")logInfo("Parents of final stage: " + finalStage.parents)logInfo("Missing parents: " + getMissingParentStages(finalStage))val shouldRunLocally =localExecutionEnabled && allowLocal && finalStage.parents.isEmpty && partitions.length == 1val jobSubmissionTime = clock.getTimeMillis()if (shouldRunLocally) {// Compute very short actions like first() or take() with no parent stages locally.listenerBus.post(SparkListenerJobStart(job.jobId, jobSubmissionTime, Seq.empty, properties))runLocally(job)} else {// 三、將job添加到內存緩存中jobIdToActiveJob(jobId) = jobactiveJobs += jobfinalStage.resultOfJob = Some(job)val stageIds = jobIdToStageIds(jobId).toArrayval stageInfos = stageIds.flatMap(id => stageIdToStage.get(id).map(_.latestInfo))listenerBus.post(SparkListenerJobStart(job.jobId, jobSubmissionTime, stageInfos, properties))// 四、提交最后一個stage// 這個方法會提交第一個stage 并把其余的stage放在緩存中submitStage(finalStage)}}// 在提交等待隊列的stagesubmitWaitingStages()} /*** 提交stage的方法* 同時包含stage的劃分算法* @param stage*/private def submitStage(stage: Stage) {val jobId = activeJobForStage(stage)if (jobId.isDefined) {logDebug("submitStage(" + stage + ")")if (!waitingStages(stage) && !runningStages(stage) && !failedStages(stage)) {// 這個很重要,獲取某個stage 的父stageval missing = getMissingParentStages(stage).sortBy(_.id)logDebug("missing: " + missing)// 如果返回為空if (missing == Nil) {logInfo("Submitting " + stage + " (" + stage.rdd + "), which has no missing parents")submitMissingTasks(stage, jobId.get)} else {// 繼續遞歸調用劃分stagefor (parent <- missing) {submitStage(parent)}// 同時將stage加入到等待隊列waitingStages += stage}}} else {abortStage(stage, "No active job for stage " + stage.id)}}

獲取某個stage的父stage

/*** 獲取stage劃分的父stage* @param stage* @return*/private def getMissingParentStages(stage: Stage): List[Stage] = {val missing = new HashSet[Stage]val visited = new HashSet[RDD[_]]// We are manually maintaining a stack here to prevent StackOverflowError// caused by recursively visiting// 壓棧的方式 先入后出val waitingForVisit = new Stack[RDD[_]]def visit(rdd: RDD[_]) {if (!visited(rdd)) {visited += rddif (getCacheLocs(rdd).contains(Nil)) {// 遍歷rdd的依賴for (dep <- rdd.dependencies) {dep match {// 寬依賴(shuffle依賴)case shufDep: ShuffleDependency[_, _, _] =>// 使用那個寬依賴創建一個ShuffleMapStage,并且會將isshuffleMap設置為true// 那么默認最后一個stage,不是shuffleMap stage// 但是finalStage之前所有的stage,都是shuffleMap stageval mapStage = getShuffleMapStage(shufDep, stage.jobId)if (!mapStage.isAvailable) {missing += mapStage}// 窄依賴,直接壓棧case narrowDep: NarrowDependency[_] =>waitingForVisit.push(narrowDep.rdd)}}}}}// 首先往棧中壓入一個RDDwaitingForVisit.push(stage.rdd)//遍歷RDDwhile (!waitingForVisit.isEmpty) {visit(waitingForVisit.pop())}missing.toList}

通過以上兩個方法遞歸循環調用將所有的stage保存在waitingStages緩存中。

循環調用下面的方法將stage提交

private def submitWaitingStages() {// TODO: We might want to run this less often, when we are sure that something has become// runnable that wasn't before.logTrace("Checking for newly runnable parent stages")logTrace("running: " + runningStages)logTrace("waiting: " + waitingStages)logTrace("failed: " + failedStages)val waitingStagesCopy = waitingStages.toArraywaitingStages.clear()// 循環提交stagefor (stage <- waitingStagesCopy.sortBy(_.jobId)) {submitStage(stage)}}

stage劃分算法的總結:
1、stage從finalstage倒推
2、通過寬依賴,來對新的stage進行劃分提交
3、通過遞歸的方式,優先提交父stage
對于產生shuffle的算子,底層會產生三個RDD,分別是MappartitionRDD、shuffleRDD和MappartitionRDD,第一個MappartitionRDD和ShuffleRDD之間會產生shuffle,所以這個就是stage分配的分割點。

二、task的最佳位置計算算法

/*** 提交stage,為stage創建一批task,task 的數量與partition數量相同*/private def submitMissingTasks(stage: Stage, jobId: Int) {logDebug("submitMissingTasks(" + stage + ")")// Get our pending tasks and remember them in our pendingTasks entrystage.pendingTasks.clear()// First figure out the indexes of partition ids to compute.// 獲取創建task的數量val partitionsToCompute: Seq[Int] = {if (stage.isShuffleMap) {(0 until stage.numPartitions).filter(id => stage.outputLocs(id) == Nil)} else {val job = stage.resultOfJob.get(0 until job.numPartitions).filter(id => !job.finished(id))}}val properties = if (jobIdToActiveJob.contains(jobId)) {jobIdToActiveJob(stage.jobId).properties} else {// this stage will be assigned to "default" poolnull}// 將stage加入到runningStagesrunningStages += stage// SparkListenerStageSubmitted should be posted before testing whether tasks are// serializable. If tasks are not serializable, a SparkListenerStageCompleted event// will be posted, which should always come after a corresponding SparkListenerStageSubmitted// event.stage.latestInfo = StageInfo.fromStage(stage, Some(partitionsToCompute.size))outputCommitCoordinator.stageStart(stage.id)listenerBus.post(SparkListenerStageSubmitted(stage.latestInfo, properties))// TODO: Maybe we can keep the taskBinary in Stage to avoid serializing it multiple times.// Broadcasted binary for the task, used to dispatch tasks to executors. Note that we broadcast// the serialized copy of the RDD and for each task we will deserialize it, which means each// task gets a different copy of the RDD. This provides stronger isolation between tasks that// might modify state of objects referenced in their closures. This is necessary in Hadoop// where the JobConf/Configuration object is not thread-safe.var taskBinary: Broadcast[Array[Byte]] = nulltry {// For ShuffleMapTask, serialize and broadcast (rdd, shuffleDep).// For ResultTask, serialize and broadcast (rdd, func).val taskBinaryBytes: Array[Byte] =if (stage.isShuffleMap) {closureSerializer.serialize((stage.rdd, stage.shuffleDep.get) : AnyRef).array()} else {closureSerializer.serialize((stage.rdd, stage.resultOfJob.get.func) : AnyRef).array()}taskBinary = sc.broadcast(taskBinaryBytes)} catch {// In the case of a failure during serialization, abort the stage.case e: NotSerializableException =>abortStage(stage, "Task not serializable: " + e.toString)runningStages -= stagereturncase NonFatal(e) =>abortStage(stage, s"Task serialization failed: $e\n${e.getStackTraceString}")runningStages -= stagereturn}// 為stage創建指定數量的task// task最佳位置的計算算法// 最后一個stage的Task是ResultTask,其他的都是ShuffleMapTaskval tasks: Seq[Task[_]] = if (stage.isShuffleMap) {partitionsToCompute.map { id =>// 給每個partition創建一個task// 并計算task的最佳位置val locs = getPreferredLocs(stage.rdd, id)val part = stage.rdd.partitions(id)// 對于finalStage之外的stage,他的isshuffleMap設置為true// 所以會創建ShuffleMapTasknew ShuffleMapTask(stage.id, taskBinary, part, locs)}} else {// 不是ShuffleMapTask,那就是finalStage// finalStage,是用來創建ResultTask的val job = stage.resultOfJob.getpartitionsToCompute.map { id =>val p: Int = job.partitions(id)val part = stage.rdd.partitions(p)val locs = getPreferredLocs(stage.rdd, p)new ResultTask(stage.id, taskBinary, part, locs, id)}}if (tasks.size > 0) {logInfo("Submitting " + tasks.size + " missing tasks from " + stage + " (" + stage.rdd + ")")stage.pendingTasks ++= taskslogDebug("New pending tasks: " + stage.pendingTasks)// 最后通過taskScheduler提交task settaskScheduler.submitTasks(new TaskSet(tasks.toArray, stage.id, stage.newAttemptId(), stage.jobId, properties))stage.latestInfo.submissionTime = Some(clock.getTimeMillis())} else {// Because we posted SparkListenerStageSubmitted earlier, we should post// SparkListenerStageCompleted here in case there are no tasks to run.outputCommitCoordinator.stageEnd(stage.id)listenerBus.post(SparkListenerStageCompleted(stage.latestInfo))logDebug("Stage " + stage + " is actually done; %b %d %d".format(stage.isAvailable, stage.numAvailableOutputs, stage.numPartitions))runningStages -= stage}}

總結:
1、一個stage內部會有很多個task來執行
2、task的位置是根據cache和checkpoint決定的。
3、從stage的最后一個RDD開始,去查找RDD的partition上尋找是不是被cache了還是checkpoint了,如果有的話那么最佳位置就是cache或者checkpoint的partition上,因為在這個partition上,就不需要計算以前的父RDD了
4、如果既有cache還有checkpoint,那么以cache的partition為準。
5、如果沒有查找到最佳位置,那么最后由taskschedule來決定。
6、只有最后一個stage的task是resultTask,其他的都是shuffleMaptTask

總結

以上是生活随笔為你收集整理的Spark的stage划分算法源码分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美了一区在线观看 | 黄色小网站在线观看 | 在线色视频小说 | 天天射综合网视频 | 亚洲天堂网在线视频观看 | 视频一区二区三区视频 | 伊人国产视频 | 亚洲影院一区 | 日韩高清黄色 | 最新国产精品久久精品 | 色国产视频 | 色综合网在线 | 免费网址你懂的 | 香蕉视频在线播放 | 国产精品mv | 日韩a免费 | 国产三级精品在线 | 中文字幕制服丝袜av久久 | 日韩免费一区二区三区 | 成人福利av | 成人午夜影院在线观看 | 亚洲免费色| 色多多在线观看 | 国产精品不卡一区 | 91麻豆精品国产91 | 国产免费又黄又爽 | 日韩在线三级 | 欧美日韩精品影院 | 少妇bbbb| 丁香高清视频在线看看 | 日本精品久久久一区二区三区 | 99成人精品 | 成人在线电影观看 | 777xxx欧美 | 一区二区三区高清在线观看 | 久久免费看片 | 超碰97人 | 波多野结衣动态图 | 日韩精品一区二区三区免费观看 | 激情欧美一区二区三区免费看 | 夜添久久精品亚洲国产精品 | 亚洲一级片av | 69国产在线观看 | 青青看片| 日日躁你夜夜躁你av蜜 | 九九九九九精品 | 久草资源免费 | 日韩a级黄色片 | 久久久久久久久久久高潮一区二区 | 黄色app网站在线观看 | a级黄色片视频 | 国际精品网 | 在线看片中文字幕 | 国产成人精品一区二区三区免费 | 日韩电影久久久 | 久久99偷拍视频 | 国产欧美在线一区 | 99久久99久国产黄毛片 | 午夜精选视频 | 成人黄色av免费在线观看 | 亚洲成人欧美 | 亚洲精色 | 国产精品福利久久久 | 久草免费在线观看视频 | 欧美国产日韩一区二区三区 | 日韩欧美在线观看 | 国产麻豆精品一区二区 | 中午字幕在线观看 | 亚洲视频免费在线观看 | 久久99久久99精品免视看婷婷 | 超碰官网 | 六月丁香在线观看 | 欧美国产日韩一区二区三区 | 精品女同一区二区三区在线观看 | 丝袜美腿在线视频 | 亚洲欧美日韩一二三区 | 亚洲一级二级三级 | 日韩va亚洲va欧美va久久 | 91九色国产视频 | 久久久伦理 | 国产婷婷久久 | 欧美日一级片 | 成人9ⅰ免费影视网站 | 最近免费中文字幕大全高清10 | 91在线国内视频 | 精品国产亚洲一区二区麻豆 | 8x8x在线观看视频 | 欧美综合色在线图区 | 国产只有精品 | 国产五月婷| 99久久精品国产亚洲 | 国产精品视频免费看 | 日韩欧美极品 | 久久久久观看 | 久久久免费电影 | 婷婷在线视频观看 | 国产日韩在线视频 | 一级电影免费在线观看 | 天天天色综合a | 狠狠色丁香婷婷综合久久片 | 日韩精品免费一线在线观看 | 人人舔人人射 | 国产精品日韩高清 | 久香蕉 | 天天操夜夜逼 | 国产精品一区二区久久久久 | 午夜少妇一区二区三区 | 久久三级毛片 | 涩涩网站在线看 | 国产一区久久 | 成年人免费电影在线观看 | 久久国产亚洲精品 | 日本黄色免费大片 | 午夜免费福利片 | 欧美 国产 视频 | 亚洲高清av在线 | 免费看国产a | 日狠狠| 日本精品视频在线 | 国产精品视频线看 | 国产在线观看免费 | www.久久久 | 日韩超碰在线 | 日韩在线网 | 亚洲午夜剧场 | 亚洲精品综合一二三区在线观看 | 久草99| 精品三级av | 久久男人视频 | 国产自在线 | 91精品国产一区二区在线观看 | 亚洲在线高清 | 91亚洲精品在线观看 | 久久特级毛片 | 九九热免费精品视频 | 中文字幕 第二区 | 久久综合色天天久久综合图片 | 久久精品波多野结衣 | 日本最新一区二区三区 | 日本中文在线观看 | 人人躁 | 欧美大片在线看免费观看 | 欧美精品一区二区三区四区在线 | 婷婷综合成人 | 久热色超碰 | 日韩在线观看一区二区三区 | 激情久久久 | 国内免费的中文字幕 | 国产一区二区播放 | 午夜精品一二三区 | 国产精品18videosex性欧美 | 久久久久亚洲精品中文字幕 | 精品国产一区二区三区四区在线观看 | 福利视频| 国产精品资源 | 天天爽网站 | 天天干天天怕 | 亚洲免费视频在线观看 | 久久高清| 伊人www22综合色 | 狠狠色丁香婷婷综合久小说久 | 日本黄色大片免费 | 亚洲午夜精品久久久久久久久久久久 | 欧美亚洲国产精品久久高清浪潮 | 国产精品美女久久久久久免费 | 最新国产在线 | 中文在线| 97看片吧 | 99热精品免费观看 | 夜夜高潮夜夜爽国产伦精品 | 国产精品视频99 | 午夜免费福利片 | 天天摸日日摸人人看 | 91视频免费看网站 | 麻豆精品国产传媒 | 亚洲色图美腿丝袜 | 99这里精品 | 蜜桃视频成人在线观看 | 91激情| 69国产精品成人在线播放 | 激情综合亚洲精品 | 久草在线资源观看 | 国产一级免费在线 | 婷婷综合影院 | 亚洲国内精品在线 | 国产在线视频在线观看 | 成人在线观看免费视频 | 亚洲激情综合网 | 麻豆成人精品视频 | 国产美女精品人人做人人爽 | 在线观看911视频 | 日韩在线观看一区二区三区 | 久久艹艹 | 精品亚洲一区二区三区 | 久久精彩| 国产一性一爱一乱一交 | 国产黄色视 | 亚洲视频免费 | 顶级欧美色妇4khd | 国产成年免费视频 | 久草视频首页 | 欧美日韩不卡在线视频 | 天天草视频 | 婷婷综合伊人 | 亚洲精品乱码久久久久久 | 欧美日bb| 91在线网站| 91精品啪在线观看国产线免费 | 狠狠色香婷婷久久亚洲精品 | 国产精品欧美激情在线观看 | 国内精品在线看 | 亚洲精品乱码久久久久久按摩 | 亚洲va天堂va欧美ⅴa在线 | 手机av在线网站 | 久久久久久久久久影视 | 美女网站在线播放 | 国产麻豆精品传媒av国产下载 | 日韩天天操 | 亚洲一区天堂 | 在线综合色 | 久久婷婷色 | 色噜噜在线观看视频 | 天天天天色综合 | 久久天天躁狠狠躁夜夜不卡公司 | 中文字幕在线观看视频一区 | 日韩欧美黄色网址 | 色www免费视频 | 亚洲一级片免费观看 | 成人h视频在线 | 首页av在线 | 99视频在线精品 | av在线播放不卡 | 中文字幕在线资源 | 1000部18岁以下禁看视频 | 99国内精品久久久久久久 | 欧美日韩aa | 又黄又刺激又爽的视频 | 亚洲欧美999 | 中文字幕黄色 | 欧美日韩精品在线观看视频 | 久草视频中文 | 探花视频在线观看免费版 | 国产精品www | 日韩电影精品 | 免费成人在线观看视频 | 久久久电影网站 | 在线观看中文字幕一区 | 国产麻豆果冻传媒在线观看 | 日韩久久精品一区二区三区 | 欧美成a人片在线观看久 | 日日精品 | 日日成人网 | 992tv在线成人免费观看 | 91av在线免费播放 | 丁香激情视频 | 麻花豆传媒mv在线观看 | 日韩成人精品 | 婷婷免费视频 | 中文av字幕在线观看 | 欧美国产日韩一区二区三区 | 日日夜夜91 | 亚洲成人黄色 | 在线观看不卡视频 | 久久超| 欧美日韩一级在线 | 91一区啪爱嗯打偷拍欧美 | 久久久免费观看完整版 | 国产精品国产亚洲精品看不卡 | 久草在线综合网 | 欧美精品亚州精品 | 国产精品青青 | 99热九九这里只有精品10 | 手机看片午夜 | 色视频成人在线观看免 | 国产精品一区二区av日韩在线 | 久久精品一 | 91成人精品国产刺激国语对白 | 91完整视频 | 伊人久久在线观看 | 成人在线免费小视频 | 最新日韩视频 | 8x成人免费视频 | 97人人澡人人添人人爽超碰 | 免费av网站在线看 | 91精品久久久久久综合乱菊 | 一区二区三区四区不卡 | 欧美一级特黄高清视频 | 国产亚洲精品久久久久久网站 | 在线观看日本高清mv视频 | 四虎影视精品永久在线观看 | 四虎在线免费 | 成人黄色小说网 | 91精品国产自产91精品 | 最新国产精品久久精品 | 日韩网站在线观看 | 51久久成人国产精品麻豆 | 麻豆视频在线播放 | 热re99久久精品国产99热 | 中文字幕欧美激情 | 午夜神马福利 | 国产网站av | 久久999久久| 91成人看片 | 开心综合网| 亚洲精品综合在线 | 久久99久久99精品中文字幕 | 国产日韩欧美视频在线观看 | 中文字幕在线观看免费高清完整版 | 日韩一区二区三区高清免费看看 | 日韩www在线 | 中文字幕在线视频精品 | av一区在线 | 久草精品在线观看 | 黄色网www| 黄色精品视频 | 久久久久高清毛片一级 | 九九在线视频免费观看 | 亚洲国产97在线精品一区 | 天天摸天天舔天天操 | 亚洲成人av一区二区 | 久久伦理电影 | 亚洲码国产日韩欧美高潮在线播放 | 在线电影 你懂得 | 成人黄色中文字幕 | 亚洲精品欧美成人 | 中文字幕国产精品一区二区 | 欧美va天堂va视频va在线 | 国产成人精品999在线观看 | 97精品在线 | 久久精品久久99精品久久 | 久久99亚洲热视 | 91精品国产成人www | 香蕉久草在线 | 久久久久久网站 | 国产在线观看污片 | 成人91在线 | 亚洲精品国产精品国自 | 欧美做受高潮1 | 欧美一区二区视频97 | 亚洲精品国产第一综合99久久 | 色婷婷骚婷婷 | 欧美片一区二区三区 | 成人免费共享视频 | 综合精品久久久 | 日日干天天射 | 91精品对白一区国产伦 | 国产精品系列在线播放 | 正在播放五月婷婷狠狠干 | 毛片网站在线观看 | 最新av网站在线观看 | 亚洲午夜小视频 | 中文字幕在线观看av | 国产欧美精品一区二区三区 | 天天操狠狠操网站 | 99热在| 一级黄色在线视频 | 一区二区三区免费在线观看视频 | 婷婷社区五月天 | 亚洲日本中文字幕在线观看 | 日本黄区免费视频观看 | 久久香蕉国产精品麻豆粉嫩av | 亚洲成人高清在线 | 不卡精品视频 | 在线国产91 | 在线中文字幕网站 | 国产五月天婷婷 | 国产一区二区久久久 | 成人黄色大片在线免费观看 | 国产免费三级在线观看 | 中文字幕大全 | 亚洲国产成人高清精品 | 亚洲综合网站在线观看 | 欧美精品久久久久久久亚洲调教 | 中文区中文字幕免费看 | 一级片视频在线 | 国产剧情在线一区 | 欧美极品xxxxx | 久久黄色免费观看 | 久久精品伊人 | 美女黄网站视频免费 | 天堂av在线中文在线 | 91综合色 | 成人h电影在线观看 | 免费看av片网站 | 人人爽人人插 | 黄污在线观看 | 激情网在线视频 | 国产精品欧美日韩 | 涩涩资源网 | 国产手机在线精品 | 国产精在线 | 色噜噜狠狠狠狠色综合久不 | 色大片免费看 | 国产精品99免视看9 国产精品毛片一区视频 | 久福利| 久草资源免费 | 国产午夜亚洲精品 | 亚洲爱av| 韩国在线视频一区 | 中文字幕在线视频第一页 | 亚洲一级片在线看 | 狠狠狠狠干 | 亚洲综合在线观看视频 | 少妇性aaaaaaaaa视频 | 在线视频观看亚洲 | 深夜精品福利 | 久草在线在线视频 | 黄色亚洲 | 一区在线电影 | 久草视频中文 | 久操视频在线 | 日韩欧美精品在线观看 | 日韩毛片在线播放 | 久久香蕉国产 | 色天天综合久久久久综合片 | 日韩一二三| 91亚洲精品久久久蜜桃借种 | 欧美精品乱码久久久久久按摩 | 99热这里只有精品国产首页 | 精品国产一区二区三区久久 | 一区二区视频免费在线观看 | 亚洲高清不卡av | 亚洲精品乱码久久久久久写真 | 久久99热这里只有精品 | 亚洲视频2| 国产亚洲精品久久久久秋 | 香蕉网站在线观看 | 国产精品久久久久久久久免费 | www.狠狠| 日韩精品久久久久久久电影竹菊 | 91传媒激情理伦片 | 免费十分钟 | 久久国产精品一二三区 | 欧美一级视频免费 | 91精品国产99久久久久久久 | 国产综合视频在线观看 | 欧美a级片网站 | 综合激情伊人 | 97电影在线看视频 | 一本一道久久a久久精品 | 亚洲女同videos| 91视频传媒| 中文字幕亚洲欧美 | 国产精品一区二区av日韩在线 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产午夜免费视频 | 99精品在线免费 | 香蕉在线视频观看 | 97在线观看免费 | 久久国内视频 | 国产一区在线免费观看 | 免费看搞黄视频网站 | www黄色com | 日韩三级免费 | 久久dvd| 日韩a免费| 99r在线精品| 色欧美日韩 | 91免费观看 | 很黄很黄的网站免费的 | 亚洲va欧美va国产va黑人 | 射久久久 | 中文字幕欲求不满 | 国产视频久久 | 亚洲影视资源 | 欧美狠狠色| 国产一区欧美二区 | 中文字幕在线观看第一页 | 在线观看免费一区 | 日韩精品免费专区 | www.天天综合 | 久久精品牌麻豆国产大山 | 中文字幕二区在线观看 | 高潮毛片无遮挡高清免费 | 婷婷综合久久 | 麻豆视频免费播放 | 国产精品资源网 | 中文字幕精品在线 | 奇米影视8888 | 91精品对白一区国产伦 | 精品自拍sae8—视频 | 天天干中文字幕 | 国产精品久久久久久久久久久久午夜 | 免费看一级特黄a大片 | 久久99国产精品免费网站 | 久久久久久久综合色一本 | 亚洲精品玖玖玖av在线看 | 国产亚洲成av人片在线观看桃 | 亚洲va欧美 | 99久久精品国 | av不卡网站 | 91精品国产一区二区在线观看 | 欧美aaa视频 | 综合在线观看色 | 免费看十八岁美女 | 国产精品永久免费观看 | 久久精品xxx | 久久人人爽人人爽人人片av免费 | 亚洲精品综合一二三区在线观看 | 色资源二区在线视频 | 亚洲精品在线观看不卡 | 99久久久成人国产精品 | 国内成人精品视频 | www久久久久 | 日韩视频免费观看高清完整版在线 | 天天干天天拍天天操天天拍 | 久久久久久久久久久久久久免费看 | 亚洲高清资源 | 97精品一区二区三区 | 国产视频一 | 国产区久久 | 99久久综合狠狠综合久久 | 日韩91精品 | 亚洲精品国产精品乱码在线观看 | 天天干,天天操,天天射 | 波多野结衣电影一区二区 | 欧美va天堂va视频va在线 | 黄污视频大全 | 国产极品尤物在线 | 国产黄色精品视频 | 欧美日韩中文在线观看 | 欧美一级高清片 | 国产一区欧美二区 | 国产99自拍 | 天天天操操操 | 日韩欧美高清视频在线观看 | 亚洲永久精品视频 | 中文字幕第一页在线播放 | 亚洲无吗视频在线 | 91最新在线 | 色资源在线 | 激情综合五月网 | 黄网站色成年免费观看 | 国产精品久久久久久妇 | 日日日操 | 91麻豆精品国产91久久久使用方法 | 夜夜操狠狠干 | 成人国产精品一区 | 国产视频999 | 免费在线观看av电影 | 五月天久久久 | 国产精品粉嫩 | 欧美精品一区在线 | 不卡电影免费在线播放一区 | 色综合天天综合 | 91麻豆精品国产91久久久无需广告 | 91视频久久 | 91重口视频 | 欧美va电影 | 亚洲区另类春色综合小说 | 欧美日韩久久不卡 | 午夜狠狠干 | 青青射 | 精品极品在线 | 久久精品老司机 | 97超视频在线观看 | 欧美大香线蕉线伊人久久 | 国产在线高清 | 麻豆一级视频 | 成人在线免费视频 | 亚洲在线视频播放 | 黄网站色成年免费观看 | 91av手机在线观看 | 91精品视频免费 | 在线观看 亚洲 | 国产美女免费观看 | 成人一级影视 | 久久99精品波多结衣一区 | 免费在线观看亚洲视频 | 久久夜色精品国产欧美一区麻豆 | 超碰国产在线播放 | 一区二区欧美在线观看 | 亚洲最快最全在线视频 | 国产精品密入口果冻 | 久久久久亚洲天堂 | 日韩理论电影网 | 五月亚洲综合 | 午夜美女福利直播 | 日韩a在线观看 | 夜夜骑日日 | 日韩精品一区二区三区中文字幕 | a黄色片| 色天天天 | 99日韩精品 | 少妇bbb | a视频在线播放 | 亚洲天天综合网 | 天天天天射 | 欧美日韩一区二区三区视频 | 99福利片| 欧美久久久一区二区三区 | 亚洲国产中文字幕在线视频综合 | 97在线免费视频观看 | 97日日碰人人模人人澡分享吧 | 日韩二区在线 | 最近字幕在线观看第一季 | 日韩电影一区二区三区 | 中文乱码视频在线观看 | 日本黄网站 | 亚洲精品国产品国语在线 | 日韩超碰 | 在线免费高清一区二区三区 | 国产精品一区二区免费在线观看 | 91看片在线免费观看 | 亚洲成色777777在线观看影院 | 国产福利不卡视频 | 九草视频在线 | 免费视频色 | 2023亚洲精品国偷拍自产在线 | 在线观看一区 | www.色的 | 九九免费在线观看 | www.888av| 国产又粗又硬又爽视频 | 日日夜夜艹 | 天天色天天色 | 午夜视频久久久 | 超碰在线98 | 欧美性受极品xxxx喷水 | 国产三级精品在线 | 99精品电影 | 二区三区在线观看 | 国产精品18久久久久久久久久久久 | 日本高清中文字幕有码在线 | 亚洲国产精品日韩 | 色偷偷88888欧美精品久久 | 在线国产能看的 | 日韩在线免费电影 | 天天操夜夜曰 | 在线91观看 | 在线视频成人 | 97在线看| 国产一区高清在线观看 | 欧美日韩在线电影 | 免费人成网 | 97国产在线 | 精品一区二区免费在线观看 | 成人免费观看网站 | 97在线视频观看 | 色五月激情五月 | 女人18精品一区二区三区 | 亚洲视频播放 | 五月婷婷一区二区三区 | 99热亚洲精品 | 久久综合给合久久狠狠色 | 亚洲综合色网站 | 国产99一区| 国产一二三在线视频 | 色在线免费观看 | 精品欧美在线视频 | 婷婷国产视频 | 99人成在线观看视频 | 精品国产一区二区三区在线观看 | 色天堂在线视频 | 日日激情| 日韩精品一卡 | 特级毛片在线观看 | 国产高清视频在线观看 | 91在线中文 | 国产成人免费在线 | 五月激情婷婷丁香 | 午夜婷婷综合 | 97av影院| 天堂在线视频免费观看 | 国产不卡在线观看视频 | 久久久精品免费看 | 亚洲精品乱码久久久久久 | 狠狠躁日日躁 | 最近高清中文在线字幕在线观看 | 91精品国自产在线观看 | 国产一级黄大片 | 高清免费在线视频 | 欧美乱大交 | 婷婷亚洲激情 | 亚洲精品www久久久久久 | 一区二区三区四区免费视频 | 免费观看性生交大片3 | 黄色一级大片在线观看 | 国产1区在线 | 国产精品高清在线 | 亚洲成人高清在线 | 夜又临在线观看 | 午夜在线免费观看视频 | 黄色精品视频 | 一区二区三区不卡在线 | 91九色pron| 国产裸体视频网站 | 日日夜夜精品免费视频 | 国产人成免费视频 | 93久久精品日日躁夜夜躁欧美 | 欧美精品在线视频 | 久久激情视频 久久 | 精品在线视频观看 | 在线超碰av | 久草精品在线播放 | 久久久精品国产一区二区 | 国产成人av一区二区三区在线观看 | 国产精品观看视频 | 成人a级黄色片 | 午夜三级福利 | 欧美日韩不卡在线 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线成人国产 | 国内精品久久久久久久久 | 亚洲激情中文 | 爱爱av网| 亚洲美女免费视频 | 国产欧美综合在线观看 | 久久伊99综合婷婷久久伊 | 亚洲日本一区二区在线 | 午夜影院日本 | 精品国产a| 992tv人人网tv亚洲精品 | 成人免费视频网址 | 超碰免费久久 | ww亚洲ww亚在线观看 | 999热线在线观看 | av大片免费 | 国产精品大全 | 黄色h在线观看 | 久久人人爽爽人人爽人人片av | 免费日韩一区 | 中文字幕一区二区三区四区久久 | 国产黄 | 99九九免费视频 | 日本三级香港三级人妇99 | 97在线成人 | 亚洲免费黄色 | 久久午夜精品视频 | 日韩在线大片 | 久久免费av电影 | 国产精品区二区三区日本 | 麻豆影视在线免费观看 | 亚洲免费在线 | 亚洲综合小说电影qvod | 亚洲精品久久久蜜臀下载官网 | 免费看成人a | 久艹在线免费观看 | 久久精品一区八戒影视 | 日韩专区视频 | 欧美日韩xxxxx| 国产短视频在线播放 | av大全在线免费观看 | 成人在线视频网 | 欧美日韩aaaa | 久亚洲精品 | 黄色一级影院 | 天天摸天天操天天舔 | 日日日日日 | 色中色资源站 | 国产精品理论片在线观看 | 久久久久99精品成人片三人毛片 | 丁香婷婷激情国产高清秒播 | 国产中文字幕视频在线观看 | 国产视频精品在线 | 日本韩国精品一区二区在线观看 | 激情久久网 | 久久久国产精品成人免费 | 精品91久久久久 | 国产精品理论片在线播放 | 免费观看成年人视频 | 久久曰视频 | 久久久久久久久国产 | 一区二区三区免费网站 | 在线观看视频一区二区三区 | 免费人成在线观看 | 不卡电影免费在线播放一区 | 中文字幕在线观看完整版 | 中文字幕一区在线观看视频 | 网站在线观看日韩 | 久久影院亚洲 | 久久国内免费视频 | 又黄又色又爽 | 久操视频在线播放 | 欧美日韩一区二区视频在线观看 | 国产成人精品久久久 | 日韩免费在线视频 | 亚洲少妇xxxx | 天堂av色婷婷一区二区三区 | 一本色道久久精品 | 亚洲丁香久久久 | 亚洲91精品在线观看 | 国产成人一区二区啪在线观看 | 蜜臀av夜夜澡人人爽人人桃色 | 久久精品观看 | 四虎影视4hu4虎成人 | 欧美精品做受xxx性少妇 | 国产精品久久久久久麻豆一区 | www.久久久.cum | 国产色爽 | 最近高清中文在线字幕在线观看 | 五月婷婷色 | 成人黄色小说在线观看 | 在线视频 影院 | 啪一啪在线 | 天天干夜夜| 丰满少妇对白在线偷拍 | 人人看人人草 | 久草视频在线免费播放 | 麻豆91在线| 五月婷婷久久丁香 | 精品在线视频一区 | 婷婷丁香色综合狠狠色 | 日韩三级在线观看 | 国产精品自产拍在线观看网站 | 久精品在线| 国产美女免费视频 | 91精品免费看 | 在线观看成年人 | 色鬼综合网 | 久久国内精品99久久6app | 日韩在线视频国产 | 欧美一级免费片 | 日本一区二区三区免费观看 | 成人午夜剧场在线观看 | 婷婷激情站| 日韩精品视频久久 | 国产精品久久久久久久久久久不卡 | 国产亚洲资源 | 黄色国产在线观看 | 亚洲蜜桃在线 | 在线观看日本高清mv视频 | 国产一级淫片在线观看 | 美女视频免费一区二区 | 日韩激情在线视频 | 91精品视频在线 | 久久久久国产一区二区三区 | 色偷偷97| 欧美日韩国产一二 | 久久国产精品99久久久久久进口 | 日韩激情精品 | 国产精品一区二区免费 | 中文国产字幕在线观看 | av丝袜在线 | 狠狠色狠狠色合久久伊人 | 亚洲精品国产精品乱码不99热 | 99免费在线播放99久久免费 | 在线天堂亚洲 | 日韩电影在线观看一区 | 亚洲一区二区观看 | 91黄色免费看 | 国产精品一区在线播放 | 国产成人99久久亚洲综合精品 | 97人人视频 | 国产一区视频导航 | 99久久精品免费看国产一区二区三区 | 91亚色免费视频 | 国产一级黄色片免费看 | 超碰在线中文字幕 | www色网站 | 丁香激情综合国产 | 欧美极品少妇xbxb性爽爽视频 | 国产精品久久久久aaaa | 国产精品色视频 | 亚洲国产小视频在线观看 | 三级在线视频播放 | 97在线免费观看 | 精品中文字幕视频 | 一区二区三区电影在线播 | 日本中文乱码卡一卡二新区 | 成人免费视频网站在线观看 | 精品一二三区视频 | 亚洲精品视频一 | 日韩在线观看免费 | 亚洲精品综合欧美二区变态 | 狠狠色噜噜狠狠狠狠 | 久久av中文字幕片 | 一级黄色毛片 | 97操操| 91免费看黄 | 91国内在线视频 | 色偷偷人人澡久久超碰69 | 天天射天天操天天 | 九九有精品 | 又长又大又黑又粗欧美 | 久久99最新地址 | 成人一区二区在线观看 | 国产亚洲视频在线观看 | 在线观看国产 | 日本黄色a级大片 | 成人a在线观看高清电影 | 国产一区二区三区黄 | 日日夜夜网 | 日韩免费高清 | 在线播放 一区 | 成人九九视频 | 色婷婷88av视频一二三区 | 久久爱影视i | 日本中文字幕在线电影 | 天天伊人狠狠 | 国产97在线观看 | 8x成人免费视频 | 一区二区三区电影大全 | 欧美日一级片 | 欧美,日韩 | 亚洲免费婷婷 | 天天爽综合网 | 日韩高清成人 | 天天玩夜夜操 | 久久精品电影院 | 成人av片免费观看app下载 | 日韩一级成人av | 久久久久久久久黄色 | 色中色综合 | 久久观看最新视频 | 国产精品亚洲片夜色在线 | 91av资源在线 | 国产精品一区欧美 | 99国产在线观看 | 精品国产一区二区三区日日嗨 | 久久9999久久免费精品国产 | 天天色天天操天天爽 | 伊人婷婷| 久久婷婷丁香 | 看av在线 | 国产精品久99 | 久久久麻豆精品一区二区 | 亚洲一区在线看 | 精品美女在线视频 | 国产精品一级视频 | 久久精品网站免费观看 | 91久久国产精品 | 久久99久久99久久 | 狠狠色丁香久久婷婷综合五月 | 国产一区二区免费在线观看 | 国产美女视频网站 | 国产精品久久99精品毛片三a | 国产亚洲精品综合一区91 | 欧美性成人 | 97超碰人人爱 | 日本午夜在线亚洲.国产 | 男女激情网址 | 精品日韩视频 | 亚洲欧美日韩中文在线 | 国产在线视频资源 | 91自拍视频在线观看 | 欧美另类sm图片 | 国产精品99久久久久人中文网介绍 | 亚洲精品久久久久久中文传媒 | 在线观看免费版高清版 | 探花视频在线观看免费 | 日日爽天天爽 | 色综合天天综合网国产成人网 | 国产精品久久久久永久免费观看 | 欧美日韩一区二区三区免费视频 | 久久综合免费 | 97视频在线看 | 天天天天天操 | 91久久精品一区二区三区 | 成人av在线电影 | 精品视频久久久 | 亚洲午夜久久久久久久久久久 | 久久久久久网站 | 在线观看久草 | 日韩免费在线看 | 噜噜色官网 | 91av电影在线观看 | 国产免费区 | 亚洲精品一区二区久 | 欧美精品在线观看免费 | 91人人网| 欧美日韩中 | 国产成人高清在线 | 亚州av成人| 黄色资源在线观看 | 久久久久久久久久久久亚洲 | 中文字幕一区二 | 亚洲欧美视频在线 | 亚洲人人av| 国产色在线 | 91香蕉国产| 伊人中文在线 | 成人午夜毛片 | 91传媒视频在线观看 | 国内精品在线看 | 91精品啪在线观看国产线免费 | 亚洲国产精品成人va在线观看 | 日韩激情影院 | 婷婷综合影院 | 国产九九九九九 | 九九热99视频 | 久久免费国产视频 | 久人人| 在线观看一级片 | 久久久久久久精 | 成人免费在线视频观看 | 国产一区二区三区免费在线观看 | 久久久久久久av麻豆果冻 | 国产精品久久久久久久久久久久午夜 | 国产免费国产 | 国产精品三级视频 | 久久久久国产视频 | 久久免费视频在线观看30 | 日韩成人免费电影 | 欧美一二三四在线 | 91中文在线视频 | 九九九视频在线 | 国产精品高潮呻吟久久久久 |