精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产乱码精品一区二区三区亚洲人| 色一情一乱一乱一区91av| 成人激情开心网| 欧美色图一区二区三区| 日本精品福利视频| 日本一级在线观看| 日本网站在线观看一区二区三区| 久久视频免费在线播放| 手机在线看片日韩| 疯狂欧洲av久久成人av电影| 天天影视网天天综合色在线播放| 亚洲va久久久噜噜噜久久狠狠| 国产精品一区二区久久国产| 国产日韩第一页| 亚洲AV无码乱码国产精品牛牛| 国产中文字幕在线| 91综合精品国产丝袜长腿久久| 一区二区三区四区高清精品免费观看 | 欧美男男video| 成人午夜免费电影| 国产不卡视频在线播放| 欧美久久一二区| av免费看网址| 秋霞成人影院| 久久综合九色综合97婷婷女人 | 黄色网址在线免费看| 日韩美女一级视频| 高清视频一区二区| 91久久久久久久一区二区| 中文字幕av影院| 欧美日韩精品| www日韩中文字幕在线看| 91视频在线网站| 欧美激情影院| 亚洲第一页自拍| 26uuu国产| 色婷婷成人网| 精品视频1区2区3区| 日韩成人在线一区| 午夜亚洲视频| 欧美肥臀大乳一区二区免费视频| 日本一级免费视频| 国偷自产av一区二区三区| 欧美日韩精品二区第二页| 亚洲色图欧美制服丝袜另类第一页| 五月婷婷狠狠操| 中文字幕人成乱码在线观看 | 亚洲熟女www一区二区三区| 欧美一级精品片在线看| 亚洲日本中文字幕| 亚洲久久久久久久| 红桃成人av在线播放| 亚洲欧美国产精品| 扒开jk护士狂揉免费| 亚洲精品小区久久久久久| 亚洲国产精品va在线看黑人动漫| 亚洲精品鲁一鲁一区二区三区 | h片在线观看下载| 亚洲国产毛片aaaaa无费看| 久操手机在线视频| 人交獸av完整版在线观看| 亚洲激情五月婷婷| h无码动漫在线观看| av资源在线看片| 狠狠色狠色综合曰曰| 国产精品第12页| 福利视频亚洲| 91麻豆精品国产综合久久久久久| 一级网站在线观看| 成人av动漫| 精品中文字幕久久久久久| 全黄一级裸体片| 成人在线免费视频观看| 久久久国产成人精品| 久久网免费视频| 午夜一级在线看亚洲| 国产精品aaaa| 国产美女明星三级做爰| 成人午夜av电影| 欧美日韩在线一区二区三区| 无遮挡的视频在线观看| 一区二区在线观看不卡| 国产资源在线视频| 在线一区视频观看| 日韩色在线观看| 大地资源二中文在线影视观看| 国产精品免费大片| 久久久成人精品| 国产成人亚洲精品自产在线| 石原莉奈在线亚洲二区| 成人久久18免费网站图片| 丰满岳乱妇国产精品一区| 国产亚洲女人久久久久毛片| 中文字幕日韩一区二区三区不卡| 青草青在线视频| 91黄色在线观看| 99热这里只有精品2| 九热爱视频精品视频| 久久天天躁夜夜躁狠狠躁2022| 国产真实乱人偷精品视频| 日韩精品每日更新| 成人av免费看| 91网页在线观看| 亚洲国产va精品久久久不卡综合 | 精品在线观看免费| 国产一区福利视频| 理论片午午伦夜理片在线播放| 亚洲成人免费视频| 爱豆国产剧免费观看大全剧苏畅| 好吊妞视频这里有精品| 日韩在线观看免费高清| 日韩毛片一区二区三区| 国产另类ts人妖一区二区| 欧美成人综合一区| 国产嫩草在线视频| 欧美久久久影院| 色哟哟精品观看| 亚洲高清二区| 亚洲精品日产aⅴ| 成年人视频网站在线| 精品人伦一区二区三区蜜桃免费| 手机在线国产视频| 精品国产一区二区三区久久久蜜臀| 欧美激情极品视频| www.成人免费视频| 中文字幕一区二区三区av| 麻豆av免费在线| 欧美调教在线| 久久免费视频在线观看| 亚洲黄色在线观看视频| 亚洲欧美成人一区二区三区| 亚洲天堂av线| 精品久久成人| 国产99久久精品一区二区| 午夜影院免费体验区| 亚洲综合自拍偷拍| 久久发布国产伦子伦精品| 888av在线视频| 亚洲欧美大片| 日韩欧美电影一二三| 超碰97av在线| 日韩精品电影在线| 日本在线观看一区二区| 国产精品av一区二区三区 | 亚洲黄色片免费看| 久久国产电影| 国产欧美va欧美va香蕉在| 电影av一区| 欧美日韩中文字幕精品| 亚洲精品成人av久久| 日本成人超碰在线观看| 亚洲国产精品日韩| 亚洲精品一区av| 久久精品国产欧美激情| 国产亲伦免费视频播放| 亚洲三级在线免费| 女人扒开腿免费视频app| 欧美喷水视频| 精品国产aⅴ麻豆| 亚洲v.com| 国产一区二区三区免费视频| 中国老头性行为xxxx| 中文字幕一区免费在线观看| 在线免费黄色网| 黄色日韩精品| 欧美国产视频在线观看| 国产经典一区| 美女视频黄免费的亚洲男人天堂| 国产浮力第一页| 午夜精品国产更新| 中文字幕第4页| 看电视剧不卡顿的网站| 国产激情在线看| 老司机在线精品视频| 国产精品1区2区在线观看| 午夜小视频在线| 日韩欧美精品在线| av大片免费观看| 国产精品久久久久影院亚瑟| 国产xxxxhd| 午夜在线精品| 美国av在线播放| 欧美黑人巨大videos精品| 国产精品video| www久久日com| 国产丝袜一区二区三区| 一区二区的视频| 香蕉加勒比综合久久| 高清国产在线观看| 国产成人一区二区精品非洲| 丁香啪啪综合成人亚洲| 欧美.www| 色综合电影网| 久本草在线中文字幕亚洲| 国产欧美日韩视频| 国产高清视频色在线www| 在线观看免费高清视频97| 超碰人人人人人人| 欧美写真视频网站| 久久午夜无码鲁丝片午夜精品| 国产亚洲一二三区| 丰满少妇xbxb毛片日本| 久久国产精品99精品国产| 人妻av中文系列| 99精品在线观看| 久久伊人一区二区| 久久久久久久久久久久电影| 欧美在线观看视频| 亚洲男同gay网站| 在线成人中文字幕| 午夜国产在线观看| 日韩无一区二区| 依依成人在线视频| 欧美性猛交99久久久久99按摩| 好吊色视频在线观看| 国产欧美一区二区精品忘忧草| 特级特黄刘亦菲aaa级| 国产综合色视频| 手机视频在线观看| 老司机精品视频网站| 男人日女人视频网站| 欧美精品福利| 综合操久久久| 久久国产亚洲精品| 日本在线观看一区二区| 蜜桃成人av| 久久99精品久久久久子伦| jazzjazz国产精品久久| 91亚洲va在线va天堂va国| 国产综合色在线观看| 热久久这里只有精品| 国产精品论坛| 97精品国产91久久久久久| 国产蜜臀av在线播放| 久久99精品视频一区97| 麻豆传媒视频在线| 精品国产美女在线| 麻豆影院在线观看| 久久精彩免费视频| 欧美极品视频| 久久手机免费视频| h片在线播放| 欧美成人亚洲成人| 色呦呦在线播放| 欧美激情成人在线视频| ****av在线网毛片| 久久久综合免费视频| 国产福利电影在线播放| 992tv成人免费视频| 深夜在线视频| 日韩av片免费在线观看| 日本精品网站| 91久久国产精品91久久性色| 亚洲精品tv| 91一区二区三区| 久久亚洲道色| 欧美日韩国产高清视频| 欧美久久精品一级c片| 一区二区三视频| 最新国产精品| 91丨porny丨探花| 免费看亚洲片| 日本黄大片一区二区三区| 精品午夜久久福利影院| 中文字幕乱妇无码av在线| 成人国产精品免费网站| 日本aaa视频| 久久久久久久久久久久久久久99| 丁香激情五月少妇| 亚洲男人电影天堂| 日本天堂网在线观看| 欧美性猛交xxxx富婆| 做爰视频毛片视频| 日韩一区二区高清| 午夜在线观看视频18| 尤物九九久久国产精品的特点| 老司机精品影院| 性色av一区二区三区红粉影视| 在线日本欧美| 99久久久久国产精品免费| 亚洲精品亚洲人成在线观看| 亚洲一二三区在线| 在线电影一区| 亚洲一区二区蜜桃| 国产成人精品影视| 欧美另类z0zx974| 亚洲精品成人精品456| jizz国产在线观看| 日韩欧美在线一区二区三区| 手机亚洲第一页| 欧美精品一区二区三区国产精品| 日本免费久久| 99理论电影网| 久久视频在线| 99爱视频在线| 国产精品99久| 九九九视频在线观看| 亚洲高清不卡在线| 伊人网av在线| 亚洲欧洲日产国码av系列天堂| 91高清在线观看视频| 国产mv免费观看入口亚洲| 欧美大片91| 亚洲国产一区二区在线| 亚洲精品影院在线观看| 在线观看免费视频污| 久久精品网站免费观看| 日韩精品乱码久久久久久| 欧美久久免费观看| 国产二区视频在线观看| 国内揄拍国内精品少妇国语| 亚洲伊人精品酒店| 亚洲精品高清国产一线久久| 一区二区久久| 国产伦理在线观看| 亚洲欧洲性图库| 蜜臀99久久精品久久久久小说| 精品国产第一区二区三区观看体验| 美女羞羞视频在线观看| 国产精品一二三在线| 狠狠色丁香婷婷综合影院| 欧美日韩成人免费视频| 成人一区二区三区视频 | 午夜不卡在线视频| 国内精品偷拍视频| 日韩有码视频在线| 国产精品亚洲成在人线| 日本精品视频一区| 亚洲在线日韩| av鲁丝一区鲁丝二区鲁丝三区| 一区二区激情小说| 99久久国产免费| 久久精品国产久精国产一老狼| 国产一区精品福利| 久久一区免费| 久久精品女人天堂| 欧美性xxxx图片| 精品久久久久久久久久国产| 丁香六月天婷婷| 高清欧美性猛交| 精品福利一区| 国自产拍偷拍精品啪啪一区二区| 成人免费高清视频| 亚洲一区欧美在线| 精品亚洲一区二区三区| 国产va在线视频| 蜜桃久久精品乱码一区二区| 国产欧美一区二区色老头 | 中文字幕在线不卡一区| 97超碰人人草| 麻豆乱码国产一区二区三区| 精品午夜视频| 国产成人永久免费视频| 国产精品一区二区三区四区| 欧美黑吊大战白妞| 精品少妇一区二区三区| 精品众筹模特私拍视频| 国产精选一区二区| 久久久天天操| 俄罗斯毛片基地| 在线播放日韩导航| 在线看三级电影| 国产视频一区二区不卡| 免费在线欧美黄色| 永久免费观看片现看| 91麻豆精品国产91久久久资源速度| 综合久久2019| 久久久久无码国产精品一区| 日韩专区一卡二卡| 午夜激情福利电影| 亚洲第一网站免费视频| 亚洲成人一区在线观看| 天天综合五月天| 91片黄在线观看| 亚洲天堂一二三| 久久久免费高清电视剧观看| 伊甸园亚洲一区| 97人人模人人爽人人澡| 狠狠躁18三区二区一区| 日本高清视频在线播放| 国产欧美一区二区在线播放| 日韩精品一二区| 国产中文字幕免费| 中文国产亚洲喷潮| 清纯唯美激情亚洲| 激情网站五月天| 亚洲欧美成aⅴ人在线观看| 日韩av资源站| 18成人在线| 久久亚洲欧美| 免费在线观看av网址| 亚洲人a成www在线影院| 日本综合精品一区| 国产综合免费视频| 一区二区三区精密机械公司| 欧美日韩国产综合视频| 99在线视频播放| 麻豆精品在线播放| 国产精品久久久久久99| 欧美成人免费全部|