国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

唯品會億級數(shù)據(jù)服務(wù)平臺落地實踐

共 10119字,需瀏覽 21分鐘

 ·

2021-07-30 17:19

數(shù)據(jù)服務(wù)是數(shù)據(jù)中臺體系中的關(guān)鍵組成部分。作為數(shù)倉對接上層應(yīng)用的統(tǒng)一出入口,數(shù)據(jù)服務(wù)將數(shù)倉當(dāng)作一個統(tǒng)一的 DB 來訪問,提供統(tǒng)一的 API 接口控制數(shù)據(jù)的流入及流出,能夠滿足用戶對不同類型數(shù)據(jù)的訪問需求。


電商平臺唯品會的數(shù)據(jù)服務(wù)自 2019 年開始建設(shè),在公司內(nèi)經(jīng)歷了從無到有落地,再到為超過 30+業(yè)務(wù)方提供 to B、to C 的數(shù)據(jù)服務(wù)的過程。本文主要介紹唯品會自研數(shù)據(jù)服務(wù) Hera 的相關(guān)背景、架構(gòu)設(shè)計和核心功能。

背景

在統(tǒng)一數(shù)倉數(shù)據(jù)服務(wù)之前,數(shù)倉提供的訪問接入方式往往存在效率問題低、數(shù)據(jù)指標難統(tǒng)一等問題,具體而言有以下幾個比較突出的情況:

  • 廣告人群 USP、DMP 系統(tǒng)每天需要通過 HiveServer 以流的方式從數(shù)倉導(dǎo)出數(shù)據(jù)到本地,每個人群的數(shù)據(jù)量從幾十萬到幾個億,人群數(shù)量 2w+,每個人群運行時間在 30min +,部分大人群的運行直接超過 1h,在資源緊張的情況下,人群延遲情況嚴重。

  • 數(shù)倉的數(shù)據(jù)在被數(shù)據(jù)產(chǎn)品使用時,需要為每個表新生成一個單獨的接口,應(yīng)用端需要為每一種訪問方式(如 Presto、ClickHouse)區(qū)分使用不同的接口,導(dǎo)致數(shù)據(jù)產(chǎn)品接口暴漲,不方便維護,影響開發(fā)及維護效率。數(shù)據(jù)在不同的存儲時,需要包含 clickhouse-client,presto-client 等等第三方 jar 包。

  • 不同數(shù)據(jù)產(chǎn)品中都需要使用一些常用的數(shù)據(jù)指標,如銷售額、訂單數(shù)、PV、UV 等,而這些數(shù)據(jù)在不同數(shù)據(jù)產(chǎn)品的實現(xiàn)口徑、實現(xiàn)方式都不一樣,無法形成數(shù)據(jù)共享,每個數(shù)據(jù)產(chǎn)品都重復(fù)進行相同的指標建設(shè)。因此,在不同數(shù)據(jù)產(chǎn)品查看相同指標卻發(fā)現(xiàn)數(shù)值不同的情況下,難以判斷哪個數(shù)據(jù)產(chǎn)品提供的數(shù)據(jù)是準確的。


圖 1.在統(tǒng)一數(shù)倉數(shù)據(jù)服務(wù)之前,數(shù)據(jù)流入流出方式


為解決以上問題,數(shù)據(jù)服務(wù)應(yīng)運而生。目前數(shù)據(jù)服務(wù)的主要優(yōu)勢有:屏蔽底層的存儲引擎、計算引擎,使用同一個 API(one service),數(shù)倉數(shù)據(jù)分層存儲,不同 engine 的 SQL 生成能力,自適應(yīng) SQL 執(zhí)行以及統(tǒng)一緩存架構(gòu)保障業(yè)務(wù) SLA,支持數(shù)據(jù)注冊并授權(quán)給任何調(diào)用方進行使用,提高數(shù)據(jù)交付效率。


通過唯一的 ID 標識,數(shù)據(jù)產(chǎn)品可通過 ID 查閱數(shù)據(jù),而非直接訪問對應(yīng)的數(shù)倉表。一方面,指標服務(wù)統(tǒng)一了指標的口徑,同時也支持快速構(gòu)建新的數(shù)據(jù)產(chǎn)品。

架構(gòu)設(shè)計

數(shù)據(jù)服務(wù)能給業(yè)務(wù)帶來運營和商業(yè)價值,核心在于給用戶提供自助分析數(shù)據(jù)能力。Hera 整體架構(gòu)基于典型的 Master/slave 模型,數(shù)據(jù)流與控制流單獨鏈路,從而保障系統(tǒng)的高可用性。數(shù)據(jù)服務(wù)系統(tǒng)主要分為三層:


  1. 應(yīng)用接入層:業(yè)務(wù)申請接入時,可以根據(jù)業(yè)務(wù)要求選擇數(shù)據(jù)服務(wù) API(TCP Client), HTTP 以及 OSP 服務(wù)接口(公司內(nèi)部 RPC 框架)。

  2. 數(shù)據(jù)服務(wù)層:主要執(zhí)行業(yè)務(wù)提交的任務(wù),并返回結(jié)果。主要功能點包括:路由策略,多引擎支持,引擎資源配置,引擎參數(shù)動態(tài)組裝,SQLLispengine 生成,SQL 自適應(yīng)執(zhí)行,統(tǒng)一數(shù)據(jù)查詢緩存,F(xiàn)reeMaker SQL 動態(tài)生成等功能。

  3. 數(shù)據(jù)層:業(yè)務(wù)查詢的數(shù)據(jù)無論在數(shù)倉、Clickhouse、MySQL 還是 Redis 中,都可以很好地得到支持,用戶都使用同一套 API。


圖 2. 數(shù)據(jù)服務(wù)整體架構(gòu)圖


調(diào)度系統(tǒng)的整體流程大致包含以下模塊:

  • Master:負責(zé)管理所有的 Worker、TransferServer、AdhocWorker 節(jié)點,同時負責(zé)調(diào)度分發(fā)作業(yè);

  • Worker:負責(zé)執(zhí)行 ETL 和數(shù)據(jù)文件導(dǎo)出類型的作業(yè),拉起 AdhocWorker 進程(Adhoc 任務(wù)在 AdhocWorker 進程中的線程池中執(zhí)行),ETL 類型的作業(yè)通過子進程的方式完成;

  • Client:客戶端,用于編程式地提交 SQL 作業(yè);

  • ConfigCenter:負責(zé)向集群推送統(tǒng)一配置信息及其它運行時相關(guān)的配置和 SQLParser (根據(jù)給定的規(guī)則解析、替換、生成改寫 SQL 語句,以支持不同計算引擎的執(zhí)行);

  • TransferServer:文件傳輸服務(wù)。


圖 3. 數(shù)據(jù)服務(wù)調(diào)度流程圖

主要功能

Hera 數(shù)據(jù)服務(wù)的主要功能有:多隊列調(diào)度策略、多引擎查詢、多任務(wù)類型、文件導(dǎo)出、資源隔離、引擎參數(shù)動態(tài)組裝、自適應(yīng) Engine 執(zhí)行和 SQL 構(gòu)建。

多隊列調(diào)度策略

數(shù)據(jù)服務(wù)支持按照不同用戶、不同任務(wù)類型并根據(jù)權(quán)重劃分不同調(diào)度隊列,以滿足不同任務(wù)類型的 SLA。

多引擎查詢

數(shù)據(jù)服務(wù)支持目前公司內(nèi)部所有 OLAP 和數(shù)據(jù)庫類型,包括 Spark、Presto、Clickhouse、Hive 、MySQL、Redis。會根據(jù)業(yè)務(wù)具體場景和要求,選擇當(dāng)前最佳的查詢引擎。

多任務(wù)類型

數(shù)據(jù)服務(wù)支持的任務(wù)類型有:ETL、Adhoc、文件導(dǎo)出、數(shù)據(jù)導(dǎo)入。加上多引擎功能,實現(xiàn)多種功能組合,如 Spark adhoc 和 Presto adhoc。

文件導(dǎo)出

主要是支持大量的數(shù)據(jù)從數(shù)據(jù)倉庫中導(dǎo)出,便于業(yè)務(wù)分析和處理,比如供應(yīng)商發(fā)券和信息推送等。


具體執(zhí)行過程如下:用戶提交需要導(dǎo)出數(shù)據(jù)的 SQL,通過分布式 engine 執(zhí)行完成后,落地文件到 hdfs/alluxio. 客戶端通過 TCP 拉取文件到本地。千萬億級的數(shù)據(jù)導(dǎo)出耗時最多 10min。數(shù)據(jù)導(dǎo)出在人群數(shù)據(jù)導(dǎo)出上性能由原來的 30min+ ,提升到最多不超過 3min,性能提升 10~30 倍。具體流程如下:


圖 4. 數(shù)據(jù)服務(wù)文件下載流程圖

資源隔離(Worker 資源和計算資源)

業(yè)務(wù)一般分為核心和非核心,在資源分配和調(diào)度上也不同。主要是從執(zhí)行任務(wù) Worker 和引擎資源,都可以實現(xiàn)物理級別的隔離,最大化減少不同業(yè)務(wù)之間相互影響。

引擎參數(shù)動態(tài)組裝

線上業(yè)務(wù)執(zhí)行需要根據(jù)業(yè)務(wù)情況進行調(diào)優(yōu),動態(tài)限制用戶資源使用,集群整體切換等操作,這個時候就需要對用戶作業(yè)參數(shù)動態(tài)修改,如 OLAP 引擎執(zhí)行任務(wù)時,經(jīng)常都要根據(jù)任務(wù)調(diào)優(yōu),設(shè)置不同參數(shù)。針對這類問題,數(shù)據(jù)服務(wù)提供了根據(jù)引擎類型自動組裝引擎參數(shù),并且引擎參數(shù)支持動態(tài)調(diào)整,也可以針對特定任務(wù)、執(zhí)行賬號、業(yè)務(wù)類型來設(shè)定 OLAP 引擎執(zhí)行參數(shù)。

自適應(yīng) Engine 執(zhí)行

業(yè)務(wù)方在查詢時,有可能因為引擎資源不足或者查詢條件數(shù)據(jù)類型不匹配從而導(dǎo)致執(zhí)行失敗。為了提高查詢成功率和服務(wù) SLA 保障,設(shè)計了 Ad Hoc 自適應(yīng)引擎執(zhí)行,當(dāng)一個引擎執(zhí)行報錯后,會切換到另外一個引擎繼續(xù)執(zhí)行。具體自適應(yīng)執(zhí)行邏輯如下圖所示:


圖 5. 自適應(yīng) Engine 執(zhí)行

SQL 構(gòu)建

數(shù)據(jù)服務(wù) SQL 構(gòu)建基于維度事實建模,支持單表模型、星型模型和雪花模型。

  • 單表模型:一張事實表,一般為 DWS 或者 ADS 的匯總事實表。

  • 星型模型:1 張事實表(如 DWD 明細事實表)+ N 張維表,例如訂單明細表 (事實表 FK=商品 ID) +  商品維表 (維度表 PK=商品 ID) 。

  • 雪花模型:1 張事實表(如 DWD 明細事實表)+ N 張維表+M 張沒有直接連接到事實表的維表,例如訂單明細表 (事實表 FK=商品 ID) +  商品維表 (維度表 PK=商品 ID,F(xiàn)K=品類 ID)  +  品類維表(維度表 PK=品類 ID)。


圖 6.SQL 維度模型

自定義語法(Lisp)描述指標的計算公式

Lisp 是一套自定義的語法,用戶可以使用 Lisp 來描述指標的計算公式。其目標是為了構(gòu)建統(tǒng)一的指標計算公式處理范式,屏蔽底層的執(zhí)行引擎的語法細節(jié),最大化優(yōu)化業(yè)務(wù)配置和生成指標的效率。


Lisp 總體格式 (oprator param1 param2 ...) param 可以是一個參數(shù),也可以是一個 Lisp 表達式。目前已經(jīng)實現(xiàn)的功能:

  • 聚合表達式

(count x [y,z...]), count distinct x over (partition by y,z);


在 Presto 中的實現(xiàn)是 approx_distinct(x,e) over (partition by y,z),在 Spark 中的實現(xiàn)是 approx_count_distinct(x,e) over (partition by y,z)。y,z 只在開窗函數(shù)模式下才生效。目前也支持嵌套的聚合表達式(sum (sum (max x)))。


  • 條件表達式

case when 實現(xiàn) when1 為條件 bool 或者被比較值 then1 為對應(yīng)輸出 elseX 為最后的 else 輸出


簡單模式  (case value val1 then1 [val2 then2] ... [elseVal])

eg:(case subject_id (int 2) (int 1)) ->  case subject_id when 2 then 1 end)


查找模式  (case when1 then1 [when2 then2] ... [elseVal])

eg:(case (= subject_id (string goods_base)) (int 2) (int 1)) ->  case when subject_id = 'goods_base' then 2 else 1 end


  • 類型標識表達式

(int xx)        xx 標識成 數(shù)字型

(string xx)    xx 標識成 字符串類型

null             直接返回 null


  • 類型轉(zhuǎn)換表達式

(cast bigint xx)

(cast double xx)

(cast string xx)


  • 聚合通用表達式

(func a b c ...) 通用 Lisp 表達式  a 為函數(shù)名 后續(xù)字段為表達式元素  如 (func bar 1 2 3) 解析為 bar(1, 2, 3)

  • 非聚合通用表達式

(func_none a b c ...) 通用 Lisp 表達式  a 為函數(shù)名 后續(xù)字段為表達式元素  如 (func_none bar 1 2 3) 解析為 bar(1, 2, 3) ,設(shè)置 Lisp 對象的 aggregation 屬性為 false


例如:(func_none json_extract_scalar 40079 '$.m_name' )

Lisp 語法的解析

Lisp 的解析和翻譯是基于 antlr4 來實現(xiàn)的,處理流程如下:


圖 7. Lisp 處理流程圖

  • Lisp(count x y)表達式通過 antlr 翻譯成語法樹,如下圖所示:


圖 8. 語法樹


  • 通過自定義的 Listener 遍歷語法樹

  • 在遍歷語法樹的過程中,結(jié)合指標的 query engine(presto/spark/clickhouse/mysql)元數(shù)據(jù)生成對應(yīng)的查詢引擎的 SQL 代碼(approx_distinct(x,e) over (partition by y))

任務(wù)調(diào)度

基于 Netty 庫收發(fā)集群消息,系統(tǒng)僅僅使用同一個線程池對象 EventLoopGroup 來收發(fā)消息,而用戶的業(yè)務(wù)邏輯,則交由一個單獨的線程池。


選用 Netty 的另外一個原因是“零拷貝”的能力,在大量數(shù)據(jù)返回時,通過文件的形式直接將結(jié)果送給調(diào)用者。

多隊列+多用戶調(diào)度

業(yè)務(wù)需求通常包含時間敏感與不敏感作業(yè),為了提高作業(yè)的穩(wěn)定性和系統(tǒng)的可配置性,Hera 提供了多隊列作業(yè)調(diào)度的功能。


用戶在提交作業(yè)時可以顯式地指定一個作業(yè)隊列名,當(dāng)這個作業(yè)在提交到集群時,如果相應(yīng)的隊列有空閑,則就會被添加進相應(yīng)的隊列中,否則返回具體的錯誤給客戶端,如任務(wù)隊列滿、隊列名不存在、隊列已經(jīng)關(guān)閉等,客戶端可以選擇“是否重試提交”。


當(dāng)一個作業(yè)被添加進隊列之后,Master 就會立即嘗試調(diào)度這個隊列中的作業(yè),基于以下條件選擇合適的作業(yè)運行:


  1. 每個隊列都有自己的權(quán)重,同時會設(shè)置占用整個集群的資源總量,如最多使用多少內(nèi)存、最多運行的任務(wù)數(shù)量等。

  2. 隊列中的任務(wù)也有自己的權(quán)重,同時會記錄這個作業(yè)入隊的時間,在排序當(dāng)前隊列的作業(yè)時,利用入隊的時間偏移量和總的超時時間,計算得到一個最終的評分。

  3. 除了調(diào)度系統(tǒng)本身的調(diào)度策略外,還需要考慮外部計算集群的負載,在從某個隊列中拿出一個作業(yè)后,再進行一次過濾,或者是先過濾,再進行作業(yè)的評分計算。


一個可用的計算作業(yè)評分模型如下:


隊列動態(tài)因子 = 隊列大小 / 隊列容量 * (1 - 作業(yè)運行數(shù) / 隊列并行度)


這個等式表示的意義是:如果某個隊列正在等待的作業(yè)的占比比較大,同時并行運行的作業(yè)數(shù)占比也比較大時,這個隊列的作業(yè)就擁有一個更大的因子,也就意味著在隊列權(quán)重相同時,這個隊列中的作業(yè)應(yīng)該被優(yōu)先調(diào)度。


作業(yè)權(quán)重 = 1 - (當(dāng)前時間-入隊時間) / 超時時間


這個等式表示的意義是:在同一個隊列中,如果一個作業(yè)的剩余超時時間越少,則意味著此作業(yè)將更快達到超時,因此它應(yīng)該獲得更大的選擇機會。


score = 作業(yè)權(quán)重 + 隊列動態(tài)因子 + 隊列權(quán)重


這個等式表示的意義是:對于所有的隊列中的所有任務(wù),首先決定一個作業(yè)是否優(yōu)先被調(diào)度的因子是設(shè)置的隊列權(quán)重,例如權(quán)重為 10 的隊列的作業(yè),應(yīng)該比權(quán)重為 1 的隊列中的作業(yè)被優(yōu)先調(diào)度,而不管作業(yè)本身的權(quán)重(是否會有很大的機率超時);其次影響作業(yè)調(diào)度優(yōu)先級的因子是隊列動態(tài)因子,例如有兩個相同權(quán)重的隊列時,如果一個隊列的動態(tài)因子為 0.5,另外一個隊列的動態(tài)因子是 0.3,那么應(yīng)該優(yōu)先選擇動態(tài)因子為 0.5 的隊列作業(yè)進行調(diào)度,而不管作業(yè)本身的權(quán)重;最后影響作業(yè)調(diào)度優(yōu)先級的因子是作業(yè)權(quán)重,例如在同一個隊列中,有兩個權(quán)重分別為 0.2 和 0.5 的作業(yè),那么為了避免更多的作業(yè)超時,權(quán)重為 0.2 的作業(yè)應(yīng)該被優(yōu)先調(diào)度。


簡單描述作業(yè)的排序過程就是,首先按隊列權(quán)重排序所有的隊列;對于有重復(fù)的隊列,則會計算每個隊列的動態(tài)因子,并按此因子排序;對于每一個隊列,作業(yè)的排序規(guī)則按作業(yè)的超時比率來排序;最終依次按序遍歷每一個隊列,嘗試從中選擇足夠多的作業(yè)運行,直到作業(yè)都被運行或是達到集群限制條件。這里說足夠多,是指每一個隊列都會有一個最大的并行度和最大資源占比,這兩個限制隊列的參數(shù)組合,是為了避免因某一個隊列的容量和并行度被設(shè)置的過大,可能超過了整個集群,導(dǎo)致其它隊列被“餓死”的情況。

SQL 作業(yè)流程

用戶通過 Client 提交原始 SQL,這里以 Presto SQL 為例,Client 在提交作業(yè)時,指定了 SQL 路由,則會首先通過訪問 SQLParser 服務(wù),在發(fā)送給 Master 之前,會首先提交 SQL 語句到 SQLParser 服務(wù)器,將 SQL 解析成后端計算集群可以支持的 SQL 語句,如 Spark、Presto、ClickHouse 等,為了能夠減少 RPC 交互次數(shù),SQLParser 會一次返回所有可能被改寫的 SQL 語句。


在接收到 SQLParser 服務(wù)返回的多個可能 SQL 語句后,就會填充當(dāng)前的作業(yè)對象,真正開始向 Master 提交運行。


Master 在收到用戶提交的作業(yè)后,會根據(jù)一定的調(diào)度策略,最終將任務(wù)分發(fā)到合適的 Worker 上,開始執(zhí)行。Worker 會首先采用 SQL 作業(yè)默認的執(zhí)行引擎,比如 Presto,提交到對應(yīng)的計算集群運行,但如果因為某種原因不能得到結(jié)果,則會嘗試使用其它的計算引擎進行計算。當(dāng)然這里也可以同時向多個計算集群提交作業(yè),一旦某個集群首先返回結(jié)果時,就取消所有其它的作業(yè),不過這需要其它計算集群的入口能夠支持取消操作。


當(dāng) SQL 作業(yè)完成后,將結(jié)果返回到 Worker 端,為了能夠更加高效地將查詢結(jié)果返回給 Client 端,Worker 會從 Master 發(fā)送的任務(wù)對象中提取 Client 側(cè)信息,并將結(jié)果直接發(fā)送給 Client,直到收到確認信息,至此整個任務(wù)才算執(zhí)行完畢。


在整個作業(yè)的流轉(zhuǎn)過程中,會以任務(wù)的概念在調(diào)度系統(tǒng)中進行傳播,并經(jīng)歷幾個狀態(tài)的更新,分別標識 new、waiting、running、succeed、failed 階段。


圖 9. SQL 作業(yè)處理流程

Metrics 采集

數(shù)據(jù)服務(wù)搜集兩類 metrics,一類靜態(tài)的,用于描述 master/worker/client 的基本信息;一類是動態(tài)的,描述 master/worker 的運行時信息。這里主要說明一下有關(guān)集群動態(tài)信息的采集過程及作用。以 worker 為例,當(dāng) worker 成功注冊到 master 時,就會開啟定時心跳匯報動作,并借道心跳請求,將自己的運行時信息匯報給 master。這里主要是內(nèi)存使用情況,例如當(dāng)前 worker 通過估算方法,統(tǒng)計目前運行的任務(wù)占據(jù)了多少內(nèi)存,以便 master 能夠在后續(xù)的任務(wù)分發(fā)過程中,能夠根據(jù)內(nèi)存信息進行決策。master 會統(tǒng)計它所管理的集群整個情況,例如每個任務(wù)隊列的快照信息、worker 的快照信息、集群的運行時配置信息等,并通過參數(shù)控制是否打印這些信息,以便調(diào)試。

調(diào)用情況

目前數(shù)據(jù)服務(wù)每天調(diào)用量:

toC: 9000W+/每天。

toB:150W+ /每天(透傳到執(zhí)行 engine 端調(diào)用量)。

  • ETL 任務(wù)執(zhí)行時間基本在 3 分鐘左右完成;

  • adhoc 查詢目前主要有 Spark Thrift Server,Presto,Clickhouse 3 種引擎,大部分 SQL 90% 2s 左右完成,Clickhouse 查詢 99%在 1s 左右完成,Presto 調(diào)用量 50W+/日, Clickhouse 調(diào)用量 44W+/日。

解決的性能問題

數(shù)據(jù)服務(wù)主要解決 SLA 方面的問題。如人群計算、數(shù)據(jù)無縫遷移、數(shù)據(jù)產(chǎn)品 SLA 等,這里用人群舉例說明如下:


人群計算遇到的問題:

  1. 人群計算任務(wù)的數(shù)據(jù)本地性不好;

  2. HDFS 存在數(shù)據(jù)熱點問題;

  3. HDFS 讀寫本身存在長尾現(xiàn)象。


數(shù)據(jù)服務(wù)改造新的架構(gòu)方案:

  • 計算與存儲同置,這樣數(shù)據(jù)就不需通過網(wǎng)絡(luò)反復(fù)讀取,造成網(wǎng)絡(luò)流量浪費。

  • 減少 HDFS 讀寫長尾對人群計算造成的額外影響,同時減少人群計算對于 HDFS 穩(wěn)定性的影響。

  • 廣告人群計算介于線上生產(chǎn)任務(wù)跟離線任務(wù)之間的任務(wù)類型。這里我們希望能保證這類應(yīng)用的可靠性和穩(wěn)定性,從而更好地為公司業(yè)務(wù)賦能

  • 通過數(shù)據(jù)服務(wù)執(zhí)行人群計算。


圖 10. Alluxio 和 Spark 集群混部


基于 Alluxio 的緩存表同步

將 Hive 表的 location 從 HDFS 路徑替換為 Alluxio 路徑,即表示該表的數(shù)據(jù)存儲于 Alluxio 中。我們使用的方案不是直接寫通過 ETL 任務(wù)寫 Alluxio 表的數(shù)據(jù),而是由 Alluxio 主動去拉取同樣 Hive 表結(jié)構(gòu)的 HDFS 中的數(shù)據(jù),即我們創(chuàng)建了一個 HDFS 表的 Alluxio 緩存表?;?HDFS 的人群計算底表的表結(jié)構(gòu)如下:

CREATE TABLE `hdfs.ads_tags_table`(  `oaid_md5` string,   `mid` string,   `user_id` bigint,    .........  )PARTITIONED BY (   `dt` string)LOCATION  'hdfs://xxxx/hdfs.db/ads_tags_table'


基于 Alluxio 的人群計算底表的表結(jié)構(gòu)如下:

CREATE TABLE `alluxio.ads_tags_table`(  `oaid_md5` string,   `mid` string,   `user_id` bigint,    .........  )PARTITIONED BY (   `dt` string COMMENT '????')LOCATION  'alluxio://zk@IP1:2181,IP2:2181/alluxio.db/ads_tags_table'

?


兩個表結(jié)構(gòu)的字段和分區(qū)定義完全相同。只有兩處不同點:通過不同的庫名區(qū)分了是 HDFS 的表還是 Alluxio 的表;location 具體確認了數(shù)據(jù)存儲的路徑是 HDFS 還是 Alluxio。


由于 Alluxio 不能感知到分區(qū)表的變化,我們開發(fā)了一個定時任務(wù)去自動感知源表的分區(qū)變化,使得 Hive 表的數(shù)據(jù)能夠同步到 Alluxio 中。


具體步驟如下:

  1. 定時任務(wù)發(fā)起輪詢,檢測源表是否有新增分區(qū)。

  2. 發(fā)起一個 SYN2ALLUXIO 的任務(wù)由數(shù)據(jù)服務(wù)執(zhí)行。

  3. 任務(wù)執(zhí)行腳本為將 Alluxio 表添加與 HDFS 表相同的分區(qū)。

  4. 分區(qū)添加完成之后,Alluxio 會自動從 mount 的 HDFS 路徑完成數(shù)據(jù)同步。


圖 11. Alluxio 緩存表同步


人群計算任務(wù)

上小節(jié)介紹了如何讓 Alluxio 和 HDFS 的 Hive 表保持數(shù)據(jù)同步,接下來需要做的就是讓任務(wù)計算的 Spark 任務(wù)跑在 Spark 與 Alluxio 混部的集群上,充分利用數(shù)據(jù)的本地性以及計算資源的隔離性,提高人群計算效率。


人群標簽計算的 SQL 樣例如下:

INSERT INTO hive_advert.cd0000127760_full SELECT result_id, '20210703'FROM        (SELECT oaid_md5 AS result_id       FROM hdfs.ads_tags_table AS ta       WHERE ta.dt = '20210702' and xxxxxxx) AS t


上面是一個 Spark SQL 的 ETL,此處的 hdfs.ads_tags_table 即為人群計算依賴的底表,此表為一個 HDFS location 的表。


人群服務(wù)通過調(diào)用數(shù)據(jù)服務(wù)執(zhí)行。數(shù)據(jù)服務(wù)根據(jù)底表分區(qū)是否同步到 Alluxio 決定是否需要下推是用 Alluxio 表來完成計算。如果底表數(shù)據(jù)已經(jīng)同步到 Alluxio,則使用 Alluxio 表來做為底表計算人群。


下推邏輯是用 Alluxio 的表名替換原表,假設(shè)此處緩存的 Alluxio 表名為 alluxio.ads_tags_table,那么原 SQL 就會被改寫成如下:

INSERT INTO hive_advert.cd0000127760_full SELECT result_id, '20210703'FROM        (SELECT oaid_md5 AS result_id       FROM alluxio.ads_tags_table AS ta       WHERE ta.dt = '20210702' and xxxxxxx) AS t

依靠數(shù)據(jù)服務(wù)調(diào)度系統(tǒng),通過用戶 SQL 改寫以及 Alluxio 和 Spark 計算結(jié)點混部模式,人群計算任務(wù)提速了 10%~30%

小結(jié)

雖然截至今天,Hera 數(shù)據(jù)服務(wù)已經(jīng)支持了很多生產(chǎn)業(yè)務(wù),但目前仍有很多需要完善的地方:

  • 不同 engine 存在同一個含義函數(shù)寫法不一致的情況。這種情況在 Presto 跟 ClickHouse 的函數(shù)比較時尤為突出,如 Presto 的 strpos(string,substring)函數(shù),在 Clickhouse 中為 position(haystack, needle[, start_pos]),且這些函數(shù)的參數(shù)順序存在不一致的情況,如何更優(yōu)雅地支持不同 engine 的差異情況還需要進一步思考。

  • 人群計算采用業(yè)界通用的 ClickHouse BitMap 解決方案落地,提升人群的計算效率同時擴展數(shù)據(jù)服務(wù)的業(yè)務(wù)邊界。

    • 數(shù)據(jù)服務(wù)支持調(diào)度的 HA 和災(zāi)備完善,更好地在 K8s 上進行部署。


推薦閱讀:

世界的真實格局分析,地球人類社會底層運行原理

不是你需要中臺,而是一名合格的架構(gòu)師(附各大廠中臺建設(shè)PPT)

企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案

論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?

華為干部與人才發(fā)展手冊(附PPT)

企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!

【中臺實踐】華為大數(shù)據(jù)中臺架構(gòu)分享.pdf

華為的數(shù)字化轉(zhuǎn)型方法論

華為如何實施數(shù)字化轉(zhuǎn)型(附PPT)

超詳細280頁Docker實戰(zhàn)文檔!開放下載

華為大數(shù)據(jù)解決方案(PPT)


瀏覽 43
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 内射免费视频| 精品久久免费一区二区三区| 老司机精品在线观看| 丰滿老婦BBwBBwBBw| 亚洲精品第一页| 天天爱综合| 亚洲欧美另类色图| 日韩免费看片| 黄色成人视频网站在线观看| 大a片| 国产欧美一区二区三区在线看蜜臀| 亚洲日韩成人电影| 日本欧美在线视频| 国产成人亚洲精品| 久久青青草在线视频| 国产91综合一区在线观看| 老女人操逼视频| 欧美国产综合| 九九热热| 99热热久久| 欧美浮力影院| 中文字幕亚洲第一| 亚洲一二三四区| 艹B视频| 日韩中文性受视频| 少妇高潮视频| 无码A片| 日韩午夜福利视频| 久操视频免费| 日韩欧美精品一区二区| 91夜夜| 韩国成人无码| 超碰免费人人| 九九成人精品| 亚洲欧美成人片| 国产精品女人精品久久久天天| 丰满人妻一区二区三区视频在线不卡 | 在线观看黄色av| 91丨九色丨蝌蚪丨成人| 亚洲精品色| 91精品在线观看视频| 免费无码毛片一区二区A片| 久9久9久9久9久9久9| 影音先锋男人| 中文字幕69| 新狠狠干| 91麻豆国产在线观看| 91视频网站| www.日韩精品| 三级片在线看| 91蜜桃视频| 国产一区二区在线视频| 亚洲av在线免费观看| 粉嫩av懂色av蜜臀av分享| 60分钟上大床又黄又爽| 成人午夜福利高清视频| 三级黄色视频在线观看| 日本电影一区二区三区| 中文字幕欧美激情| 欧美一级a视频免费放| 超碰人妻人人操| 手机看片1024久久| 欧美成人五月天| 中文字幕66页| 18禁网站在线看| 久久午夜福利视频| 黄色插逼视频| 午夜福利影院在线| 一级片黑人| 黄色片免费视频网站| 日逼片A| 色婷婷视频| 男人的天堂在线| 青青操在线视频| 成人精品鲁一鲁一区二区| 久久成人精品| 东京热高清无码| 中文字幕在线观看视频www| 亚洲无码在线电影| 西西888WWW大胆无码| 成人精品免费| 日本一区二区三区免费视频| 国产91在线播放| 日韩在线视频播放| 人人妻人人澡人人爽人人| 丁香五月激情视频| 四川w搡BBB搡wBBB搡| 亚洲成人在线免费观看| 国产一级无码| 激情五月天网站| 国产激情AV| 一级欧美一级日韩| 黄色免费网站| 青青草无码成人AV片| 日本精品一区二区| 在线免费观看黄片| 99青草在线视频| 大香蕉亚洲成人| 伊人久久在线| 99久久精品一区二区成人| 毛片网站大全| 最新av网| 婷婷综合av| 青青草视频91| 欧美性生交18XXXXX无码| japanese在线观看| 亚洲一区二区三区在线播放 | 操逼视频在线免费看| 特黄一级片| 久久人妻精品| 一级欧美黑人大战白妞| 翔田千里无码播放| 国产精品乱子伦视频一区二区| 国产91在线观看| 92丨九色丨偷拍老熟女| 殴美A片| 久久无码精品| 操逼逼网| 欧美日韩午夜福利视频| 国产成人一级| 亚洲AV秘无码一区在线| 久久久久亚洲AV无码成人片| 国精产品一区一区三区有限公司杨| 黄片网址大全| 成人中文字幕在线观看| 五月天婷婷丁香综合视频| 无码囯无精品毛片大码| 三级片无码视频| A片免费网站| 亚洲成人A片| 无码在线免费| 欧洲成人在线播放| 中文字幕性| 欧一美一婬一伦一区二区三区自慰国 | 丁香六月综合激情| 丁香五月大香蕉| 人人妻人人色| 日韩欧美网站| 91AV视频| 亚洲AV无码一区毛片AV| 69激情网| 亚洲国产视频一区| 乱子伦国产精品视频一级毛| JULIA超乳JULIA无码| 国产一卡二卡在线| 国产精品秘麻豆果冻传媒潘甜甜丶 | 免费无码婬片aaaa| 骚逼综合网| 韩日中文字幕| 亚洲视频国产| 欧美黄色A片| 国产亚洲视频完整在线观看| 亚洲AV无码一区二区三区少妇| 久久露脸国语精品国产91| 大肉大捧一进一出免费阅读| 国内不卡一卡二视频| 激情内射网站| 国产激情福利| gogogo免费高清在线偷拍| 亚洲欧美日本在线观看| 成人国产精品免费观看| youjizzcom日本| 欧美成人网站视频| 91国产人妻| 日本爱爱片| 俺也来最新色视频| 在线观看老湿视频福利| 日韩AV中文| 日本综合久久| 九九这里有精品| 蜜桃精品视频| 91无码精品国产| www.干| 不迷路福利视频| 青青草大香蕉在线| 国产18禁网站| 亚洲精品一二三| 天堂a在线8| 国产成人主播| 超碰碰人人| 日本一级按摩片免费观看| 国产欧美在线不卡| 色婷婷无码| 成人片成人网久久蜜桃臀| 电家庭影院午夜| 69成人在线| 麻豆AV无码| 伊人五月天激情| 日韩一级片在线观看| 偷窥丶亚洲丶熟女| 二区三区视频| 国产无码一二三| 9I免费看片黄| 秋霞一区二区三区无码| 亚洲免费观看A∨中文| 亚洲精品一级| 国产小电影在线| 成人视频在线播放| 国产人妻一区二区三区欧美毛片| 五月婷婷综合网| 特黄特色免费大片| 成人毛片一区二区三区无码| 黄色草逼视频| 婷婷无码视频| 精品人妻一区二区三区四区不卡在| 日韩bbbb| 色噜噜一区二区三区| 亚洲老鸭窝| 精品久久视频| 加勒比久久久| 午夜三级无码| 精品无码专区| 亚洲无码视频观看| 日韩人妻精品一区二区| 91精品久久久久久久久久久久| 四色永久成人网站| 日本色色网| 国产精品久久久一区二区三区 | 久久双飞| www.99在线| 内射视频免费观看| 这里有精品| 久久久久久成人无码| 4438成人网站| 毛片在线观看视频| 婷婷五月天激情四射| 五月婷婷色欲| 五月天福利影院| 国产日韩欧美一区二区| 中文字幕在线第一页| 伊人久久大香蕉视频| 国产成人欧美| 一级片黄色| 骚逼视频聊天记录| 亚洲中文无码AV在线| 黄片视频国产| 亚洲视频网| 日韩va亚洲va欧美va高清| 日韩三级在线播放| 日韩在线视频免费| 日韩综合网| 一级婬片A片AAAAA毛片| 日本色婷婷| 欧美大香蕉网| 伊人日日| 老太色HD色老太HD-百度| 亚洲欧美性爱视频| 日韩情色片| 中文字幕精品一级A片| 青青国产在线| 天天精品| 精品爆乳| 久草视频大香蕉| 久久9热| 激情婷婷亚洲| 人人干人人上| 青青草91| av免费观看网站| 日韩少妇无码视频| 成人视频免费网站| 一区二区成人免费视频| 精品一区国产| 91精品人妻一区二区三区| 亚洲精品国产精品乱码不卡√香蕉| 伊人99re| 亚洲性爱av| 四川少妇搡bbbb搡bbbb| 操女人大逼| 国产色情在线| 欧美特级黄片| 欧美人操逼视频| 婷婷一区二区三区| 婷婷视频网站| 91视频在线网站| 山东wBBBB搡wBBBB| 一级A片久久久免费直播间| 日本精品黄色视频| 69AV在线观看| 亚洲欧美91| 尤物视频官网| 免费黄色在线观看| 亚洲婷婷AV| 日韩欧美小视频| 亚洲成人性爱av| 日韩熟妇无码| 怡红院男人天堂| AA片免费看| 最新中文字幕在线观看视频| 男女av在线| 中文在线第一页| 国产日韩在线观看视频| 国产精品果冻传媒| 國產精品777777777| 少妇嫩搡BBBB搡BBBB| 嫩BBB槡BBBB槡BBB小号| 在线免费观看无码视频| 亚洲福利电影| 免费三级怡红院| 91人人人| TokyoKot大交乱无码| 操逼三级| 一级黄片免费看| 夜夜骑夜夜撸| 毛片毛片毛片毛片| 人人人人摸| 国产一级二级在线观看| 人人肏肏人人| 日韩美女免费视频| 免费观看无码视频| 曰韩精品| 东京热一区二区三区| 九九九色视频| 九九九在线视频| 狠狠的操| 亚洲国产成人在线视频| www.婷婷五月天| 国产黄色片在线免费观看| 亚洲视频免费在线| 中文成人在线| 三级片中文| 五月天青青草超碰免费公开在线观看| 人操人操人操| 大香蕉中文在线| 天天日天天操天天爽| 人妖毛片| 国产精品2025| 亚洲天堂2025| 国产婷婷精品| 中文字幕av一区二区| 中文字幕网在线| 天堂一区二区18| 91福利在线观看| 88无码| 91av电影| 欧美性猛交ⅩXXX乱大交| 久久成人毛片| AAA亚洲| 91成人| 天天操天天射天天爽| 精品久久成人| 亚洲北条麻妃一级A片| 韩国无码片| 大香蕉福利视频导航| 国产成人午夜精品无码区久久麻豆 | 青青操成人| 三级片导航| 91精品视频在线| 婷婷午夜精品久久久久久| 91在线精品秘一区二区黄瓜| 色欲大香蕉| 成人精品在线观看| 中文字幕第23页| 午夜免费视频| 亚洲人成电影网| 玩弄小怮女在线观看| 97国产精品视频人人做人人爱| 中文字字幕在线中文乱码电影| 成年人黄色在线观看| 河南少妇搡BBBB搡BBBB| 亚洲美女网站免费观看网址| 婷婷久久综合久色综| 久操麻豆| 久久99深爱久久99精品| 99精品视频免费在线观看| 丁香五月中文字幕| 成人小说亚洲一区二区三区| 91乱子伦国产乱子伦!| 操逼123首页| 国产一级无码| 人妻精品免费| 无码成人AV在线看免费| 无码A级片| 国产九九九| 97人人色| 中文无码日韩| 久久亚洲免费视频| 学生妹作爱片| 亚洲手机视频| 中文字幕北条麻妃| 欧美激情网址| 男人天堂网AV| 成人在线小视频| 91豆花在线| 国产无遮挡又黄又爽免费网站| 99热日韩| 高清无码网站| 69式荫蒂被添全过程| 欧美色大香蕉| 亚洲乱码精品久久久久..| 婷婷色片| 一区高清无码| 亚洲一区二区免费视频| 亚洲AV无码成人精品| 天干天干天夜夜| 人人爱人人操| 免费人成网站| 麻豆疯狂做受XXXX高潮视频| 夜夜爽天天爽| 欧美AAAAAAAA| 超碰狠狠操| 免费69视频看片| 五月天激情爱爱| 大茄子熟女AV导航| 国产无码内射视频| 日韩有码第一页| 精品色哟哟| 国产精品视频| AV手机在线| 狼人综合色| 亚洲第一色网| 翔田千里中文字幕无码| 日本三级网站| 91成人无码看片在线观看网址| 亚洲无码手机在线| 精品自拍视频| 国产精品精品精品| 一级黄色大毛片| 高清无码波多野结衣| 久久久久中文字幕| 色99999| 日本韩国高清无码| 欧美性爱香蕉视频| 人人爱,人人操| 免费在线a视频| 99热国产精品| AV先锋资源| 日韩高清无码成人| 日韩一级无码视频| 国产avwww| 中文字幕三级av片| 91午夜视频| www.有码99| 777在线视频| 国产黄色视屏| 怕怕怕视频| 免费黄色一级片| 欧美午夜爱爱| 五月丁香六月久久| 熟女视频网站| 久久精品波多野结衣| 91亚洲精品久久久久蜜桃| 青娱乐自拍偷拍| 精品无码免费视频| 中文字幕第一页在线| 一级Aa视频免费看| 无码欧美精品一区二区| 插逼网站| 亚洲精品中文字幕在线观看 | 欧美亚洲黄色| 一道本AV| 一级大片免费看| 麻豆91久久久| 91国产爽黄在线| 精品码产区一区二亚洲国产| 婬乱欧美一二三区| 人成在线免费视频| 日本一级婬片免费放| 波多野结衣高清av久久直播免 | AV无码一区| 亚洲无码高清在线| 翔田千里无码在线| 久久精品视频国产| 国产高清做爱免费在线视频| 一道本高清无码| 国产高清第一页| 无码人妻日韩精品一区二区三| 啪啪视频免费观看| 欧美熟女在线| 九九九色视频| 国产黄色在线视频| 人人操综合| 成人在线无码视频| 一本到在线观看午夜剧场| 91美女视频| 国产内射网站| 射射AV| 一本在线| 欧美日本在线观看| 黄色动漫在线免费观看| 日产久久久久久| 国产一级AAAAA片免费| 蜜桃精品视频在线观看| 国产黄色在线看| 强波多野结衣黑人| 在线超碰| 探花无码| 亚洲天堂视频网站| 四虎影院中文字幕| 在线观看高清无码视频| 午夜AV在线观看| 国产精品福利在线播放| 国产一级精品视频| 黄色片在线免费看| 18AV在线观看| 国产一级a免一级a免费| 亚洲国产成人精品综合99| 亚洲无码视频播放| 91丨九色丨熟女丰满| 亚洲秘无码一区二区三区电影| 91成人免费电影片| 伊人亚洲| 五月天婷婷基地| 婷婷五月天大香蕉| 成人a电影| 婷婷色综合视频二区| 好吊看视频| 青娱乐在线视频精品| 国产综合无码| 久久久中文字幕| 91人人澡人人爽人人看| 91人人视频| 女人18片毛片90分钟免费明星| 91久久精品国产91久久公交车| 婷婷五月天视频| 操逼视频免费播放| 青春草在线免费视频| 婷婷另类小说| 日韩A片免费| 啪啪免费网站| 毛片毛片毛片毛片毛片毛片| 国产探花在线观看| 亚洲国产精品尤物yw在线观看| a片在线电影网| 精品人妻一区二区三区浪潮在线| 91人人视频| 中字无码制服| 国产精品高清网站| AA黄色电影| 波多野结衣黄色视频| 国精产品一二四区黑人| 嫩草久久99www亚洲红桃| 天堂在线v| 亚洲一二期视频| 免费播放片色情A片| 久久天天操| 午夜福利1000| 国产酒店自拍| 国产精品4| 一级免费a片| 国产乱妇乱子伦视频免费观看| 午夜男女福利| 九九久久99| 97国产精品视频人人做人人爱| 天天日天天干天天爽| 黄色影视不卡| 91香蕉在线| 波多野结衣无码电影| 日韩大香蕉视频| 国产成人黄色电影| a免费视频在线观看| 亚洲图片在线播放| 国产精品美女| 久艹视频| 亚洲天堂综合网| 欧美夜夜骑| 色福利视频| 高清无码小视频| 成人午夜小电影| 91爱爱com| www.欧美| 黄色免费大片| 亚洲无码一级片| 天天看片天天爽| 亚洲人妻有码| 日逼高清无码| 超碰a片| 黑人vs亚洲人在线播放| 爽好紧别夹喷水无码| 成人国产综合| 亚洲无码一本道| 欧美日韩中文| 河南熟妇搡BBBB搡BBBB| 永久在线| 看免费操逼视频| 老司机精品视频在线观看| 国产欧美综合精品| 大香蕉国产视频| 伊人婷婷| 91色噜噜狠狠色婷婷| 国产精品操| 日韩无码成人片| 精品国内自产拍在线观看视频| 午夜久| 久久精品无码一区二区无码性色| 亚洲欧美日韩性爱| www.色999| 麻豆精品视频| 丁香激情网| 欧美黄片免费观看| 日本不卡视频在线| 蜜臀精品一区二区三区| 12一15女人A片毛| 高潮喷水视频| 成人777777免费视频色| 欧美香蕉在线| 大香焦伊人国产| 国产乱伦精品视频| 免费精品黄色网页| 波多野结衣网站| 欧美一级在线| 免费看欧美成人A片无码| 强辱丰满人妻HD中文字幕| 国产成人精品免高潮在线人与禽一| 熟妇综合| 一级黄色在线| 色色影音先锋| 国产欧美成人在线| 欧洲综合视频| 国产v亚洲| 看免费操逼视频| 婷婷五月天成人社区| 亚洲美女视频在线| 久久精品视频久久| 中文字幕在线看成人电影| 爱操av| 口爆在线| 大香蕉中文在线| 国产av天堂| 黄色资源在线观看| 国产黄色在线播放| 五月婷婷基地| 操网站| 色丁香婷婷| 亚洲无码在线免费| 成人伊人综合| 爱爱视频h| 亚洲一级免费视频| 欧美一级视频在线观看| 男人天堂久久| 99一区| 日韩无码成人片| 日韩欧美国产精品综合嫩V| 韩国三级HD中文字幕的背景音乐 | 夜夜骑婷婷91| 国产婷婷久久Av免费高清| 操逼日爱| 辽宁模特张雪馨视频最新| 亚洲成人视频| 99精品视频在线观看| 中文久久| 日韩一级黄片| 国产成人AV| 91成人电影| 日韩综合色视频导航| 91成人在线| 免费黄色小视频| 牛牛AV| 最近中文字幕高清2019中文字幕| ⅴA日本成人| 麻豆天美传媒AV果冻传媒| 操逼91小视频| 91亚洲精品久久久久蜜桃| 少妇人妻偷人精品无码视频新浪 | 翔田千里一区二区三区精品播放 | 国产一区二区三区免费播放| 人人骚| 欧美一级免费| 亚洲无码在线免费观看视频| 一级免费黄片| 婷婷色色五月天| 亚洲AV成人片无码网站| 在线观看黄| 激情99| 欧美99| 久久午夜无码鲁片午夜精品男男| 亚洲成人一区二区在线观看 | 人妻人操| 亚洲黄色在线观看视频| 亚洲三级无码在线| 亚洲AV成人无码精品区| 久热免费| 三级片高清无码| 青榴社区| 99这里有精品视频| 九九精品久久| 玩弄人妻少妇500系列视频| H片在线免费观看| 亚洲69| 国产乱子伦真实精品| www.日韩| 天堂无线av无码av| 日韩视频一二三| 久久99无码| 91老熟| 亚洲综合二区| 91看片看婬黄大片Videos| 狠狠操2019| 嫩BX区二区三区的区别| sese在线| 51av在线| 无码高清一区| 国产精品一级片| 男人天堂网站| 亚洲AVA| 亚洲一区免费| 日p视频在线观看| 五月激情婷婷网| 国产操骚逼| 亚洲中文字幕免费在线观看| 国产AV无码成人精品区| 亚洲日本视频| 久久99精品久久久久久| 五月婷婷欧美| 国产av高清| 亚洲天堂2014| 亚洲综合成人在线| 日韩欧美高清无码| 国产精品无码激情| 91青青草在线| 无码窝在线观看| 精品无码电影| 国产传媒三级| 色交视频| 亚洲av性爱| 91久久久久久久久久久| 91无码人妻东京热精品一区| 青青操视频在线| 日本欧美在线播放中文| 国产亚洲日韩在线| 国产美女自拍视频| 欧美三级| 一区二区三区四区五区六区高清无吗视频| 18sav| 无码在线视频播放| 人人干人人操人人| 国产av一区二区三区四区| 久久精品夜色噜噜亚洲A∨| 国产高清免费| 九九热在线视频| 东京热久久综合色五月老师| 六月天av| 成人在线18| 午夜特片| 中文字幕无码人妻在线视频| 中文字幕黄色电影| 无码黑人| 国产一级美女操逼视频免费播放| 香蕉国产在线视频| 高圆圆一区二区三区| 中文字幕五码| 嫩苞又嫩又紧AV无码| 超碰啪啪| 亚州成熟少妇视频在线观看| 一本到在线观看午夜剧场| 国产特级毛片AAAAAA| 俄罗斯老熟妇与子伦| 91精品在线观看视频| 黄色影院在线观看| 欧美成人久久| 国产精品18在线| 91嫩草久久久久久久| 久久久久久9| 国产无套内射视频| 日韩肏逼| www.啪啪| 北条麻妃无码在线视频| 欧美AAA| 欧美三级一级| 成人视频在线观看黄色18| 亚洲福利片| 少妇在厨房| а√天堂中文官网8| 97超碰资源站| 一级黄色网| 成人无码一区二区| 美女av日逼| 国产一级黄色毛片| 青春草在线播放| 久久黄色大片| 你懂的在线播放| 91麻豆免费视频网站| 人妻无码精品久久人妻成人| 91一级片| 欧美伦妇AAAAAA片| 国产—a毛—a毛A免费| 97超碰人人| 亚洲国产成人精品激情在线 | 午夜大香蕉| 91人妻无码精品| 囯产精品一区二区三区AV做线| 黄色理论片| 午夜av影院| 午夜福利干B在线免费小视频 | 免费A在线观看| 亚洲成人视频免费观看| 国产黄网| 欧美色图狠狠操| 99久久久无码国产精品性波多| 熟妇人妻丰满久久久久久久无码| 一级A片亲子乱| 懂色成人视频在线观看| 久久久精品一区| 囯产精品久久久久久久久免费无码| 播五月婷婷| 天堂VA蜜桃一区二区三区| 老鸭窝久久久| 中文字幕精品视频在线观看| 毛片一级片| 国产午夜福利视频| 99亚洲无码| 三级黄片网站| 亚洲中文字幕影院| 一区二区三区四区精品| 国产精品久久久久的角色| 国产黄片一区二区| 亚洲午夜福利在线| 日韩一级黄色视频| A片久久| 无码一二| 可以免费看的av| 国产一级一片免费播放放a| av在线观看网站| 老女人网站| 操逼操逼操逼操逼| 淫色人妻网| 天堂视频在线观看亚洲美女| 丁香五月婷婷五月天| 老熟女痒到不行-ThePorn| 黄色福利网址| 日本免费黄色小视频| 亚洲欧美国产毛片在线| 国产成人精品AV在线观| 亚洲日本一区二区三区| 日韩激情在线观看| 日韩成人网址| 亚洲在线高清视频| 日本无码成人片在线播放| 天天看天天摸| 国产黄色自拍视频| 男人天堂无码成人| 久久免费视频6| 日韩欧美成人在线| 日本一级片在线播放| 九七AV| 久操人妻| 国产又爽又黄免费视频网站| 人人操97| 一区二区黄| 亚洲AV无码成人精品| 亚洲jizzjizz| 翔田千里在线播放| 色婷婷一区| 日本黄在线播放| 成人伊人电影| 良妇露脸15P| 中文字幕日日| 人人天天爽| 天天艹夜夜艹| 欧美A级视频在线观看| 九一国产在线| 高清无码在线观看免费| 无码三级在线免费观看| 免费草逼网站| 天堂在线无码| 白虎高清无码大尺度免费在线观看| av亚洲波多野结衣白嫩水多波| 国产精品福利小视频| 在线视频中文字幕| 一级黄片在线| 欧美日一区二区三区| 日韩在线一区二区| 91在线视频免费播放| 无码AV中文字幕| H片在线观看| A级毛片视频| 日本色色网站| 女色综合| 日韩在线观看中文字幕| 成人福利网站| 午夜精品久久久久久久久无码99热 | 精品日韩中文字幕| 人妻超碰| 羽月希在线播放| 日本婷婷| 欧美日韩国产一区二区| 偷窥丶亚洲丶熟女| 色吧| 欧美日韩成人电影| 无码中文综合成熟精品AV电影 | 中文字幕乱码视频| 欧美a级视频| 北条麻妃久久视频在线播放 | 狠狠色五月| 无码AV大香线蕉伊人| 黄色福利网址| 波多野吉衣高清无码| 亚洲视频在线看| 国产欧美一区二区三区特黄手机版| 精品国产成人a在线观看| 欧美天天干| 少妇高潮日韩| 国产AⅤ爽aV久久久久成人| 免费a片观看| 国产美女一级真毛片酒店| 韩国av在线| 久久综合大香蕉| 91高潮| 黄色在线网| 久久国产欧美| 91在线视频播放|