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

如何在Flink 1.9中使用 Hive?

大數據
Apache Flink 從 1.9.0 版本開始增加了與 Hive 集成的功能,用戶可以通過 Flink 來訪問 Hive 的元數據,以及讀寫 Hive 中的表。本文將主要從項目的設計架構、最新進展、使用說明等方面來介紹這一功能。

Apache Flink 從 1.9.0 版本開始增加了與 Hive 集成的功能,用戶可以通過 Flink 來訪問 Hive 的元數據,以及讀寫 Hive 中的表。本文將主要從項目的設計架構、最新進展、使用說明等方面來介紹這一功能。

如何在Flink 1.9中使用 Hive?

Flink on Hive 介紹

SQL 是大數據領域中的重要應用場景,為了完善 Flink 的生態,發掘 Flink 在批處理方面的潛力,我們決定增強 FlinkSQL 的功能,從而讓用戶能夠通過 Flink 完成更多的任務。

Hive 是大數據領域最早出現的 SQL 引擎,發展至今有著豐富的功能和廣泛的用戶基礎。之后出現的 SQL 引擎,如 Spark SQL、Impala 等,都在一定程度上提供了與 Hive 集成的功能,從而方便用戶使用現有的數據倉庫、進行作業遷移等。因此我們認為提供與 Hive 交互的能力對于 FlinkSQL 也是非常重要的。

設計架構

與 Hive 集成主要包含了元數據和實際表數據的訪問,因此我們會從這兩方面介紹一下該項目的架構。

元數據

為了訪問外部系統的元數據,Flink 提供了 ExternalCatalog 的概念。但是目前 ExternalCatalog 的定義非常不完整,基本處于不可用的狀態。因此,我們提出了一套全新的 Catalog 接口來取代現有的 ExternalCatalog。新的 Catalog 能夠支持數據庫、表、分區等多種元數據對象;允許在一個用戶 Session 中維護多個 Catalog 實例,從而同時訪問多個外部系統;并且 Catalog 以可插拔的方式接入 Flink,允許用戶提供自定義的實現。下圖展示了新的 Catalog API 的總體架構。

如何在 Flink 1.9 中使用 Hive?

創建 TableEnvironment 的時候會同時創建一個 CatalogManager,負責管理不同的 Catalog 實例。TableEnvironment 通過 Catalog 來為 Table API 和 SQL Client 用戶提供元數據服務。

目前 Catalog 有兩個實現,GenericInMemoryCatalog 和 HiveCatalog。其中 GenericInMemoryCatalog 保持了原有的 Flink 元數據管理機制,將所有元數據保存在內存中。而 HiveCatalog 會與一個 Hive Metastore 的實例連接,提供元數據持久化的能力。要使用 Flink 與 Hive 進行交互,用戶需要配置一個 HiveCatalog,并通過 HiveCatalog 訪問 Hive 中的元數據。另一方面,HiveCatalog 也可以用來處理 Flink 自身的元數據,在這種場景下,HiveCatalog 僅將 Hive Metastore 作為持久化存儲使用,寫入 Hive Metastore 中的元數據并不一定是 Hive 所支持的格式。一個 HiveCatalog 實例可以同時支持這兩種模式,用戶無需為管理 Hive 和 Flink 的元數據創建不同的實例。

另外,我們設計了 HiveShim 來支持不同版本的 Hive Metastore。目前支持的 Hive 版本包括 2.3.4 和 1.2.1。

表數據

我們提供了 Hive Data Connector 來讀寫 Hive 的表數據。Hive Data Connector 盡可能的復用了 Hive 本身的 Input/Output Format 和 SerDe 等類,這樣做的好處一方面是減少了代碼重復,更重要的是可以最大程度的保持與 Hive 的兼容,即 Flink 寫入的數據 Hive 可以正常讀取,并且反之亦然。

與 HiveCatalog 類似的,Hive Data Connector 目前支持的 Hive 版本也是 2.3.4 和 1.2.1。

項目進展

Flink 與 Hive 集成的功能會在 1.9.0 版本中作為試用功能發布,用戶可以通過 Table API 或者 SQL Client 的模式與 Hive 進行交互。下面列出的是在 1.9.0 中已經支持的功能:

  • 提供簡單的 DDL 來讀取 Hive 元數據,比如 show databases、show tables、describe table 等。
  • 可通過 Catalog API 來修改 Hive 元數據,如 create table、drop table 等。
  • 讀取 Hive 數據,支持分區表和非分區表。
  • 寫 Hive 數據,支持非分區表。
  • 支持 Text、ORC、Parquet、SequenceFile 等文件格式。
  • 支持調用用戶在 Hive 中創建的 UDF。

由于是試用功能,因此還有一些方面不夠完善,下面列出的是在 1.9.0 中缺失的功能:

  • 不支持INSERT OVERWRITE。
  • 不支持寫分區表。
  • 不支持ACID表。
  • 不支持Bucket表。
  • 不支持View。

部分數據類型不支持,包括Decimal、Char、Varchar、Date、Time、Timestamp、Interval、Union等。

如何應用

添加依賴

使用 Flink 與 Hive 集成的功能,用戶首先需要添加相應的依賴。如果是使用 SQL Client,則需要將依賴的 jar 添加到 Flink 的 lib 目錄中;如果使用 Table API,則需要將相應的依賴添加到項目中(如pom.xml)。

如上文所述,目前支持的 Hive 版本包括 2.3.4 和 1.2.1,下表列出的是針對不同版本所需的依賴。

 

如何在 Flink 1.9 中使用 Hive?

其中 flink-shaded-hadoop-2-uber 包含了 Hive 對于 Hadoop 的依賴。如果不用 Flink 提供的包,用戶也可以將集群中使用的 Hadoop 包添加進來,不過需要保證添加的 Hadoop 版本與 Hive 所依賴的版本是兼容的(Hive 2.3.4 依賴的 Hadoop 版本是 2.7.2;Hive 1.2.1 依賴的 Hadoop 版本是 2.6.0)。

依賴的 Hive 包(即 hive-exec 和 hive-metastore)也可以使用用戶集群中 Hive 所提供的 jar 包,詳情請見支持不同的 Hive 版本。

配置 HiveCatalog

要與 Hive 交互,必須使用 HiveCatalog,下面介紹一下如何配置 HiveCatalog。

SQL Client

使用 SQL Client 時,用戶需要在 sql-client-defaults.yaml 中指定自己所需的 Catalog,在 sql-client-defaults.yaml 的“catalogs”列表中可以指定一個或多個 Catalog 實例。以下的示例展示了如何指定一個 HiveCatalog:

 

  1. catalogs: 
  2. # A typical catalog definition looks like
  3.   - name: myhive 
  4.     type: hive 
  5. hive-conf-dir: /path/to/hive_conf_dir 
  6. hive-version: 2.3.4 

其中 name 是用戶給每個 Catalog 實例指定的名字, Catalog 名字和 DB 名字構成了 FlinkSQL 中元數據的命名空間,因此需要保證每個 Catalog 的名字是唯一的。type 表示 Catalog 的類型,對于 HiveCatalog 而言,type 應該指定為 hive。hive-conf-dir 用于讀取 Hive 的配置文件,用戶可以將其設定為集群中 Hive 的配置文件目錄。hive-version 用于指定所使用的 Hive 版本,可以設定為 2.3.4 或者 1.2.1。

指定了 HiveCatalog 以后,用戶就可以啟動 sql-client,并通過以下命令驗證 HiveCatalog 已經正確加載。

 

  1. Flink SQL> show catalogs; 
  2. default_catalog 
  3. myhive 
  4.  
  5. Flink SQL> use catalog myhive; 

其中 show catalogs 會列出加載的所有 Catalog 實例。需要注意的是,除了用戶在sql-client-defaults.yaml 文件中配置的 Catalog 以外,FlinkSQL 還會自動加載一個 GenericInMemoryCatalog 實例作為內置的 Catalog,該內置 Catalog 默認名字為 default_catalog。

使用 use catalog 可以設定用戶 Session 當前的 Catalog。用戶在 SQL 語句中訪問元數據對象(如 DB、Table 等)時,如果不指定 Catalog 名字,則 FlinkSQL 會在當前 Catalog 中進行查找。

Table API

下面的代碼展示了如何通過 TableAPI 來創建 HiveCatalog,并注冊到 TableEnvironment。

 

  1. String name = "myhive"
  2. String defaultDatabase = "default"
  3. String hiveConfDir = "/path/to/hive_conf_dir"
  4. String version = "2.3.4"
  5.  
  6. TableEnvironment tableEnv = …; // create TableEnvironment 
  7. HiveCatalog hiveCatalog = new HiveCatalog(name, defaultDatabase, 
  8. hiveConfDir, version); 
  9. tableEnv.registerCatalog(name, hiveCatalog); 
  10. tableEnv.useCatalog(name); 

將 HiveCatalog 注冊到 TableEnvironment 以后,就可以在通過 TableEnvironment 提交 SQL 的時候訪問 HiveCatalog 中的元數據了。與 SQL Client 類似, TableEnvironment 也提供了 useCatalog 接口讓用戶設定當前 Catalog。

讀寫 Hive 表

設置好 HiveCatalog 以后就可以通過 SQL Client 或者 Table API 來讀寫 Hive 中的表了。

SQL Client

假設 Hive 中已經有一張名為 src 的表,我們可以用以下的 SQL 語句來讀寫這張表。

 

  1. Flink SQL> describe src; 
  2. root 
  3.  |-- key: STRING 
  4.  |-- value: STRING 
  5.  
  6.  
  7. Flink SQL> select * from src; 
  8.  
  9.                       key                     value 
  10.                        100                   val_100 
  11.                        298                   val_298 
  12.                          9                     val_9 
  13.                        341                   val_341 
  14.                        498                   val_498 
  15.                        146                   val_146 
  16.                        458                   val_458 
  17.                        362                   val_362 
  18.                        186                   val_186 
  19.                        ……                   …… 
  20.  
  21. Flink SQL> insert into src values ('newKey','newVal'); 

Table API

類似的,也可以通過 Table API 來讀寫上面提到的這張表。下面的代碼展示了如何實現這一操作。

 

  1. TableEnvironment tableEnv = …; // create TableEnvironment 
  2. tableEnv.registerCatalog("myhive", hiveCatalog); 
  3. // set myhive as current catalog 
  4. tableEnv.useCatalog("myhive"); 
  5.  
  6. Table src = tableEnv.sqlQuery("select * from src"); 
  7. // write src into a sink or do further analysis 
  8. …… 
  9.  
  10. tableEnv.sqlUpdate("insert into src values ('newKey', 'newVal')"); 
  11. tableEnv.execute("insert into src"); 

支持不同的 Hive 版本

Flink 1.9.0 中支持的 Hive 版本是 2.3.4 和 1.2.1,目前我們只針對這兩個版本進行了測試。使用 SQL Client 時,如果用戶沒有在 sql-client-defaults.yaml 文件中指定 Hive 版本,我們會自動檢測 classpath 中的 Hive 版本。如果檢測到的 Hive 版本不是 2.3.4 或 1.2.1 就會報錯。

借助 Hive 兼容性的保證,其它不同的小版本也比較可能是可以正常工作的。因此,如果用戶使用的 Hive 小版本與我們所支持的不同,可以指定一個支持的版本來試用與 Hive 集成的功能。比如用戶使用的 Hive 版本是 2.3.3,可以在 sql-client-defaults.yaml 文件或者代碼中將 Hive 版本指定為 2.3.4。

執行模式與 Planner 的選擇

Flink 1.9.0 中 Hive 的 TableSink 只能在 batch 模式下工作,因此如果用戶想要使用 Hive 的 TableSink,需要將執行模式設置為 batch。

Flink 1.9.0 增加了新的 blink planner,由于 blink planner 相比于原來的 planner 功能更加全面,因此我們建議在使用 FlinkSQL 與 Hive 集成時使用 blink planner。后續新的功能也可能會只支持 blink planner。

使用 SQL Client 時可以像這樣在 sql-client-defaults.yaml 中指定執行模式和 planner:

 

  1. execution: 
  2.   # select the implementation responsible for planning table programs 
  3.   # possible values are 'old' (used by defaultor 'blink' 
  4.   planner: blink 
  5.   # 'batch' or 'streaming' execution 
  6.   type: batch 

對應的 Table API 的寫法如下:

 

  1. EnvironmentSettings settings = EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build(); 
  2. TableEnvironment tableEnv = TableEnvironment.create(settings); 

后期規劃

我們會在 Flink 后續版本中進一步完善與 Hive 集成的功能,預計會在 1.10.0 版本中實現 Production-Ready。我們在后續版本中計劃開展的工作包括:

  • 更完整的數據類型支持
  • 支持寫分區表,包括靜態和動態分區
  • 支持 INSERT OVERWRITE
  • 支持 View
  • 更完整的 DDL、DML 的支持
  • 支持 Hive 的 TableSink 在 streaming 模式下工作,以便用戶將流式數據寫入到 Hive 中
  • 測試并支持更多的 Hive 版本
  • 支持 Bucket 表
  • 性能測試與優化

 

責任編輯:未麗燕 來源: 阿里云棲社區
相關推薦

2022-12-08 08:00:00

.NET?7BitArray數據執行

2019-08-26 09:20:29

Windows 10虛擬桌面Windows

2022-06-23 08:00:53

PythonDateTime模塊

2024-01-18 08:37:33

socketasyncio線程

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-03-09 07:27:40

Kafka開源分布式

2015-08-27 09:46:09

swiftAFNetworkin

2022-05-17 08:25:10

TypeScript接口前端

2011-08-10 09:31:41

Hibernateunion

2016-08-11 10:43:56

2019-09-16 19:00:48

Linux變量

2024-09-06 11:34:15

RustAI語言

2020-11-30 11:55:07

Docker命令Linux

2014-07-02 09:47:06

SwiftCocoaPods

2020-04-09 10:18:51

Bash循環Linux

2020-01-07 09:50:41

Windows 10上帝模式Windows

2014-05-15 11:22:17

Windows SerNIC Teaming

2020-11-05 11:16:06

Apache CassCassandra虛擬表

2022-10-25 09:07:28

Linuxxargs命令

2023-12-01 09:18:27

AxiosAxios 庫
點贊
收藏

51CTO技術棧公眾號

免费裸体美女网站| 国产日韩在线视频| 人人妻人人澡人人爽人人精品| 97成人资源| 中文在线一区二区| 成人免费自拍视频| 偷偷操不一样的久久| 国产精品午夜一区二区三区| 欧美一区二区三区免费| 青青草视频在线免费播放 | 高清国产一区二区| 热久久这里只有精品| 天天做夜夜爱爱爱| 天天躁日日躁成人字幕aⅴ| 欧美放荡的少妇| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 麻豆传媒免费在线观看| 成人午夜大片免费观看| 国产精品永久免费| 四虎精品永久在线| 好吊日精品视频| 综合网中文字幕| 国产熟女高潮一区二区三区 | 91视频免费看片| 日韩mv欧美mv国产网站| 欧美一区二区在线播放| 亚洲一二三区av| 麻豆视频在线观看免费网站黄| 中文字幕一区二| 日本不卡二区| 女人18毛片一区二区三区| 另类欧美日韩国产在线| 欧洲美女7788成人免费视频| 久久久久久久久久久久久久久久久| 日韩精品免费| 亚洲欧洲偷拍精品| 亚洲中文字幕一区| 岛国成人av| 欧美日韩国产123区| 日韩中文字幕免费在线| 天天色天天射天天综合网| 国产精品天天摸av网| 秋霞毛片久久久久久久久| 香蕉av在线播放| 国产做a爰片久久毛片| 国产精品永久在线| 中文字幕+乱码+中文字幕明步| 久久人人精品| 日本精品视频在线播放| 久久免费激情视频| 国模大胆一区二区三区| 色综合久综合久久综合久鬼88| 国产激情无码一区二区三区| 四季av一区二区凹凸精品| 最新中文字幕亚洲| 国产又粗又猛又爽又黄的视频小说| 国产精品手机在线播放| 在线午夜精品自拍| www.黄色com| 久久久久久久久久久久久久| 色哟哟入口国产精品| 妖精视频在线观看免费| 欧美高清视频手机在在线| 日韩视频永久免费观看| 私库av在线播放| 激情视频一区| 欧美性受xxxx黑人猛交| 国产黄网在线观看| 日本不卡视频一二三区| 91精品国产综合久久久久久久久| 国产精品高潮呻吟av| 国产精品综合二区| 国偷自产av一区二区三区小尤奈| 香蕉人妻av久久久久天天| 国产婷婷色一区二区三区| 日本免费高清不卡| 亚洲麻豆精品| 洋洋av久久久久久久一区| 成人一级生活片| 国产精品蜜芽在线观看| 色一情一乱一乱一91av| 自拍偷拍21p| 日韩精品一区二区三区中文 | 国产一区视频在线| 国产黄色小视频在线观看| 丁香六月综合激情| 欧美成人一区二区在线| 免费av在线网址| 亚洲国产视频一区| 粉嫩虎白女毛片人体| 91成人app| 日韩高清人体午夜| 国产探花在线视频| 在线亚洲观看| 国产日韩中文字幕| 国产又爽又黄网站亚洲视频123| 国产日韩一级二级三级| 日韩欧美视频免费在线观看| 蜜臀国产一区| 亚洲欧美日本国产| 亚洲免费电影在线| 国内性生活视频| 国产精久久久| 亚洲免费中文字幕| avtt天堂在线| 秋霞午夜av一区二区三区| 99久久综合狠狠综合久久止| 黄色影院在线播放| 亚洲大片一区二区三区| 美女网站色免费| 琪琪久久久久日韩精品| 中文字幕av一区二区| 日韩久久精品视频| 国产资源在线一区| 欧美日韩亚洲免费| 超清av在线| 91精品国产色综合久久不卡电影| 国产亚洲无码精品| 欧美日本在线| 美女视频黄a大片欧美| 韩国国内大量揄拍精品视频| 91麻豆成人精品国产| 久久日韩粉嫩一区二区三区| 国产精品视频网站在线观看| 婷婷精品久久久久久久久久不卡| 亚洲精品日韩久久久| 久久久久久天堂| 国精品**一区二区三区在线蜜桃| 四虎影视永久免费在线观看一区二区三区| 岛国av免费在线观看| 日韩欧美一区二区视频| 成人自拍小视频| 日本欧美在线观看| 欧美一区视久久| 亚洲黄色免费av| 精品调教chinesegay| 久久久久成人网站| 国产91精品免费| 国产亚洲精品久久久久久久| www.久久热| 久久视频这里只有精品| 免费av中文字幕| 国产亚洲一区二区在线观看| 久久国产亚洲精品无码| 久久91在线| 性欧美亚洲xxxx乳在线观看| 免费看国产片在线观看| 亚洲一二三四区| 特种兵之深入敌后| 欧美日韩国产亚洲一区| 99国精产品一二二线| 大地资源网3页在线观看| 51精品久久久久久久蜜臀| 午夜激情视频在线播放| 国产综合一区二区| 黄色特一级视频| 国产欧美啪啪| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲色欧美另类| 欧洲生活片亚洲生活在线观看| 在线观看欧美激情| 亚洲黄网在线观看| 亚洲国产精品激情在线观看| 91女神在线观看| 亚洲国产精品成人| ts人妖另类在线| 日韩伦理在线一区| 一区二区三区精品99久久| 一级黄色小视频| 一区二区三区资源| 久久久久麻豆v国产精华液好用吗| 国产精品久久久久久久免费软件 | 最新欧美人z0oozo0| 亚洲专区国产精品| av资源网在线播放| 国产性猛交xxxx免费看久久| 91精品国产乱码久久| 亚洲综合一二区| 中文字幕乱码在线| 欧美a一区二区| 99久热在线精品视频| 亚洲妇女av| 成人免费看片视频| 888av在线视频| 伊人伊成久久人综合网站| 国产免费福利视频| 粉嫩老牛aⅴ一区二区三区| 欧美日韩国产黄色| 成人av在线网| 在线观看国产一级片| 黄色成人在线网址| 日韩中文一区| 99国产精品免费网站| 国产精品高清在线观看| 秋霞在线午夜| 中文日韩在线观看| 天堂网av2014| 欧美军同video69gay| 欧美一二三区视频| 最新久久zyz资源站| 成人三级在线| 精品产品国产在线不卡| 欧美 日韩 国产在线观看| av免费观看国产| 国产又大又黄又粗又爽| 杨幂一区二区国产精品| 国产真实的和子乱拍在线观看| 久久久久久久久久久久国产| 国产精品呻吟久久| 影音先锋中文字幕一区二区| 日韩欧美亚洲在线| 国产精品极品| 91欧美激情另类亚洲| 国模套图日韩精品一区二区| 欧美激情亚洲国产| 麻豆传媒视频在线| 亚洲人成免费电影| 深夜福利视频网站| 日韩一区二区精品在线观看| 久久久久亚洲视频| 亚洲成人av资源| 麻豆chinese极品少妇| 成人免费视频在线观看| 国产午夜精品福利视频| 久久亚洲私人国产精品va媚药| 国产精品欧美性爱| 久久精品性爱视频| 国产欧美日韩在线看| 丰满大乳奶做爰ⅹxx视频 | 精品精品国产毛片在线看| 国产精品电影一区| 午夜精品成人av| 欧美一区第一页| 嗯啊主人调教在线播放视频| 欧美激情视频一区| 丰满大乳少妇在线观看网站| 久久国产精品免费视频| www.久久久久.com| 欧美成人精品xxx| 尤物在线网址| 欧美黑人巨大精品一区二区| 日本h片在线观看| 欧美激情亚洲另类| av3级在线| 4k岛国日韩精品**专区| 亚洲天堂av在线| 日韩av不卡电影| 欧美日韩精品免费观看视欧美高清免费大片 | 99电影在线观看| 亚洲精品不卡在线观看| av一区二区三区在线观看| 亚洲高清999| 国产专区一区二区三区| 少妇精品导航| 日韩中文字幕av在线| 水蜜桃久久夜色精品一区| 亚洲美女自拍偷拍| 欧美日本三区| 欧美日本视频在线观看| 欧美一级专区| 男女污污的视频| 久久99精品久久只有精品| 91精品国产三级| 不卡在线视频中文字幕| 亚洲观看黄色网| 亚洲国产精品激情在线观看 | 欧美色视频日本版| 日韩黄色一级视频| 日韩一区二区麻豆国产| 午夜国产在线观看| 在线成人激情视频| 最新av在线播放| 欧美性在线视频| 日韩欧美三区| 国产欧美综合精品一区二区| 九色精品国产蝌蚪| 一区二区精品免费视频| 国产一区日韩一区| 日韩欧美xxxx| 国产精品自拍三区| 亚洲最大的黄色网| 国产精品视频麻豆| 成人午夜激情网| 黄视频网站在线观看| 国产精品久久在线观看| 亚洲福利合集| 水蜜桃亚洲一二三四在线| 午夜久久久久| 9久久婷婷国产综合精品性色| 国产在线国偷精品免费看| 国产福利短视频| 亚洲欧美偷拍卡通变态| 极品国产91在线网站| 日韩午夜激情av| 春暖花开成人亚洲区| 欧美激情免费观看| 91国内外精品自在线播放| 成人免费视频网站| 日韩中文在线电影| 精品99在线视频| 国产999精品久久久久久绿帽| a天堂中文字幕| 亚洲国产精品嫩草影院| 国产精品国产av| 亚洲人成免费电影| 阿v视频在线| 亚洲综合在线播放| 日韩电影免费在线观看| 日日橹狠狠爱欧美超碰| 国产精品一区三区| 老头老太做爰xxx视频| 五月激情六月综合| 精品久久久久中文慕人妻| 色999日韩欧美国产| 日韩影片中文字幕| 久久国产精品高清| 亚洲视频日本| 四川一级毛毛片| 国产精品电影一区二区| 无码任你躁久久久久久久| 亚洲国产成人一区| 青春草视频在线观看| 91网站免费看| 国产精品久久久久久麻豆一区软件| av免费在线播放网站| av资源站一区| 久久久久久免费观看| 日韩一区二区电影网| 老司机精品影院| 成人www视频在线观看| 欧美日韩精品在线一区| 精品99在线视频| 久久色.com| 精品人妻一区二区三区免费看| 亚洲精品mp4| 密臀av在线播放| 久久国产精品-国产精品| 99热精品在线| 黑丝av在线播放| 大桥未久av一区二区三区| 国产91绿帽单男绿奴| 久久久久久伊人| 久久男人av| 欧美三级一级片| 久久久久久久综合狠狠综合| 51国产偷自视频区视频| 亚洲欧美视频在线| 国产免费不卡| 亚洲欧美日韩不卡一区二区三区| 青青青伊人色综合久久| 美女av免费看| 制服.丝袜.亚洲.另类.中文| 91精品久久久久久粉嫩| 国产精品18毛片一区二区| 9色精品在线| 欧美黄色一级生活片| 欧美视频一区二区三区| 国产原创视频在线观看| 99影视tv| 亚洲伊人网站| 一级黄色毛毛片| 日韩无一区二区| 888av在线视频| 色综合久久久久久久久五月| 老司机精品视频在线| 欧美三根一起进三p| 亚洲激情在线视频| av在线一区不卡| 国产免费xxx| 91在线视频观看| 波多野结衣理论片| 理论片在线不卡免费观看| 精品精品国产毛片在线看| 九热视频在线观看| 一区二区三区精品| 你懂的在线免费观看| 国产日韩专区在线| 亚洲国产三级| 黄色av片三级三级三级免费看| 欧美一级黄色片| 亚洲优女在线| 国产成人精品免费看在线播放| 成人高清免费观看| 中文字幕男人天堂| 欧美交受高潮1| 国产一区二区三区四区五区传媒| 亚洲自拍第三页| 欧美日韩在线视频观看| 免费日本一区二区三区视频| 国产一区再线| 精品一区二区在线看| 国产a∨精品一区二区三区仙踪林| 一本一道久久a久久精品逆3p| 99综合99| 成年人免费大片| 亚洲蜜臀av乱码久久精品蜜桃| 青梅竹马是消防员在线| 91精品国产一区二区三区动漫| 久久婷婷激情| 久久久久久久久久综合 |