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

Flink SQL 實(shí)戰(zhàn):HBase 的結(jié)合應(yīng)用

大數(shù)據(jù)
本文主要介紹 HBase 和 Flink SQL 的結(jié)合使用。HBase 作為 Google 發(fā)表 Big Table 論文的開(kāi)源實(shí)現(xiàn)版本,是一種分布式列式存儲(chǔ)的數(shù)據(jù)庫(kù),構(gòu)建在 HDFS 之上的 NoSQL 數(shù)據(jù)庫(kù),非常適合大規(guī)模實(shí)時(shí)查詢(xún),因此 HBase 在實(shí)時(shí)計(jì)算領(lǐng)域使用非常廣泛。

本文主要介紹 HBase 和 Flink SQL 的結(jié)合使用。HBase 作為 Google 發(fā)表 Big Table 論文的開(kāi)源實(shí)現(xiàn)版本,是一種分布式列式存儲(chǔ)的數(shù)據(jù)庫(kù),構(gòu)建在 HDFS 之上的 NoSQL 數(shù)據(jù)庫(kù),非常適合大規(guī)模實(shí)時(shí)查詢(xún),因此 HBase 在實(shí)時(shí)計(jì)算領(lǐng)域使用非常廣泛。可以實(shí)時(shí)寫(xiě) HBase,也可以利用 buckload 一把把離線 Job 生成 HFile Load 到HBase 表中。而當(dāng)下 Flink SQL 的火熱程度不用多說(shuō),F(xiàn)link SQL 也為 HBase 提供了 connector,因此 HBase 與 Flink SQL 的結(jié)合非常有必要實(shí)踐實(shí)踐。

當(dāng)然,本文假設(shè)用戶(hù)有一定的 HBase 知識(shí)基礎(chǔ),不會(huì)詳細(xì)去介紹 HBase 的架構(gòu)和原理,本文著重介紹 HBase 和 Flink 在實(shí)際場(chǎng)景中的結(jié)合使用。主要分為兩種場(chǎng)景,第一種場(chǎng)景:HBase 作為維表與 Flink Kafka table 做 temporal table join 的場(chǎng)景;第二種場(chǎng)景:Flink SQL 做計(jì)算之后的結(jié)果寫(xiě)到 HBase 表,供其他用戶(hù)查詢(xún)的場(chǎng)景。因此,本文介紹的內(nèi)容如下所示:

  • HBase 環(huán)境準(zhǔn)備
  • 數(shù)據(jù)準(zhǔn)備
  • HBase 作為維度表進(jìn)行 temporal table join的場(chǎng)景
  • Flink SQL 做計(jì)算寫(xiě) HBase 的場(chǎng)景
  • 總結(jié)

01 HBase 環(huán)境準(zhǔn)備

由于沒(méi)有測(cè)試的 HBase 環(huán)境以及為了避免污染線上 Hbase 環(huán)境。因此,自己 build一個(gè) Hbase docker image(大家可以 docker pull guxinglei/myhbase 拉到本地),是基于官方干凈的 ubuntu imgae 之上安裝了 Hbase 2.2.0 版本以及 JDK1.8 版本。

啟動(dòng)容器,暴露 Hbase web UI 端口以及內(nèi)置 zk 端口,方便我們從 web 頁(yè)面看信息以及創(chuàng)建 Flink Hbase table 需要 zk 的鏈接信息。

  1. docker run -it --network=host -p 2181:2181 -p 60011:60011 docker.io/guxinglei/myhbase:latest bash 

 

進(jìn)入容器,啟動(dòng) HBase 集群,以及啟動(dòng) rest server,后續(xù)方便我們用 REST API 來(lái)讀取 Flink SQL 寫(xiě)進(jìn) HBase 的數(shù)據(jù)。

  1. # 啟動(dòng)hbase 集群bin/start-hbase.sh# 后臺(tái)啟動(dòng)restServerbin/hbase-daemon.sh start rest -p 8000 

 

02 數(shù)據(jù)準(zhǔn)備

由于 HBase 環(huán)境是自己臨時(shí)搞的單機(jī)服務(wù),里面沒(méi)有數(shù)據(jù),需要往里面寫(xiě)點(diǎn)數(shù)據(jù)供后續(xù)示例用。在 Flink SQL 實(shí)戰(zhàn)系列第二篇中介紹了如何注冊(cè) Flink Mysql table,我們可以將廣告位表抽取到 HBase 表中,用來(lái)做維度表,進(jìn)行 temporal table join。因此,我們需要在 HBase 中創(chuàng)建一張表,同時(shí)還需要?jiǎng)?chuàng)建 Flink HBase table, 這兩張表通過(guò) Flink SQL 的 HBase connector 關(guān)聯(lián)起來(lái)。

在容器中啟動(dòng) HBase shell,創(chuàng)建一張名為 dim_hbase 的 HBase 表,建表語(yǔ)句如下所示:

  1. # 在hbase shell創(chuàng)建 hbase表 
  2. hbase(main):002:0> create 'dim_hbase','cf' 
  3. Created table dim_hbase 
  4. Took 1.3120 seconds 
  5. => Hbase::Table - dim_hbase 

 

在 Flink 中創(chuàng)建 Flink HBase table,建表語(yǔ)句如下所示:

  1. # 注冊(cè) Flink Hbase table 
  2. DROP TABLE IF EXISTS flink_rtdw.demo.hbase_dim_table; 
  3. CREATE TABLE flink_rtdw.demo.hbase_dim_table ( 
  4.   rowkey STRING, 
  5.   cf ROW < adspace_name STRING >, 
  6.   PRIMARY KEY (rowkey) NOT ENFORCED 
  7. WITH ( 
  8. 'connector' = 'hbase-1.4'
  9. 'table-name' = 'dim_hbase'
  10. 'sink.buffer-flush.max-rows' = '1000'
  11. 'zookeeper.quorum' = 'localhost:2181' 
  12. ); 

Flink MySQL table 和 Flink HBase table 已經(jīng)創(chuàng)建好了,就可以寫(xiě)抽取數(shù)據(jù)到HBase 的 SQL job 了,SQL 語(yǔ)句以及 job 狀態(tài)如下所示:

  1. # 抽取Mysql數(shù)據(jù)到Hbase表中 
  2.  
  3.  
  4. insert into 
  5.   hbase_dim_table 
  6. select 
  7. CAST (ID as VARCHAR), 
  8. ROW(name
  9. from 
  10.   mysql_dim_table; 

 

03 HBase 作為維表與 Kafka做 temporal join 的場(chǎng)景

在 Flink SQL join 中,維度表的 join 一定繞不開(kāi)的,比如訂單金額 join 匯率表,點(diǎn)擊流 join 廣告位的明細(xì)表等等,使用場(chǎng)景非常廣泛。那么作為分布式數(shù)據(jù)庫(kù)的 HBase 比 MySQL 作為維度表用作維度表 join 更有優(yōu)勢(shì)。在 Flink SQL 實(shí)戰(zhàn)系列第二篇中,我們注冊(cè)了廣告的點(diǎn)擊流,將 Kafka topic 注冊(cè) Flink Kafka Table,同時(shí)也介紹了 temporal table join 在 Flink SQL 中的使用;那么本節(jié)中將會(huì)介紹 HBase 作為維度表來(lái)使用,上面小節(jié)中已經(jīng)將數(shù)據(jù)抽取到 Hbase 中了,我們直接寫(xiě) temporal table join 計(jì)算邏輯即可。

作為廣告點(diǎn)擊流的 Flink Kafa table 與 作為廣告位的 Flink HBase table 通過(guò)廣告位 Id 進(jìn)行 temporal table join,輸出廣告位 ID 和廣告位中文名字,SQL join 邏輯如下所示:

  1. select adsdw_dwd_max_click_mobileapp.publisher_adspace_adspaceId as publisher_adspace_adspaceId, 
  2.        hbase_dim_table.cf.adspace_name as publisher_adspace_name 
  3. from adsdw_dwd_max_click_mobileapp 
  4. left join hbase_dim_table FOR SYSTEM_TIME AS OF adsdw_dwd_max_click_mobileapp.procTime 
  5. on cast(adsdw_dwd_max_click_mobileapp.publisher_adspace_adspaceId as string) = hbase_dim_table.rowkey; 

temporal table join job 提交 Flink 集群上的狀態(tài)以及 join 結(jié)果如下所示:

04 計(jì)算結(jié)果 sink 到 HBase 作為結(jié)果的場(chǎng)景

上面小節(jié)中,HBase 作為維度表用作 temporal table join 是非常常見(jiàn)的場(chǎng)景,實(shí)際上 HBase 作為存儲(chǔ)計(jì)算結(jié)果也是非常常見(jiàn)的場(chǎng)景,畢竟 Hbase 作為分布式數(shù)據(jù)庫(kù),底層存儲(chǔ)是擁有多副本機(jī)制的 HDFS,維護(hù)簡(jiǎn)單,擴(kuò)容方便, 實(shí)時(shí)查詢(xún)快,而且提供各種客戶(hù)端方便下游使用存儲(chǔ)在 HBase 中的數(shù)據(jù)。那么本小節(jié)就介紹 Flink SQL 將計(jì)算結(jié)果寫(xiě)到 HBase,并且通過(guò) REST API 查詢(xún)計(jì)算結(jié)果的場(chǎng)景。

進(jìn)入容器中,在 HBase 中新建一張 HBase 表,一個(gè) column family 就滿(mǎn)足需求,建表語(yǔ)句如下所示:

  1. # 注冊(cè)hbase sink table 
  2. create 'dwa_hbase_click_report','cf' 

 

建立好 HBase 表之后,我們需要在 Flink SQL 創(chuàng)建一張 Flink HBase table,這個(gè)時(shí)候我們需要明確 cf 這個(gè) column famaly 下面 column 字段,在 Flink SQL實(shí)戰(zhàn)第二篇中,已經(jīng)注冊(cè)好了作為點(diǎn)擊流的 Flink Kafka table,因此本節(jié)中,將會(huì)計(jì)算點(diǎn)擊流的 uv 和點(diǎn)擊數(shù),因此兩個(gè) column 分別為 uv 和 click_count,建表語(yǔ)句如下所示:

  1. # 注冊(cè) Flink Hbase table 
  2. DROP TABLE IF EXISTS flink_rtdw.demo.dwa_hbase_click_report; 
  3. CREATE TABLE flink_rtdw.demo.dwa_hbase_click_report ( 
  4.   rowkey STRING, 
  5.   cf ROW < uv BIGINT, click_count BIGINT >, 
  6.   PRIMARY KEY (rowkey) NOT ENFORCED 
  7. WITH ( 
  8. 'connector' = 'hbase-1.4'
  9. 'table-name' = 'dwa_hbase_click_report'
  10. 'sink.buffer-flush.max-rows' = '1000'
  11. 'zookeeper.quorum' = 'hostname:2181' 
  12. ); 

 

前面點(diǎn)擊流的 Flink Kafka table 和存儲(chǔ)計(jì)算結(jié)果的 HBase table 和 Flink HBase table 已經(jīng)準(zhǔn)備了,我們將做一個(gè)1分鐘的翻轉(zhuǎn)窗口計(jì)算 uv 和點(diǎn)擊數(shù),并且將計(jì)算結(jié)果寫(xiě)到 HBase 中。對(duì) HBase 了解的人應(yīng)該知道,rowkey 的設(shè)計(jì)對(duì) hbase regoin 的分布有著非常重要的影響,基于此我們的 rowkey 是使用 Flink SQL 內(nèi)置的 reverse 函數(shù)進(jìn)行廣告位 Id 進(jìn)行反轉(zhuǎn)和窗口啟始時(shí)間做 concat,因此,SQL 邏輯語(yǔ)句如下所示:

  1. INSERT INTO dwa_hbase_click_report 
  2. SELECT 
  3. CONCAT(REVERSE(CAST(publisher_adspace_adspaceId AS STRING)) , 
  4. '_'
  5. CAST((UNIX_TIMESTAMP(DATE_FORMAT(TUMBLE_START(ets, INTERVAL '1' MINUTE),'yyyy-MM-dd HH:mm:ss')) * 1000) AS STRING) 
  6.   ) as rowkey,  
  7. ROW(COUNT(DISTINCT audience_mvid) , COUNT(audience_behavior_click_creative_impressionId)) as cf 
  8. FROM 
  9.   adsdw_dwd_max_click_mobileapp 
  10. WHERE publisher_adspace_adspaceId IS NOT NULL AND audience_mvid IS NOT NULL AND audience_behavior_click_creative_impressionId IS NOT NULL 
  11. GROUP BY 
  12.   TUMBLE(ets, INTERVAL '1' MINUTE), 
  13.   publisher_adspace_adspaceId; 

 

SQL job 提交之后的狀態(tài)以及結(jié)果 check 如下所示:

上述 SQL job 已經(jīng)成功的將結(jié)算結(jié)果寫(xiě)到 HBase 中了。對(duì)于線上的 HBase 服務(wù)來(lái)講,很多同事不一定有 HBase 客戶(hù)端的權(quán)限,從而也不能通過(guò) HBase shell 讀取數(shù)據(jù);另外作為線上報(bào)表服務(wù)顯然不可能通過(guò) HBase shell 來(lái)通過(guò)查詢(xún)數(shù)據(jù)。因此,在實(shí)時(shí)報(bào)表場(chǎng)景中,數(shù)據(jù)開(kāi)發(fā)工程師將數(shù)據(jù)寫(xiě)入 HBase, 前端工程師通過(guò) REST API 來(lái)讀取數(shù)據(jù)。前面我們已經(jīng)啟動(dòng)了 HBase rest server 進(jìn)程,我們可以通 rest 服務(wù)提供讀取 HBase 里面的數(shù)據(jù)。

我們先 get 一條剛剛寫(xiě)到 HBase 中的數(shù)據(jù)看看,如下所示:

下面我們開(kāi)始通過(guò) REST API 來(lái)查詢(xún) HBase 中的數(shù)據(jù),第一步,執(zhí)行如下語(yǔ)句拿到 scannerId;首先需要將要查詢(xún)的 rowkey 進(jìn)行 base64 編碼才能使用,后面需要將結(jié)果進(jìn)行 base64 解碼

rowkey base64 編碼前:0122612_1606295280000 base64 編碼之后:MDEyMjYxMl8xNjA2Mjk1MjgwMDAw

  1. curl -vi -X PUT \ 
  2.          -H "Accept: text/xml" \ 
  3.          -H "Content-Type: text/xml" \ 
  4.          -d '<Scanner startRow="MDEyMjYxMl8xNjA2Mjk1MjgwMDAw" endRow="MDEyMjYxMl8xNjA2Mjk1MjgwMDAw"></Scanner>' \ 
  5. "http://hostname:8000/dwa_hbase_click_report/scanner" 

 

第二步,執(zhí)行如下語(yǔ)句根據(jù)上條語(yǔ)句返回的 scannerID 查詢(xún)數(shù)據(jù),可以看到返回的結(jié)果:

  1. curl -vi -X GET \ 
  2.          -H "Accept: application/json" \ 
  3. "http://hostname:8000/dwa_hbase_click_report/scanner/16063768141736ac0a8b5" 

 

第三步,查詢(xún)完畢之后,執(zhí)行如下語(yǔ)句刪除該 scannerId:

  1. curl -vi -X DELETE \ 
  2.          -H "Accept: text/xml" \ 
  3. "http://hostname:8000/dwa_hbase_click_report/scanner/16063768141736ac0a8b5" 

 

五. 總結(jié)

在本篇文章中,我們介紹了 HBase 和 Flink SQL 的結(jié)合使用比較廣泛兩種的場(chǎng)景:作為維度表用以及存儲(chǔ)計(jì)算結(jié)果;同時(shí)使用 REST API 對(duì) HBase 中的數(shù)據(jù)進(jìn)行查詢(xún),對(duì)于查詢(xún)用戶(hù)來(lái)說(shuō),避免直接暴露 HBase 的 zk,同時(shí)將 rest server 和 HBase 集群解耦。

作者簡(jiǎn)介

余敖,360 數(shù)據(jù)開(kāi)發(fā)高級(jí)工程師,目前專(zhuān)注于基于 Flink 的實(shí)時(shí)數(shù)倉(cāng)建設(shè)與平臺(tái)化工作。對(duì) Flink、Kafka、Hive、Spark 等進(jìn)行數(shù)據(jù) ETL 和數(shù)倉(cāng)開(kāi)發(fā)有豐富的經(jīng)驗(yàn)。

責(zé)任編輯:未麗燕 來(lái)源: Flink 中文社區(qū)
相關(guān)推薦

2024-11-08 16:13:43

Python開(kāi)發(fā)

2019-05-05 09:03:06

HBase大數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)

2010-08-06 10:49:46

RIP路由

2025-08-13 06:00:00

Flink SQLFlink大數(shù)據(jù)

2025-04-27 01:05:00

AI智能日志

2010-12-14 11:30:11

2022-06-06 08:51:56

PandasSQLPython

2014-07-14 13:36:23

HBase實(shí)戰(zhàn)

2023-10-24 20:32:40

大數(shù)據(jù)

2025-03-26 02:00:00

C#Docker開(kāi)發(fā)

2021-12-09 06:59:24

FlinkSQL 開(kāi)發(fā)

2022-05-18 09:02:28

Flink SQLSQL字符串

2022-04-22 09:05:12

蔚來(lái)汽車(chē)Flink實(shí)時(shí)數(shù)倉(cāng)

2009-06-04 20:38:15

MyEclipseWeblogicWeb應(yīng)用管理

2022-05-15 09:57:59

Flink SQL時(shí)間語(yǔ)義

2015-06-02 10:36:42

大數(shù)據(jù)

2018-08-26 22:39:08

單頁(yè)應(yīng)用HATEOAS

2020-11-20 07:51:02

JavaSPI機(jī)制

2014-11-19 14:30:33

hbasenosql數(shù)據(jù)庫(kù)bigtable

2015-06-11 10:09:04

大數(shù)據(jù)HBase
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

99久久国产免费免费| 日韩在线中文字幕| 成人免费无码av| 一级毛片视频在线观看| 久久精品国产成人一区二区三区| 久久精品亚洲乱码伦伦中文| 国产精品白嫩美女在线观看 | 亚洲成a人v欧美综合天堂麻豆| 亚洲成人三区| 亚洲国产精品字幕| 免费观看成人网| 羞羞网站在线看| 久久午夜老司机| 666精品在线| 国产欧美一区二区三区在线看蜜臂| 8848成人影院| 在线观看不卡一区| 免费看毛片的网址| 毛片在线不卡| 国产无一区二区| 91手机在线视频| 九九热最新视频| 亚洲第一毛片| 久久久成人精品视频| 亚洲激情视频小说| youjizz亚洲| 91精品欧美一区二区三区综合在 | 国产中文一区二区| 国产精品一区二区av白丝下载| 波多野结衣在线播放一区| 日韩你懂的在线观看| 亚洲这里只有精品| 在线看片国产福利你懂的| 亚洲激情六月丁香| 亚洲国产精品久久久久婷婷老年| 在线观看免费中文字幕| 亚洲永久网站| 91国自产精品中文字幕亚洲| 国产一二三四区| 99久久夜色精品国产亚洲96 | 午夜xxxxx| 欧美大片高清| 狠狠爱在线视频一区| 日韩精品在线中文字幕| 影音先锋在线播放| 亚洲欧美日韩久久| 中文字幕一区二区三区有限公司 | 91视视频在线直接观看在线看网页在线看| 欧美精品成人在线| 91香蕉视频网| 999国产精品永久免费视频app| 日韩欧美国产三级| 中文字幕在线视频一区二区| 国产精品诱惑| 欧美日本精品一区二区三区| 日韩精品你懂的| 91在线成人| 欧美日韩极品在线观看一区| 亚洲老女人av| 成年永久一区二区三区免费视频| 亚洲一区av在线| bt天堂新版中文在线地址| 中文字幕资源网在线观看| 亚洲毛片av在线| 欧美黄色免费网址| 羞羞视频在线免费国产| 亚洲二区视频在线| 丰满少妇被猛烈进入高清播放| 免费高清完整在线观看| 综合色天天鬼久久鬼色| 热这里只有精品| 日本动漫同人动漫在线观看| 亚洲成a人v欧美综合天堂| 日本a视频在线观看| 午夜欧美激情| 欧美午夜精品久久久| 日本一二区免费| 一区二区三区免费在线看| 亚洲高清一二三区| 蜜桃无码一区二区三区| 欧美艳星介绍134位艳星| 日韩视频欧美视频| 精品少妇一二三区| 久久久久久色| 国产日韩欧美另类| a级片免费观看| 91香蕉视频污在线| 午夜精品区一区二区三| 97超碰资源站在线观看| 欧美性videos高清精品| 粉嫩虎白女毛片人体| 国产电影一区| 亚洲免费视频网站| 精品国产大片大片大片| 一本不卡影院| 成人精品福利视频| 四虎精品在线| 一区二区欧美国产| 日本wwww视频| 亚洲精品视频一二三区| 亚洲天堂av综合网| 亚洲成人生活片| 日本视频一区二区| 国产精品一区二区三区在线 | 国内精品自线一区二区三区视频| 国产成人精品视频在线观看| 国产乱码久久久久| 久久久99久久| 黄色成人在线免费观看| 日本综合久久| 亚洲国产精品99久久| 亚洲欧洲综合网| 鲁大师成人一区二区三区 | 秋霞av一区二区三区| 久久精品国产一区二区三区免费看 | 欧美日韩久久一区| 国产伦精品一区二区三区妓女 | 一区二区在线视频播放| 九九热国产视频| 激情深爱一区二区| 欧美亚洲爱爱另类综合| 678在线观看视频| 欧美一级在线视频| 三级黄色片在线观看| 久久国产日本精品| 国产一区二区三区色淫影院| 最近中文字幕免费mv2018在线| 亚洲人午夜精品天堂一二香蕉| 中文网丁香综合网| 黑人巨大精品欧美一区二区桃花岛| 色综合久久久久久久| 99免费观看视频| 欧美一区亚洲| 亚洲va久久久噜噜噜久久天堂| 精品人妻伦一区二区三区久久| 国产99久久久精品| 国产美女视频免费| 亚洲伦理一区二区| www.午夜精品| 伊人色综合久久久| 国产精品美女久久久久久久久| 中文字幕综合在线观看| 成人精品国产亚洲| 宅男66日本亚洲欧美视频| 国产视频1区2区| 久久免费国产精品| 少妇人妻互换不带套| 国产精品嫩草影院在线看| 国产91精品不卡视频| 亚洲 欧美 激情 另类| 午夜国产精品一区| 国产麻豆xxxvideo实拍| 中文亚洲免费| 欧美午夜欧美| 国模私拍国内精品国内av| 国产亚洲视频中文字幕视频| 无码免费一区二区三区| 中文字幕av一区 二区| 污色网站在线观看| 亚洲精品一区二区在线看| 91啪国产在线| 国产探花在线观看| 精品小视频在线| 精品国产乱子伦| 日韩一区中文字幕| 午夜不卡久久精品无码免费| 在线视频精品| 亚欧洲精品在线视频免费观看| 一二三四区在线观看| 日韩精品一区二| 久久久久久久福利| 91看片淫黄大片一级在线观看| 一区二区三区的久久的视频| 美洲精品一卡2卡三卡4卡四卡| 在线视频综合导航| 久久日免费视频| 国内一区二区在线| 六月婷婷在线视频| 精品国产日韩欧美| 91免费看片网站| 91超碰在线播放| 色多多国产成人永久免费网站| 国产精品久久久久久久久久久久久久久久久| 日本在线观看不卡视频| 日本成人性视频| 国产区精品视频在线观看豆花| 久久精品中文字幕电影| 国 产 黄 色 大 片| 色噜噜偷拍精品综合在线| 中日韩一级黄色片| 99re8在线精品视频免费播放| 欧美一级中文字幕| 免费电影一区二区三区| 成人写真福利网| 美女网站在线看| 日韩视频免费在线| 久久久久久久影视| 日韩精品专区在线影院观看| 久久久久在线视频| 亚洲午夜在线观看视频在线| 性猛交ⅹxxx富婆video| 国产91精品免费| av污在线观看| 夜夜嗨网站十八久久| 亚洲美女自拍偷拍| 国产一区二区区别| 国产精品一区二区三区免费观看| 日本一本在线免费福利| 国产一区二区久久精品| 后入内射欧美99二区视频| 欧美日韩精品一区二区在线播放| 国产精久久一区二区三区| 国产麻豆精品视频| 手机视频在线观看| 亚洲人妖在线| 国产成人一二三区| 91精品亚洲| 亚洲草草视频| 国产欧美日韩影院| 久久久久无码国产精品一区| 91综合精品国产丝袜长腿久久| 欧美激情久久久久久| 思思99re6国产在线播放| 亚洲国产欧美久久| 性中国xxx极品hd| 555www色欧美视频| 91av国产精品| 欧美日韩久久一区| 亚洲一区二区三区网站| 欧洲一区二区三区在线| 91在线视频在线观看| 午夜国产精品影院在线观看| 久草国产在线视频| 亚洲免费观看高清完整版在线观看| 亚洲视频 中文字幕| 国产精品一区在线观看乱码 | 9191成人精品久久| 欧美一二三区视频| 婷婷开心久久网| 久久久久香蕉视频| 一区二区三区在线视频观看58| 手机在线成人av| 懂色中文一区二区在线播放| 樱花草www在线| 狠狠色丁香婷综合久久| 亚洲一级片免费| 久久69国产一区二区蜜臀| 成 人 黄 色 小说网站 s色| 美洲天堂一区二卡三卡四卡视频 | 久久久久久久欧美精品| 国产99久久九九精品无码| 国产欧美日韩一区二区三区在线| 日韩成人在线资源| 欧美精品一区二区三区中文字幕| 亚洲影院色无极综合| 国产精品日韩精品在线播放| 国产在线日韩在线| 国产精品日本一区二区不卡视频| 国产成人精品在线| 国产成人精品一区二三区在线观看 | 成年人免费观看视频网站| 91色九色蝌蚪| 337人体粉嫩噜噜噜| 国产精品进线69影院| 东方av正在进入| 亚洲午夜久久久久久久久电影网| 黄色一级片一级片| 亚洲欧美日韩国产中文在线| 激情五月婷婷在线| 欧美日韩在线观看视频| 欧美成人一区二区视频| 91精品国产aⅴ一区二区| av免费观看网址| 亚洲国产精品va| 成人动漫在线免费观看| xxx成人少妇69| 9765激情中文在线| 国产精品成人av在线| 成人综合日日夜夜| 国产精品视频一区二区三区经| 国产999精品在线观看| 97人人干人人| 色综合综合网| 大片在线观看网站免费收看| 国产一区二区三区的电影| 九色91popny| 粉嫩aⅴ一区二区三区四区| 在线观看国产精品一区| 亚洲精品成人少妇| 国产中文字幕视频| 日韩亚洲欧美成人一区| 久青草国产在线| 欧美成人合集magnet| 免费观看亚洲| 99国产视频| 欧美日韩国产一区二区三区不卡 | 五月天婷婷在线观看| 一区二区国产精品视频| 伦理av在线| 国产女人精品视频| 欧美a一欧美| 国产美女视频免费| 日本亚洲欧美天堂免费| 日本一区二区在线观看视频| 中文一区二区完整视频在线观看| 调教驯服丰满美艳麻麻在线视频 | 亚洲国产精品系列| 日韩伦理在线电影| 日韩av电影手机在线| 日韩欧美中文字幕在线视频| 四虎一区二区| 99视频一区| 精品国产免费久久久久久婷婷| 成人av在线影院| 强制高潮抽搐sm调教高h| 一本大道综合伊人精品热热| 精品人妻一区二区三区三区四区| 欧美成人激情免费网| 思思99re6国产在线播放| 国产精品99久久久久久久久久久久 | 国产精品视频在线观看| 国产日韩三级| 天堂а√在线中文在线| 久久97超碰色| 国精产品视频一二二区| 91久久精品一区二区| 午夜视频福利在线| 久久久久久网址| 午夜免费欧美电影| 97超碰人人爱| 国产在线视视频有精品| www.日本高清视频| 欧洲亚洲国产日韩| 久久国产精品高清一区二区三区| 日韩中文字幕av| 秋霞国产精品| 色女人综合av| 人人超碰91尤物精品国产| 久久视频精品在线观看| 91国偷自产一区二区三区成为亚洲经典| 日韩乱码一区二区三区| 日韩精品极品在线观看| 免费毛片b在线观看| 精品久久久久久中文字幕动漫 | jizzjizzxxxx| 成人免费va视频| 日本网站在线播放| 精品视频中文字幕| 成人爱爱网址| 色狠狠久久av五月综合|| 免费av成人在线| 波多野结衣喷潮| 欧美一级欧美三级在线观看| av片在线观看网站| 国产富婆一区二区三区| 伊人影院久久| 午夜理伦三级做爰电影| 在线亚洲人成电影网站色www| 国产乱淫片视频| 国产亚洲一区二区在线| 久久精品超碰| 成年人视频大全| av资源网一区| 久久久久久久久久成人| www.久久久久| 一区二区三区国产好| 春日野结衣av| 中文欧美字幕免费| 国产精品久久欧美久久一区| 欧美精品中文字幕一区| 日韩高清一级| 九九精品久久久| 一区二区三区四区视频精品免费| 又污又黄的网站| 久久久成人精品视频| 欧美在线关看| 污版视频在线观看| 一级中文字幕一区二区| 九色在线视频蝌蚪| 成人在线观看视频网站| 中文亚洲欧美| 老熟妇高潮一区二区三区| 亚洲国产精品久久| 激情亚洲小说| 国产婷婷一区二区三区| 国产精品美女久久福利网站| 亚洲精品成人电影| 国产精品三级网站| 亚洲看片一区| 日韩精品123区| 亚洲欧美自拍一区| 亚洲精品一二三**| 天堂中文视频在线| 亚洲国产欧美一区二区三区丁香婷 | 久久亚洲风情| 999精品在线视频| 国产丝袜视频一区| 日韩精品中文字幕吗一区二区| 狠狠干视频网站| 久久久精品tv|