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

聊聊得物數(shù)據(jù)研發(fā)優(yōu)化策略

大數(shù)據(jù) 數(shù)據(jù)倉庫
在數(shù)據(jù)研發(fā)領域,數(shù)據(jù)的技術手段無論多么豐富,平臺發(fā)展何等完善,都不能說能解決業(yè)務的所有問題。一定是先有業(yè)務,才會有對應的問題。

1、前言

在離線數(shù)據(jù)研發(fā)中,隨著業(yè)務的快速發(fā)展以及業(yè)務復雜度的不斷提高,數(shù)據(jù)量的不斷增長,尤其得物這種業(yè)務的高速增長,必然帶來數(shù)據(jù)邏輯復雜度的提升,數(shù)據(jù)量越大,復雜度越高,對任務的性能的要求就越高,因此,任務性能的優(yōu)化就成了大家必然的話題,在離線數(shù)倉招聘中,這幾乎成了必考題目。

大數(shù)據(jù)領域,為了提高超大數(shù)據(jù)量的計算性能,幾代人不斷在努力,不斷榨取著計算機的CPU、內(nèi)存、磁盤每一個模塊的性能,從早期的縱向擴展(提升計算機性能,如IBM、ORACLE 早期推崇的服務器到小型機到大型機的演進)到目前的大規(guī)模橫向擴展(分布式集群模式),都是旨在提升大數(shù)據(jù)的性能。

本文重點從在分布式計算模式下,如何來優(yōu)化任務,大家耳熟能詳?shù)某R妰?yōu)化如:mapjoin skewjoin distribute by 等就不多做贅述,本文主要探索技巧、策略及方法。

2、任務優(yōu)化策略

2.1 優(yōu)化方向

圖片

補充說明:目前得物大數(shù)據(jù)在阿里云的dataworks 環(huán)境下,集群層面做了比較多的工作,IO、網(wǎng)絡、機架感應等暫時無需過多關注,如有自建集群時,可重點關注,我們重點關注JOIN  和REDUCE 層面,優(yōu)化細節(jié)也重點基于這兩個方向做細節(jié)展開。

2.2 優(yōu)化手段

對于優(yōu)化手段優(yōu)化方法,我們大多數(shù)習慣性從技術手段出發(fā),更多的從算子、邏輯兼容等來處理,但是在某些業(yè)務場景下,如埋點日志,數(shù)據(jù)量一般比較大,這種情況無論技術手段如何干預,都無法解決存儲和計算帶來的資源消耗,這時候如果要提升SLA,就得從業(yè)務場景出發(fā),做好業(yè)務的分類分級以及核心數(shù)據(jù)分流,因此,本文的優(yōu)化手段會從技術手段和業(yè)務手段兩方面展開。

圖片

  • 技術手段

聚焦于技術手段來處理任務,參加上述單點任務優(yōu)化方向,主要是SQL 邏輯、模型規(guī)范、算子優(yōu)化及可能存在的集群優(yōu)化

  • 業(yè)務手段

聚焦于業(yè)務特性、業(yè)務邏輯來進行處理,基于不同的業(yè)務特性及重要程度,從生產(chǎn)、采集、模型、數(shù)據(jù)消費全鏈路進行梳理和架構優(yōu)化,同時形成一套數(shù)據(jù)鏈路上的通知及約束機制,避免上游變更帶來的下游數(shù)據(jù)故障及恢復問題。

3、優(yōu)化實踐案例

優(yōu)化策略中,定義好優(yōu)化方向、優(yōu)化手段,接下來,我們選取一些比較有效的沉淀出來的方案,展開講講如何來做任務優(yōu)化。

前文講述,目前的得物的數(shù)據(jù)平臺特性(dataworks),我們在IO、網(wǎng)絡、RPC 通信機制等暫時涉入不深,且對于面向業(yè)務的數(shù)據(jù)研發(fā)來言,大部分人不會過多關注底層的實現(xiàn)原理,暫不做過多深入探討。

我們基于上面方向中的技術手段講述幾個日常常見的優(yōu)化案例

3.1 數(shù)據(jù)重分發(fā)(Distribute &Rand)

3.1.1 數(shù)據(jù)重分發(fā)的要點

日常數(shù)據(jù)研發(fā)中,最常見的且使用較多的就是數(shù)據(jù)傾斜或數(shù)據(jù)量帶來的數(shù)據(jù)重分發(fā)(打散或隨機),對于數(shù)據(jù)的重分發(fā),主要分以下幾點:

  • 優(yōu)化小文件
  • 數(shù)據(jù)傾斜
  • 排序&隨機

小文件過多帶來的MAP 端資源損耗和數(shù)據(jù)傾斜是我們?nèi)粘i_發(fā)過程中最為常見的性能問題,而這兩點大多跟rand()隨機數(shù)有一定的關系,通過數(shù)據(jù)分發(fā)和打散和規(guī)避掉大部分此場景下的問題。

數(shù)據(jù)重分發(fā)一般代碼操作如下所示

select c1,c2... from tablename distribute by c1[,...]
select c1,c2... from tablename distribute by rand([,seed])[,...]

對于rand() 我們要注意幾點,可讓我們在優(yōu)化任務時,知其然,更知其所以然。

  • rand() 隨機數(shù)的生成規(guī)律跟數(shù)學概率有莫大的關系,尤其在算法中,會被經(jīng)常性問到,給定隨機生成的N個數(shù),構造等概率事件的發(fā)生器,跑題了,繼續(xù)說回在hive 或odps 場景下,rand() 函數(shù)是隨機生成的0-1 的double 類型的數(shù)字。
  • rand(int seed) 函數(shù)可以根據(jù)種子參數(shù),構造一個穩(wěn)定的隨機值,加上種子參數(shù),得到的結果是相對穩(wěn)定的,尤其在處理小文件過程中,這一步很重要。
  • Hive 和odps 場景中,隨機函數(shù)多與pmod()、mod()、floor()、ceil() 等函數(shù)結合使用,可以根據(jù)不同的業(yè)務場景,來構造任意范圍內(nèi)的隨機整數(shù),比如在處理數(shù)據(jù)重分發(fā)解決數(shù)據(jù)傾斜的問題時,同時擔心影響這種重分發(fā)帶來過多的小文件,隨機數(shù)可以這樣來取  floor(rand())*N/ceil(rand())+1,取1-N 之間的整數(shù)。

比如在流量數(shù)據(jù)里面,因為大量空值時,結合rand函數(shù),解決數(shù)據(jù)傾斜問題:

select * 
from  a 
left join b on a.order_id = nvl(b.order_id ,concat('hive',rand()))
--b中的order_id 存在大量空值 的時候

3.1.2 數(shù)據(jù)重分發(fā)的作用

對于數(shù)據(jù)重分發(fā),我們主要是用來對處理數(shù)據(jù)結果進行小文件合并以及對數(shù)據(jù)處理中的傾斜問題進行優(yōu)化。在大多數(shù)的處理中,我們習慣于使用Distribute by Rand() *N 的方式,其實這個方式可能存在問題,在處理類似問題時候,我們可以選擇基于seed種子的Rand函數(shù),來維持隨機數(shù)的穩(wěn)定性。這里需要知曉,distribute by 實際上做了一次shuffle的分發(fā),默認是按照給定key進行的hash操作(可以理解為一次repartion重新分區(qū)),這里面是可以進行定制分區(qū)邏輯的,可以通過重寫hive當中partition的接口,實現(xiàn)不同策略的重分發(fā)。

  • 處理小文件合并

使用方式一:指定固定分發(fā)列,做一次shuffle的merge操作,DEMO如下:

SELECT column1, column2,column.... FROM TABLEX WHERE ds = '${bizdate}'DISTRIBUTE BY '${bizdate}',columns1....

使用方式二:指定給定的文件數(shù),這里要用到rand()函數(shù)了,一般有兩種寫法:

第一種寫法(上文討論過,這種寫法在一定情況下會出現(xiàn)數(shù)據(jù)問題):

SELECT column1, column2,column.... FROM TABLEX WHERE ds = '${bizdate}'DISTRIBUTE BY FLOOR(RAND()*N)/CEIL(RAND()*N)

第二種寫法(加隨機種子,產(chǎn)生穩(wěn)定的隨機序列):

SELECT column1,column2,column.... FROM (    SELECT column1, column2,column...., FLOOR(RAND(seed)*N) AS rep_partion FROM      TABLEX      WHERE ds = '${bizdate}')DISTRIBUTE BY rep_partion
  • 處理JOIN中的傾斜:與上述邏輯同理,主要是借助一次分發(fā),使得需要shuffle的數(shù)據(jù)能在一個節(jié)點進行數(shù)據(jù)處理。

3.2 數(shù)據(jù)膨脹(Explode)

在join過程中,我們之前提到了一種基于BLOOMFILTER算法的優(yōu)化方法。在某些情況下,當join的表中出現(xiàn)一個表的量級很大,另外一個表無法mapjoin切熱鍵key在概率分布上呈現(xiàn)隨機性,這個時候就可以在一定程度上,對較小表中的join key進行一定程度的膨脹,由于join的發(fā)生是在reduce階段,因此可以構造出穩(wěn)定的多條主鍵,在不同的reduce中對數(shù)據(jù)進行jion操作,進而一定程度上解決join傾斜帶來的問題。基本原理如下圖所示:

圖片

一個小例子,當研發(fā)使用數(shù)組形式存儲數(shù)據(jù)(sku_ids)時,數(shù)倉想要拿到數(shù)組中每一個sku_id,使用 lateral view EXPLODE。代碼如下:

select order_id 
from a 
lateral view explode(split(order_ids,',')) v1 as order_id 
group by order_id

結果展示:

order_ids  order_id 
101,102,103 101
101,102,103 102
101,102,103 103
104,105 104
104,105 105

目前,膨脹函數(shù)已經(jīng)有開發(fā)出來有現(xiàn)成的UDTF函數(shù)來支持,可以支撐任意膨脹量級的數(shù)據(jù)進行膨脹。只需要構造膨脹區(qū)間對應的隨機函數(shù)即可,還是需要用到Rand()函數(shù)來實現(xiàn)。

數(shù)據(jù)膨脹方式帶來的問題:

在解決了數(shù)據(jù)傾斜重新打散的問題之后,在計算層面會增加一定的數(shù)據(jù)計算量。此外,如果能基于分桶進行二次索引分片,也可以在引擎?zhèn)瓤紤]基于該方向的自適應傾斜優(yōu)化。

3.3 數(shù)據(jù)分桶(Bucket)

在數(shù)據(jù)量比較大的情況下,單表數(shù)據(jù)做分區(qū)會存在下游使用效率上的限制,而數(shù)據(jù)在某些列上(或者構造業(yè)務列)存在高度聚集,或者存在可以優(yōu)化提升的巨大空間,在此時,我們就可以對列進行散列分桶,在分區(qū)的基礎上進行桶表的設計,桶上可以對應索引向量,將極大的提升數(shù)據(jù)使用上的效率。

在數(shù)據(jù)隨機抽樣、JOIN場景中,也會極大的提升整個數(shù)據(jù)的計算性能和效率。在hive中,該功能默認是關閉的,需要set hive.enforce.bucketing=true打開支持,odps 下可能無需特別關注,需要注意一般而言,桶的個數(shù)將與一次作業(yè)中對應的reduce數(shù)量一致。

其實,基于分桶的邏輯,在引擎?zhèn)瓤梢宰龈嗟膬?yōu)化(比如引擎?zhèn)瓤梢詢?yōu)化分桶存儲的策略)。在join中,根據(jù)索引進行join層面的動態(tài)優(yōu)化,在超大數(shù)據(jù)join過程中,基于桶進行單位數(shù)據(jù)的本地優(yōu)化等等都是可以做非常多的優(yōu)化操作的,由于在目前的業(yè)務場景中,較少用到數(shù)據(jù)分桶,因此這里不做更深入的拓展,詳細的可以自行百度,查看關于桶表的使用,更進一步,合理分桶,加上排序后的索引,能高效優(yōu)化單表查詢使用的效率。

3.4 并發(fā)與并行控制

在計算機入門的時候,我們就經(jīng)常聽到并發(fā)與并行,線程與進程等概念。而在數(shù)據(jù)研發(fā)中,我們發(fā)現(xiàn),其實對于整個作業(yè)來說,同樣遵循類似的調(diào)優(yōu)規(guī)則。一般的,一個作業(yè)最大的map數(shù)是9999,reduce數(shù)最大是1000。雖然可以提高單個任務吞吐量,但是會消耗更長的時間和資源調(diào)度上的等待。另一方面,當完成一個同類作業(yè),往往需要多個任務進行,如果任務下面可以多個作業(yè)并行處理,單個作業(yè)也能夠并發(fā)執(zhí)行,那么就能夠更大程度地榨取整個集群的資源,從而達到突破計算瓶頸和上線的目的。目前在開源HADOOP體系中,我們沒有腳本模式來支持靈活的任務自動分配和調(diào)度,但是可以采用SHELL/PYTHON腳本+SQL的方式來實現(xiàn)這一目的,其實借助猛犸調(diào)度在一定范圍內(nèi)也能達到同樣的效果。

3.5 多路輸出與物化(Read Once Output More)

這個部分我們主要談談HIVE(spark)的CTE寫法(WITH...AS...)以及From語法的應用。這兩個語法,在日常開發(fā)稍微復雜的任務時候,可以大大清晰整個復雜SQL的邏輯,同時,在多路讀寫中,通過物化的方式還能在一定程度上加速作業(yè)的運行。

  • CTE(with.... as ...)使用
  • 基本使用非常簡單,cte的語法主要是為了提高代碼的可讀性,雖然在整個性能的優(yōu)化上未必達到很好的效果,但是在一定程度上,能大大提高任務的邏輯清晰度。很多時候,我們在多個邏輯過程中,通過臨時表的方式進行任務的串行,使用with...as...能達到類似的效果。同時with...as...可以深層嵌套,因此是比較好的一種選擇方式。無論是線上任務還是視圖,都可以使用CTE的寫法——目前比較遺憾的是HIVE的CTE目前不支持遞歸。

代碼示例(可以使用多個with,抽出代碼片段):

with a as (
    select * from test1
    where xxx = xxx
)
,
b as (
    select * from a
)
select * from b limit 100;
  • 物化設置

由于with...as...等同于一個SQL片段,下文中會多次引用該片段的別名,相當于視圖的味道。所以,這里面使用是一個虛擬的概念,實際上只是邏輯生效,實際運行是則是翻譯成實際的MR邏輯去執(zhí)行,如果下游引用該SQL片段較多,這時候MR執(zhí)行會多次掃描原始數(shù)據(jù),執(zhí)行多次相同的MR操作邏輯,此時,就可以在第一次執(zhí)行中來物化CTE寫法中定義的SQL片段,從而達到優(yōu)化的目的。在hive之前的版本中,該功能是默認關閉的,可以通過下面參數(shù)來開啟,在新的hive版本中,該功能是默認開啟,但是默認引用次數(shù)是3次。

社區(qū)版hive 如下所示,我們的ODPS 下,大家無需太多關注,這部分做技術擴展和了解即可。

圖片

圖片

  • FROM使用(一讀多寫)
  • FROM也是本人在實際研發(fā)中遇到多路輸出時采用比較多的一種手段之一。當有多個不同的分區(qū),或者多個不同的目標輸出,或者有多個不同的子邏輯的過程中,可以將主邏輯全部開發(fā)完成,然后再進行多路輸出。多路輸出操作的使用限制如下:
  • 單條 multi insert語句中最多可以寫255路輸出。超過255路,會上報語法錯誤。
  • 單條 multi insert語句中,對于分區(qū)表,同一個目標分區(qū)不允許出現(xiàn)多次。
  • 單條 multi insert語句中,對于非分區(qū)表,該表不能出現(xiàn)多次。

比如在流量業(yè)務場景時,需要寫動態(tài)分區(qū),就可以使用from,一個代碼小例子:

from (
   select aa,bb,pt,sec_pt from test
)
insert OVERWRITE table du_temp.temp_01 partition (pt = 'xx',sec_pt = 'test1' )
select aa,bb where sec_pt = 'test1'
insert OVERWRITE table du_temp.temp_01 partition (pt = 'xx',sec_pt = 'test2' )
select aa,bb where sec_pt = 'test2'

4、思考&總結

在數(shù)據(jù)研發(fā)領域,數(shù)據(jù)的技術手段無論多么豐富,平臺發(fā)展何等完善,都不能說能解決業(yè)務的所有問題。一定是先有業(yè)務,才會有對應的問題。在面對大數(shù)據(jù)量,高時效性,高復雜計算的場景,我們需要結合業(yè)務的特性,模型的改造,鏈路的設計,甚至打破常規(guī)等方式來產(chǎn)出不同的方案。在另一個方面,數(shù)據(jù)研發(fā)的工作也遠遠不是單點問題的解決和兜底,相反需要各方的配合與共同的智慧。

責任編輯:武曉燕 來源: 得物技術
相關推薦

2024-10-06 12:56:36

Golang策略設計模式

2022-11-07 08:01:18

Git分支管理

2024-02-29 18:06:39

HTTP性能優(yōu)化

2021-01-14 08:58:12

Synchronize鎖操作

2019-10-25 10:53:06

物聯(lián)網(wǎng)技術開發(fā)

2020-12-31 05:33:34

軟件性能優(yōu)化

2023-07-26 15:46:26

數(shù)據(jù)中心數(shù)據(jù)存儲

2019-08-04 20:09:14

物聯(lián)網(wǎng)數(shù)據(jù)物聯(lián)網(wǎng)IOT

2024-08-26 13:23:26

2021-06-11 06:54:35

DPDK優(yōu)化HugeTLB

2023-09-01 08:59:57

2023-05-10 10:30:02

性能優(yōu)化Tomcat

2016-12-14 19:04:16

Spark SQL優(yōu)化

2014-10-30 17:18:27

vForum2014

2024-09-04 09:18:03

分區(qū)策略

2021-12-10 18:19:14

授權 Linkerd策略

2025-10-28 01:55:00

2010-11-15 16:13:24

Oracle數(shù)據(jù)庫性能

2023-12-02 20:41:32

內(nèi)存kube

2024-11-22 00:09:15

點贊
收藏

51CTO技術棧公眾號

国产精品一级黄| 午夜欧洲一区| 午夜私人影院久久久久| 欧美日韩免费高清| 国产999久久久| 亚洲永久在线| 色婷婷综合成人av| 日本一级片在线播放| 中文.日本.精品| 亚洲一区二区三区视频在线播放 | 欧美日韩直播| 欧美日韩高清在线播放| 男人日女人视频网站| 成人高潮成人免费观看| 国产成a人亚洲精品| 国产精品精品视频一区二区三区| 亚洲国产精品免费在线观看| 蜜桃精品wwwmitaows| 日韩一区二区三| 亚洲精品视频导航| 九色porny自拍视频在线观看| 中文字幕av一区二区三区| 国产在线精品一区二区中文| 国产女人18毛片水真多| 久久久国产精品一区二区中文| 久久高清视频免费| youjizz亚洲女人| 女人av一区| 亚洲国产小视频| 丰满人妻一区二区三区53视频| 朝桐光一区二区| 精品动漫一区二区| 青青在线视频免费观看| av电影在线网| 亚洲国产精品二十页| 久久影院理伦片| 二区三区在线视频| 国产91精品精华液一区二区三区| 国产欧美一区二区三区四区| 欧美特级黄色片| 性欧美videos另类喷潮| 国内精品久久久| 久久综合久久鬼| 午夜精品国产| 欧美成人中文字幕| 一级黄色录像视频| 91精品福利| 超碰日本道色综合久久综合| 国产一区二区三区在线视频观看| 久久亚洲影视| www.欧美三级电影.com| 女人裸体性做爰全过| 久久综合成人| 操日韩av在线电影| 精品一区在线观看视频| 欧美精选一区| 久久人人爽人人爽人人片av高清| 久久久精品一区二区涩爱| 红桃视频国产精品| 久久久免费av| 久久久精品福利| 亚洲免费网址| 国产精品18久久久久久首页狼| 波多野结衣电车| 麻豆精品国产91久久久久久| 成人在线视频网| 精品国产av一区二区三区| 国产精品一区二区黑丝| 国产精品swag| 日本人妖在线| 国产精品美女一区二区三区| 91香蕉视频网址| 久久五月精品中文字幕| 偷拍与自拍一区| 蜜臀av午夜一区二区三区| 成人国产网站| 日韩一区二区麻豆国产| 国产免费一区二区三区最新6| 校园春色另类视频| 在线观看91久久久久久| avtt天堂在线| 国产一区二区高清| 成人妇女免费播放久久久| 精品免费久久久| www国产亚洲精品久久麻豆| 亚洲 国产 欧美一区| 99成人在线观看| 五月激情久久久| 97欧美精品一区二区三区| 午夜视频网站在线观看| 国产精品一区二区久久精品爱涩| 韩国成人动漫在线观看| av网站在线播放| 亚洲一级在线观看| 亚洲第一中文av| 一区二区三区在线资源| 亚洲社区在线观看| 天天综合天天做| 亚洲欧美激情诱惑| 91中文精品字幕在线视频| 四虎影视2018在线播放alocalhost | 国产成人福利视频| 精品久久久免费视频| 久久天天做天天爱综合色| 裸体裸乳免费看| 日韩电影av| 精品久久久影院| 香蕉久久久久久久| 亚洲永久视频| 国产亚洲精品自在久久| 日本黄色片在线观看| 欧美色另类天堂2015| wwwxxx色| 999成人网| 国产91精品网站| 成人乱码一区二区三区| 国产精品视频在线看| 老太脱裤子让老头玩xxxxx| 在线播放成人| 色诱女教师一区二区三区| 亚洲午夜18毛片在线看| 成人性生交大合| 法国空姐在线观看免费| 成人精品国产亚洲| 亚洲欧美国产高清va在线播| 国产一级性生活| 国产一区999| 亚洲三区四区| 成人小电影网站| 亚洲国产成人久久综合| 国产一级aa大片毛片| 国产综合久久久久久久久久久久| 日本视频一区二区不卡| 中文字幕高清在线播放| 亚洲高清福利视频| 国产亚洲欧美久久久久| 国v精品久久久网| 成人在线免费高清视频| 亚洲一区二区小说| 精品国内亚洲在观看18黄| 亚洲一区二区影视| 中文字幕二三区不卡| av免费中文字幕| 亚洲va久久| 欧美在线激情网| 亚洲欧美综合一区二区| 天天综合网天天综合色| 成人性生活免费看| 午夜一级在线看亚洲| 精品在线不卡| 刘亦菲一区二区三区免费看| 亚洲天堂网在线观看| 国产又粗又猛又爽又| 国产女人18水真多18精品一级做| 欧美少妇性生活视频| 精品国产乱码久久久| 国产成人综合亚洲| 91在线观看| 欧美一区二区三区四区五区| 九九视频免费看| caoporen国产精品视频| 久久成人免费观看| 精品精品99| 91精品久久久久久久久久久久久久 | 在线观看精品国产视频| 夜夜爽8888| 一区二区三区国产豹纹内裤在线| 在线观看免费视频黄| 日韩视频一区二区三区在线播放免费观看 | 国产成人精品一区二三区| 成人av资源站| 国产精品无码av无码| 日韩精品欧美| av一区二区三区四区电影| 日韩深夜视频| 中文字幕欧美视频在线| 国产孕妇孕交大片孕| 一区二区三区日韩| 中文精品在线观看| 美女视频黄频大全不卡视频在线播放| 婷婷视频在线播放| 成人18夜夜网深夜福利网| 热久久这里只有| 黄网站免费在线观看| 精品福利在线导航| 中文字幕日产av| 一区二区欧美精品| 亚洲日本精品视频| 国产一区久久久| 丰满爆乳一区二区三区| 欧美电影一区| 久久精品人人做人人爽电影| 久久国内精品| 久久久免费精品视频| 日本在线观看免费| 欧美成人a∨高清免费观看| 福利网址在线观看| 亚洲精品国产精华液| 美女100%无挡| 粉嫩高潮美女一区二区三区 | 黑人巨大精品一区二区在线| 91在线观看地址| 天天操狠狠操夜夜操| 99精品福利视频| 韩国黄色一级大片| 国产欧美日韩视频在线| 国产精品v欧美精品v日韩| 欧美精品资源| 97免费中文视频在线观看| 大片免费在线观看| 亚洲性xxxx| 少妇av在线播放| 欧美一卡二卡三卡| 亚洲 小说区 图片区| 婷婷丁香激情综合| 国产性70yerg老太| 亚洲精品免费在线播放| 成人精品一二三区| 国产亚洲综合av| 水蜜桃av无码| 成人av网址在线| 色综合久久久无码中文字幕波多| 蜜臀久久久久久久| aaaaaa亚洲| 国产精品入口| 欧美精品自拍视频| 国产精品v一区二区三区| 中文字幕黄色大片| 欧美亚洲在线日韩| 久久伊人资源站| 丝袜久久网站| 久久99影院| 日韩精选在线| 久久爱av电影| 欧亚精品一区| 久久久久久久久久久一区| 操欧美女人视频| 91九色在线观看| 国产一区二区三区免费在线| 国产在线精品播放| 99精品视频在线免费播放| 国产免费一区二区三区在线能观看| 全亚洲第一av番号网站| 日本不卡高字幕在线2019| 中文在线最新版地址| 日韩av电影国产| 三级成人在线| 国产精品久久久久高潮| 国产精品高潮久久| 国产主播欧美精品| 精品一区91| 99在线热播| 啪啪国产精品| 欧美一区二区视频17c| 欧美色图激情小说| 亚洲成人第一| 2023国产精品久久久精品双| 欧美与动交zoz0z| 国产综合婷婷| 欧美视频在线免费播放| 免费视频一区| 波多野结衣天堂| 韩国v欧美v亚洲v日本v| 日韩黄色一区二区| 91亚洲精品久久久蜜桃| 舐め犯し波多野结衣在线观看| 中文字幕不卡的av| 欧美人与禽zozzo禽性配| 精品久久久久久| 国产精品xxxxxx| 日韩午夜精品电影| 少妇高潮久久久| 亚洲丝袜在线视频| 国产剧情在线| 亚州av一区二区| 三上悠亚国产精品一区二区三区| 国产精品女人久久久久久| 经典三级久久| 久久久久久精| 亚洲精品a级片| 激情综合在线观看| 狠狠色伊人亚洲综合成人| 无码成人精品区在线观看| 欧美激情一区二区三区| 免费视频一二三区| 色8久久精品久久久久久蜜| 国产欧美日韩成人| 日韩精品中文字| 黄色精品在线观看| 9.1国产丝袜在线观看| 成人免费黄色| 久久福利电影| 亚洲第一偷拍| 啊啊啊一区二区| 久久97超碰国产精品超碰| 一级欧美一级日韩片| 欧美激情在线看| 日本在线免费观看| 欧美日韩国产片| 神马亚洲视频| 欧美国产日韩一区二区在线观看| 日本精品不卡| 官网99热精品| 色999日韩| 欧美性大战久久久久xxx| 国产主播一区二区| 欧美黄色激情视频| 午夜精品久久久久久不卡8050| 在线观看视频中文字幕| 精品亚洲一区二区三区在线播放| 国产视频在线播放| 国产精品黄色影片导航在线观看| 国产丝袜一区| 日本大胆人体视频| 久草在线在线精品观看| 性高潮久久久久久久| 亚洲大片在线观看| 亚洲a视频在线| 久久九九亚洲综合| 成人在线观看免费视频| 蜜桃成人在线| 一本色道久久综合亚洲精品不| 免费不卡av网站| 综合色中文字幕| 国产精品欧美激情在线| 国产一区二区三区18| 欧美第一视频| 欧美大香线蕉线伊人久久国产精品| 欧美日韩ab| 少妇性l交大片7724com| 亚洲色图.com| 国产尤物视频在线观看| 尤物yw午夜国产精品视频| www.成人影院| 欧美一区二区三区四区夜夜大片| 国产亚洲欧洲| 中文字幕一二三四区| 午夜精品在线视频一区| 深爱五月激情五月| 97成人精品视频在线观看| 国产精品对白久久久久粗| 91.com在线| 成人福利在线看| 国产精品50页| 亚洲国产高清福利视频| 九色porny丨国产首页在线| 九九热久久66| 久久aⅴ乱码一区二区三区| 91国内揄拍国内精品对白| 精品电影在线| 日本乱人伦a精品| 精品高清久久| 色戒在线免费观看| 一区精品在线播放| 国产女人18毛片水18精| 欧美美女操人视频| 99这里只有精品视频| 大j8黑人w巨大888a片| 久久久久久97三级| 中文字幕av影视| 操91在线视频| 精品视频高潮| 日本一极黄色片| 亚洲欧洲性图库| www.日日夜夜| 人体精品一二三区| 久久一区二区三区电影| 女王人厕视频2ⅴk| 天天综合网天天综合色| 国产www.大片在线| 91欧美精品午夜性色福利在线| 欧美日本不卡| 日韩人妻无码一区二区三区| 在线免费不卡视频| 成人欧美在线| 久久亚洲午夜电影| 久久电影网电视剧免费观看| 欧美日韩偷拍视频| 国产视频自拍一区| 日本在线一区二区| 日韩xxxx视频| 日本一区二区在线不卡| 国产精品色综合| 136fldh精品导航福利| 成人精品天堂一区二区三区| 性一交一黄一片| 色天使色偷偷av一区二区| 超碰在线caoporen| 欧美日韩电影一区二区| 激情亚洲综合在线| 天天干在线播放| 久久夜精品va视频免费观看| 一区二区导航| 中文字幕人妻无码系列第三区| 欧美日韩国产精品一区二区三区四区| 最新97超碰在线| 国产一区二区三区免费不卡| 免费国产亚洲视频| 日韩欧美亚洲一区二区三区| 久久激情视频久久|