黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Hive學習筆記

系統 3952 0

本文轉載自:http://blog.csdn.net/haojun186/article/details/7977565

1.??HIVE結構

Hive 是建立在 Hadoop 上的數據倉庫基礎構架。它提供了一系列的工具,可以用來進行數據提取轉化加載(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 QL,它允許熟悉 SQL 的用戶查詢數據。同時,這個語言也允許熟悉 MapReduce 開發者的開發自定義的 mapper 和 reducer 來處理內建的 mapper 和 reducer 無法完成的復雜的分析工作。

1.1?HIVE架構

?

Hive 的結構可以分為以下幾部分:

·????????用戶接口:包括 CLI, Client, WUI

·????????元數據存儲。通常是存儲在關系數據庫如 mysql, derby 中

·????????解釋器、編譯器、優化器、執行器

·????????Hadoop:用 HDFS 進行存儲,利用MapReduce 進行計算

1、 用戶接口主要有三個:CLI,Client和 WUI。其中最常用的是 CLI,Cli 啟動的時候,會同時啟動一個 Hive 副本。Client 是 Hive 的客戶端,用戶連接至 Hive Server。在啟動 Client 模式的時候,需要指出 Hive Server 所在節點,并且在該節點啟動 Hive Server。 WUI 是通過瀏覽器訪問 Hive。

2、 Hive 將元數據存儲在數據庫中,如 mysql、derby。Hive 中的元數據包括表的名字,表的列和分區及其屬性,表的屬性(是否為外部表等),表的數據所在目錄等。

3、 解釋器、編譯器、優化器完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在 HDFS 中,并在隨后有 MapReduce 調用執行。

4、Hive 的數據存儲在 HDFS 中,大部分的查詢由 MapReduce 完成(包含 * 的查詢,比如 select * from tbl 不會生成 MapRedcue 任務)。

1.2?Hive?和Hadoop 關系

?

Hive構建在 Hadoop 之上,

·????????HQL 中對查詢語句的解釋、優化、生成查詢計劃是由 Hive 完成的

·????????所有的數據都是存儲在 Hadoop 中

·????????查詢計劃被轉化為 MapReduce 任務,在 Hadoop 中執行(有些查詢沒有 MR 任務,如:select * from table)

·????????Hadoop和Hive都是用UTF-8編碼的

?

1.3?Hive?和普通關系數據庫的異同

?

Hive

RDBMS

查詢語言

HQL

SQL

數據存儲

HDFS

Raw Device or Local FS

索引

執行

MapReduce

Excutor

執行延遲

處理數據規模

1.? 查詢語言。由于 SQL 被廣泛的應用在數據倉庫中,因此,專門針對 Hive 的特性設計了類 SQL 的查詢語言 HQL。熟悉 SQL 開發的開發者可以很方便的使用 Hive 進行開發。

2.? 數據存儲位置。Hive 是建立在Hadoop 之上的,所有 Hive 的數據都是存儲在HDFS 中的。而數據庫則可以將數據保存在塊設備或者本地文件系統中。

3.? 數據格式。Hive 中沒有定義專門的數據格式,數據格式可以由用戶指定,用戶定義數據格式需要指定三個屬性:列分隔符(通常為空格、”\t”、”\x001″)、行分隔符(”\n”)以及讀取文件數據的方法(Hive 中默認有三個文件格式 TextFile,SequenceFile 以及 RCFile)。由于在加載數據的過程中,不需要從用戶數據格式到 Hive 定義的數據格式的轉換,因此,Hive 在加載的過程中不會對數據本身進行任何修改,而只是將數據內容復制或者移動到相應的 HDFS 目錄中。而在數據庫中,不同的數據庫有不同的存儲引擎,定義了自己的數據格式。所有數據都會按照一定的組織存儲,因此,數據庫加載數據的過程會比較耗時。

4.? 數據更新。由于 Hive 是針對數據倉庫應用設計的,而數據倉庫的內容是讀多寫少的。因此,Hive 中不支持對數據的改寫和添加,所有的數據都是在加載的時候中確定好的。而數據庫中的數據通常是需要經常進行修改的,因此可以使用 INSERT INTO ...? VALUES 添加數據,使用 UPDATE... SET 修改數據。

5.? 索引。之前已經說過,Hive 在加載數據的過程中不會對數據進行任何處理,甚至不會對數據進行掃描,因此也沒有對數據中的某些 Key 建立索引。Hive 要訪問數據中滿足條件的特定值時,需要暴力掃描整個數據,因此訪問延遲較高。由于 MapReduce 的引入, Hive 可以并行訪問數據,因此即使沒有索引,對于大數據量的訪問,Hive 仍然可以體現出優勢。數據庫中,通常會針對一個或者幾個列建立索引,因此對于少量的特定條件的數據的訪問,數據庫可以有很高的效率,較低的延遲。由于數據的訪問延遲較高,決定了 Hive 不適合在線數據查詢。

6.? 執行。Hive 中大多數查詢的執行是通過 Hadoop 提供的 MapReduce 來實現的(類似 select * from tbl 的查詢不需要 MapReduce)。而數據庫通常有自己的執行引擎。

7.? 執行延遲。之前提到,Hive 在查詢數據的時候,由于沒有索引,需要掃描整個表,因此延遲較高。另外一個導致 Hive 執行延遲高的因素是 MapReduce 框架。由于 MapReduce 本身具有較高的延遲,因此在利用 MapReduce 執行 Hive 查詢時,也會有較高的延遲。相對的,數據庫的執行延遲較低。當然,這個低是有條件的,即數據規模較小,當數據規模大到超過數據庫的處理能力的時候,Hive 的并行計算顯然能體現出優勢。

8.? 可擴展性。由于 Hive 是建立在 Hadoop 之上的,因此 Hive 的可擴展性是和 Hadoop 的可擴展性是一致的(世界上最大的 Hadoop 集群在 Yahoo!,2009年的規模在4000 臺節點左右)。而數據庫由于 ACID 語義的嚴格限制,擴展行非常有限。目前最先進的并行數據庫 Oracle 在理論上的擴展能力也只有 100 臺左右。

9.?數據規模。由于 Hive 建立在集群上并可以利用 MapReduce 進行并行計算,因此可以支持很大規模的數據;對應的,數據庫可以支持的數據規模較小。

1.4?HIVE元數據庫

Hive 將元數據存儲在 RDBMS 中,一般常用的有MYSQL和DERBY。

1.4.1?????DERBY

啟動HIVE的元數據庫

進入到hive的安裝目錄

Eg:

1、啟動derby數據庫

/home/admin/caona/hive/build/dist/

運行startNetworkServer -h 0.0.0.0

?

2、連接Derby數據庫進行測試

查看/home/admin/caona/hive/build/dist/conf/hive-default.xml。

找到<property>

???<name>javax.jdo.option.ConnectionURL</name>

???<value>jdbc:derby://hadoop1:1527/metastore_db;create=true</value>

???<description>JDBC connect string for a JDBCmetastore</description>

? </property>

進入derby安裝目錄

/home/admin/caona/hive/build/dist/db-derby-10.4.1.3-bin/bin

輸入./ij

Connect'jdbc:derby://hadoop1:1527/metastore_db;create=true';

?

3、元數據庫數據字典

表名

說明

關聯鍵

BUCKETING_COLS????????

? ?

????COLUMNS??????? ????

Hive表字段信息(字段注釋,字段名,字段類型,字段序號)

SD_ID

DBS

 元數據庫信息,存放HDFS路徑信息

DB_ID

PARTITION_KEYS????????

Hive分區表分區鍵

PART_ID

SDS???????????????????

所有hive表、表分區所對應的hdfs數據目錄和數據格式。

SD_ID,SERDE_ID

SD_PARAMS?????????????

序列化反序列化信息,如行分隔符、列分隔符、NULL的表示字符等

SERDE_ID

SEQUENCE_TABLE????????

SEQUENCE_TABLE表保存了hive對象的下一個可用ID,如’org.apache.hadoop.hive.metastore.model.MTable’, 21,則下一個新創建的hive表其TBL_ID就是21,同時SEQUENCE_TABLE表中271786被更新為26(這里每次都是+5?)。同樣,COLUMN,PARTITION等都有相應的記錄

?

SERDES????????????????

? ?

SERDE_PARAMS??????????

? ?

SORT_COLS?????????????

? ?

TABLE_PARAMS??????????

表級屬性,如是否外部表,表注釋等

TBL_ID

TBLS??????????????????

所有hive表的基本信息

TBL_ID,SD_ID

?

從上面幾張表的內容來看,hive整個創建表的過程已經比較清楚了

  1. 解析用戶提交hive語句,對其進行解析,分解為表、字段、分區等hive對象
  2. 根據解析到的信息構建對應的表、字段、分區等對象,從SEQUENCE_TABLE中獲取構建對象的最新ID,與構建對象信息(名稱,類型等)一同通過DAO方法寫入到元數據表中去,成功后將SEQUENCE_TABLE中對應的最新ID+5。

實際上我們常見的RDBMS都是通過這種方法進行組織的,典型的如postgresql,其系統表中和hive元數據一樣裸露了這些id信息(oid,cid等),而Oracle等商業化的系統則隱藏了這些具體的ID。通過這些元數據我們可以很容易的讀到數據諸如創建一個表的數據字典信息,比如導出建表語名等。

導出建表語句的shell腳本見 附一 待完成

1.4.2?????Mysql

將存放元數據的Derby數據庫遷移到Mysql數據庫

步驟:

?

1.5?HIVE的數據存儲

??? 首先,Hive 沒有專門的數據存儲格式,也沒有為數據建立索引,用戶可以非常自由的組織 Hive 中的表,只需要在創建表的時候告訴 Hive 數據中的列分隔符和行分隔符,Hive 就可以解析數據。

其次,Hive 中所有的數據都存儲在 HDFS 中,Hive 中包含以下數據模型:Table,External Table,Partition,Bucket。

  1. Hive 中的 Table 和數據庫中的 Table 在概念上是類似的,每一個 Table 在 Hive 中都有一個相應的目錄存儲數據。例如,一個表 xiaojun,它在 HDFS 中的路徑為:/ warehouse /xiaojun,其中,wh 是在 hive-site.xml 中由 ${hive.metastore.warehouse.dir} 指定的數據倉庫的目錄,所有的 Table 數據(不包括 External Table)都保存在這個目錄中。
  2. Partition 對應于數據庫中的 Partition 列的密集索引,但是 Hive 中 Partition 的組織方式和數據庫中的很不相同。在 Hive 中,表中的一個 Partition 對應于表下的一個目錄,所有的 Partition 的數據都存儲在對應的目錄中。例如:xiaojun 表中包含 dt 和 city 兩個 Partition,則對應于 dt = 20100801, ctry = US 的 HDFS 子目錄為:/ warehouse /xiaojun/dt=20100801/ctry=US;對應于 dt = 20100801, ctry = CA 的 HDFS 子目錄為;/ warehouse /xiaojun/dt=20100801/ctry=CA
  3. Buckets 對指定列計算 hash,根據 hash 值切分數據,目的是為了并行,每一個 Bucket 對應一個文件。將 user 列分散至 32 個 bucket,首先對 user 列的值計算 hash,對應 hash 值為 0 的 HDFS 目錄為:/ warehouse /xiaojun/dt =20100801/ctry=US/part-00000;hash 值為 20 的 HDFS 目錄為:/ warehouse /xiaojun/dt =20100801/ctry=US/part-00020
  4. External Table 指向已經在 HDFS 中存在的數據,可以創建 Partition。它和 Table 在元數據的組織上是相同的,而實際數據的存儲則有較大的差異。
  • Table 的創建過程和數據加載過程(這兩個過程可以在同一個語句中完成),在加載數據的過程中,實際數據會被移動到數據倉庫目錄中;之后對數據對訪問將會直接在數據倉庫目錄中完成。刪除表時,表中的數據和元數據將會被同時刪除。
  • External Table 只有一個過程,加載數據和創建表同時完成(CREATE EXTERNAL TABLE ……LOCATION),實際數據是存儲在 LOCATION 后面指定的 HDFS 路徑中,并不會移動到數據倉庫目錄中。當刪除一個 External Table 時,僅刪除

?

1.6?其它HIVE操作

?

1、 啟動HIVE的WEB的界面

sh $HIVE_HOME/bin/hive --service hwi

?

2、查看HDFS上的文件數據

hadoopfs -text /user/admin/daiqf/createspu_fp/input/cateinfo |head

?

?

2.??HIVE?基本操作

2.1?createtable

2.1.1??? 總述

l? CREATETABLE 創建一個指定名字的表。如果相同名字的表已經存在,則拋出異常;用戶可以用 IF NOT EXIST 選項來忽略這個異常。

l? EXTERNAL關鍵字可以讓用戶創建一個外部表,在建表的同時指定一個指向實際數據的路徑(LOCATION),Hive?創建內部表時,會將數據移動到數據倉庫指向的路徑;若創建外部表,僅記錄數據所在的路徑,不對數據的位置做任何改變。在刪除表的時候,內部表的元數據和數據會被一起刪除,而外部表只刪除元數據,不刪除數據。

l? LIKE 允許用戶復制現有的表結構,但是不復制數據。

l? 用戶在建表的時候可以自定義 SerDe 或者使用自帶的 SerDe。如果沒有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,將會使用自帶的 SerDe。在建表的時候,用戶還需要為表指定列,用戶在指定表的列的同時也會指定自定義的SerDe,Hive 通過 SerDe 確定表的具體的列的數據。

l? 如果文件數據是純文本,可以使用 STORED AS TEXTFILE。如果數據需要壓縮,使用 STORED ASSEQUENCE 。

l? 有分區的表可以在創建的時候使用 PARTITIONED BY 語句。一個表可以擁有一個或者多個分區,每一個分區單獨存在一個目錄下。而且,表和分區都可以對某個列進行 CLUSTERED BY 操作,將若干個列放入一個桶(bucket)中。也可以利用SORT BY 對數據進行排序。這樣可以為特定應用提高性能。

l? 表名和列名不區分大小寫,SerDe 和屬性名區分大小寫。表和列的注釋是字符串。

2.1.2??? 語法

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name

??[(col_namedata_type [COMMENT col_comment], ...)]

??[COMMENTtable_comment]

??[PARTITIONED BY(col_name data_type [COMMENT col_comment], ...)]

??[CLUSTERED BY(col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTOnum_buckets BUCKETS]

??[

???[ROW FORMATrow_format] [STORED AS file_format]

???| STORED BY'storage.handler.class.name' [ WITH SERDEPROPERTIES (...) ]? (Note:?only available starting with 0.6.0)

??]

??[LOCATIONhdfs_path]

??[TBLPROPERTIES(property_name=property_value, ...)]?(Note:? only available startingwith 0.6.0)

??[ASselect_statement]? (Note: this feature isonly available starting with 0.5.0.)

?

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name

??LIKEexisting_table_name

??[LOCATIONhdfs_path]

?

data_type

??: primitive_type

??| array_type

??| map_type

??| struct_type

?

primitive_type

??: TINYINT

??| SMALLINT

??| INT

??| BIGINT

??| BOOLEAN

??| FLOAT

??| DOUBLE

??| STRING

?

array_type

??: ARRAY <data_type >

?

map_type

??: MAP <primitive_type, data_type >

?

struct_type

??: STRUCT <col_name : data_type [COMMENT col_comment], ...>

?

row_format

??: DELIMITED[FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]

????????[MAP KEYSTERMINATED BY char] [LINES TERMINATED BY char]

??| SERDEserde_name [WITH SERDEPROPERTIES (property_name=property_value,property_name=property_value, ...)]

?

file_format:

??: SEQUENCEFILE

??| TEXTFILE

??| RCFILE???? (Note:?only available starting with 0.6.0)

??| INPUTFORMATinput_format_classname OUTPUTFORMAT output_format_classname

?

?

目前在hive中常用的數據類型有:

?? BIGINT – 主要用于狀態,類別,數量的字段, 如status/option/type/quantity

?? DOUBLE – 主要用于金額的字段, 如fee/price/bid

?? STRING – 除上述之外的字段基本都使用String, 尤其是id和日期時間這樣的字段

?

2.1.3?????基本例子

1、如果一個表已經存在,可以使用if not exists

2、 create table xiaojun(id int,cont string) row format delimitedfields terminated by '\005' stored as textfile;

terminated by:關于來源的文本數據的字段間隔符

如果要將自定義間隔符的文件讀入一個表,需要通過創建表的語句來指明輸入文件間隔符,然后load data到這個表。

4、Alibaba數據庫常用間隔符的讀取

我們的常用間隔符一般是Ascii碼5,Ascii碼7等。在hive中Ascii碼5用’\005’表示, Ascii碼7用’\007’表示,依此類推。

5、裝載數據

查看一下:Hadoop fs -ls

LOAD DATA INPATH'/user/admin/xiaojun/a.txt' OVERWRITE INTO TABLE xiaojun;

6、如果使用external建表和普通建表區別

A、指定一個位置,而不使用默認的位置。如:

create? EXTERNAL?table xiaojun(id int,cont string) row format delimited fields terminatedby '\005' stored as textfile location '/user/admin/xiaojun/';

--------------check結果

ij> selectLOCATION from tbls a,sds b where a.sd_id=b.sd_id and tbl_name='xiaojun';?

-----

LOCATION???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

--------------------------------------------------------------------------------------------------------------------------------

hdfs://hadoop1:7000/user/admin/xiaojun??

?

ij> selectLOCATION from tbls a,sds b where a.sd_id=b.sd_id and tbl_name='c';

----

LOCATION???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

--------------------------------------------------------------------------------------------------------------------------------

hdfs://hadoop1:7000/user/hive/warehouse/c

B、對于使用create table external建表完成后,再drop掉表,表中的數據還在文件系統中。

如:

hive>create? EXTERNAL? table xiaojun(id int,cont string) row formatdelimited fields terminated by '\005' stored as textfile;

----

OK

?

hive> LOADDATA INPATH '/user/admin/xiaojun' OVERWRITE INTO TABLE xiaojun;

--------------------------------------------------

Loading data totable xiaojun

OK

?

hive> droptable xiaojun;

----

OK

?

[admin@hadoop1bin]$ ./hadoop fs -ls hdfs://hadoop1:7000/user/hive/warehouse/xiaojun

Found 1 items

使用普通的建表DROP后則找不到

2.1.4??? 創建分區

?? HIVE的分區通過在創建表時啟用partitionby實現,用來partition的維度并不是實際數據的某一列,具體分區的標志是由插入內容時給定的。當要查詢某一分區的內容時可以采用where語句,形似where tablename.partition_key >a來實現。

創建含分區的表。

命令原型:

CREATE TABLE page_view(viewTime INT, userid BIGINT,

?????page_urlSTRING, referrer_url STRING,

?????ip STRINGCOMMENT 'IP Address of the User')

?COMMENT 'This isthe page view table'

?PARTITIONED BY(dtSTRING, country STRING)

?CLUSTEREDBY(userid) SORTED BY(viewTime) INTO 32 BUCKETS

?ROW FORMATDELIMITED

???FIELDSTERMINATED BY '\001'

???COLLECTION ITEMSTERMINATED BY '\002'

???MAP KEYSTERMINATED BY '\003'

?STORED ASSEQUENCEFILE;

?

Eg:

建表:

CREATE TABLE c02_clickstat_fatdt1

(yyyymmdd? string,

?id????????????? INT,

?ip?????????????? string,

?country????????? string,

?cookie_id??????? string,

?page_id????????? string? ,?

?clickstat_url_id int,

?query_string???? string,

?refer??????????? string

)PARTITIONED BY(dt STRING)

row format delimited fields terminated by '\005' stored astextfile;

?

裝載數據:

LOAD DATA INPATH'/user/admin/SqlldrDat/CnClickstat/20101101/19/clickstat_gp_fatdt0/0' OVERWRITEINTO TABLE c02_clickstat_fatdt1

?PARTITION(dt='20101101');

?

訪問某一個分區

SELECT count(*)

??? FROMc02_clickstat_fatdt1 a

??? WHERE a.dt >='20101101' AND a.dt < '20101102';

2.1.5??? 其它例子

1、指定LOCATION位置

CREATE EXTERNAL TABLE page_view(viewTime INT, useridBIGINT,

?????page_urlSTRING, referrer_url STRING,

?????ip STRING COMMENT'IP Address of the User',

?????country STRINGCOMMENT 'country of origination')

?COMMENT 'This isthe staging page view table'

?ROW FORMATDELIMITED FIELDS TERMINATED BY '\054'

?STORED AS TEXTFILE

?LOCATION'<hdfs_location>';

2、 復制一個空表

CREATE TABLE empty_key_value_store

LIKE key_value_store;

?

?

?

2.2?AlterTable

2.2.1??? AddPartitions

ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec[ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...

?

partition_spec:

??: PARTITION(partition_col = partition_col_value, partition_col = partiton_col_value, ...)

Eg:

ALTER TABLE c02_clickstat_fatdt1 ADD

PARTITION (dt='20101202') location'/user/hive/warehouse/c02_clickstat_fatdt1/part20101202'

PARTITION (dt='20101203') location'/user/hive/warehouse/c02_clickstat_fatdt1/part20101203';

?

2.2.2??? DropPartitions

ALTER TABLE table_name DROP partition_spec, partition_spec,...

?

ALTER TABLE c02_clickstat_fatdt1 DROP PARTITION(dt='20101202');

2.2.3??? RenameTable

ALTER TABLE table_name RENAME TO new_table_name

這個命令可以讓用戶為表更名。數據所在的位置和分區名并不改變。換而言之,老的表名并未“釋放”,對老表的更改會改變新表的數據。

2.2.4??? ChangeColumn

ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_namecolumn_type [COMMENT col_comment] [FIRST|AFTER column_name]

這個命令可以允許改變列名、數據類型、注釋、列位置或者它們的任意組合

Eg:

?

2.2.5??? Add/ReplaceColumns

ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type[COMMENT col_comment], ...)

?

ADD是代表新增一字段,字段位置在所有列后面(partition列前);REPLACE則是表示替換表中所有字段。

Eg:

hive> desc xi;

OK

id????? int

cont??? string

dw_ins_date???? string

Time taken: 0.061 seconds

hive> create table xibak like xi;????????????????????????

OK

Time taken: 0.157 seconds

hive> alter table xibak replace columns (ins_datestring);??

OK

Time taken: 0.109 seconds

hive> desc xibak;

OK

ins_date??????? string

2.3?CreateView

CREATE VIEW [IF NOT EXISTS] view_name [ (column_name [COMMENTcolumn_comment], ...) ]

[COMMENT view_comment]

[TBLPROPERTIES (property_name = property_value, ...)]

AS SELECT ...

?

2.4?Show

查看表名

SHOWTABLES;

?

查看表名,部分匹配

SHOWTABLES 'page.*';

SHOWTABLES '.*view';

?

查看某表的所有Partition,如果沒有就報錯:

SHOWPARTITIONS page_view;

?

查看某表結構:

DESCRIBE? invites ;

?

查看分區內容

SELECTa.foo FROM invites a WHERE a. ds [王黎1] ?='2008-08-15';

?

查看有限行內容,同Greenplum,用limit關鍵詞

SELECTa.foo FROM invites a limit 3;

?

查看表分區定義

DESCRIBE? EXTENDED [王黎2] ??page_view PARTITION (ds='2008-08-08');

2.5?Load

?? HIVE裝載數據沒有做任何轉換加載到表中的數據只是進入相應的配置單元表的位置移動數據文件。純加載操作復制/移動操作。

?

3.1 語法

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTOTABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

Load 操作只是單純的復制/移動操作,將數據文件移動到 Hive 表對應的位置。

  • filepath 可以是:
    • 相對路徑,例如:project/data1
    • 絕對路徑,例如: /user/hive/project/data1
    • 包含模式的完整 URI,例如:hdfs://namenode:9000/user/hive/project/data1
  • 加載的目標可以是一個表或者分區。如果表包含分區,必須指定每一個分區的分區名。
  • filepath 可以引用一個文件(這種情況下,Hive 會將文件移動到表所對應的目錄中)或者是一個目錄(在這種情況下,Hive 會將目錄中的所有文件移動至表所對應的目錄中)。
  • 如果指定了 LOCAL,那么:
    • load 命令會去查找本地文件系統中的 filepath。如果發現是相對路徑,則路徑會被解釋為相對于當前用戶的當前路徑。用戶也可以為本地文件指定一個完整的 URI,比如:file:///user/hive/project/data1.
    • load 命令會將 filepath 中的文件復制到目標文件系統中。目標文件系統由表的位置屬性決定。被復制的數據文件移動到表的數據對應的位置。
  • 如果沒有指定 LOCAL 關鍵字,如果 filepath 指向的是一個完整的 URI,hive 會直接使用這個 URI。 否則:
    • 如果沒有指定 schema 或者 authority,Hive 會使用在 hadoop 配置文件中定義的 schema 和 authority,fs.default.name 指定了 Namenode 的 URI。
    • 如果路徑不是絕對的,Hive 相對于 /user/ 進行解釋。
    • Hive 會將 filepath 中指定的文件內容移動到 table (或者 partition)所指定的路徑中。
  • 如果使用了 OVERWRITE 關鍵字,則目標表(或者分區)中的內容(如果有)會被刪除,然后再將 filepath 指向的文件/目錄中的內容添加到表/分區中。
  • 如果目標表(分區)已經有一個文件,并且文件名和 filepath 中的文件名沖突,那么現有的文件會被新文件所替代。

?

從本地導入數據到表格并追加原表

LOAD DATALOCAL INPATH `/tmp/pv_2008-06-08_us.txt` INTO TABLE c02PARTITION(date='2008-06-08', country='US')

?

從本地導入數據到表格并追加記錄

LOAD DATALOCAL INPATH './examples/files/kv1.txt' INTO TABLE pokes;

?

從hdfs導入數據到表格并覆蓋原表

LOAD DATAINPATH '/user/admin/SqlldrDat/CnClickstat/20101101/18/clickstat_gp_fatdt0/0'INTO table c02_clickstat_fatdt1 OVERWRITE PARTITION (dt='20101201');

關于來源的文本數據的字段間隔符

如果要將自定義間隔符的文件讀入一個表,需要通過創建表的語句來指明輸入文件間隔符,然后load data到這個表就ok了。

?

2.6?Insert

2.6.1???Inserting data into HiveTables from queries

?

Standard syntax:

INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1,partcol2=val2 ...)] select_statement1 FROM from_statement

?

Hive extension (multiple inserts):

FROM from_statement

INSERT OVERWRITE TABLE tablename1 [PARTITION(partcol1=val1, partcol2=val2 ...)] select_statement1

[INSERT OVERWRITE TABLE tablename2 [PARTITION ...]select_statement2] ...

?

Hive extension (dynamic partition inserts):

INSERT OVERWRITE TABLE tablename PARTITION(partcol1[=val1], partcol2[=val2] ...) select_statement FROM from_statement

?

Insert時,from子句既可以放在select子句后,也可以放在insert子句前,下面兩句是等價的

hive> FROM invites a INSERT OVERWRITE TABLEevents SELECT a.bar, count(*) WHERE a.foo > 0 GROUP BY a.bar;

??hive> INSERT OVERWRITE TABLE events SELECTa.bar, count(*) FROM invites a WHERE a.foo > 0 GROUP BY a.bar;

hive沒有直接插入一條數據的sql,不過可以通過其他方法實現:
假設有一張表B至少有一條數據,我們想向表A(int,string)中插入一條數據,可以用下面的方法實現:
from B
insert table A select??1,‘abc’ limit 1;

?

我覺得hive好像不能夠插入一個記錄,因為每次你寫insert語句的時候都是要將整個表的值overwrite。我想這個應該是與hive的storage layer是有關系的,因為它的存儲層是HDFS,插入一個數據要全表掃描,還不如用整個表的替換來的快些。

?

Hive不支持一條一條的用insert語句進行插入操作,也不支持update的操作。數據是以load的方式,加載到建立好的表中。數據一旦導入,則不可修改。要么drop掉整個表,要么建立新的表,導入新的數據。

2.6.2???Writing data intofilesystem from queries

Standard syntax:

INSERT OVERWRITE [LOCAL] DIRECTORY directory1 SELECT ...FROM ...

?

Hive extension (multiple inserts):

FROM from_statement

INSERT OVERWRITE [LOCAL] DIRECTORY directory1select_statement1

[INSERT OVERWRITE [LOCAL] DIRECTORY directory2select_statement2] ...

?

導出文件到本地

INSERTOVERWRITE LOCAL DIRECTORY '/tmp/local_out' SELECT a.* FROM pokes a;

?

導出文件到HDFS

INSERTOVERWRITE DIRECTORY'/user/admin/SqlldrDat/CnClickstat/20101101/19/clickstat_gp_fatdt0/0' SELECTa.* FROM c02_clickstat_fatdt1 a WHERE dt=’20101201’;

?

一個源可以同時插入到多個目標表或目標文件,多目標insert可以用一句話來完成

FROM src

??INSERT OVERWRITE TABLE dest1 SELECT src.*WHERE src.key < 100

??INSERT OVERWRITE TABLE dest2 SELECT src.key,src.value WHERE src.key >= 100 and src.key < 200

??INSERT OVERWRITE TABLE dest3PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200 andsrc.key < 300

??INSERT OVERWRITE LOCAL DIRECTORY'/tmp/dest4.out' SELECT src.value WHERE src.key >= 300;

Eg:

from xi?

insert overwrite?table test2 select? '1,2,3' limit1

insert overwrite?table d select? '4,5,6' limit 1;

2.7Cli [王黎3] ?

2.7.1??? HiveCommand line Options

$HIVE_HOME/bin/hive是一個shell工具,它可以用來運行于交互或批處理方式配置單元查詢。

語法:

??Usage: hive[-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-equery-string>] [-S]

?

??-i<filename>????????????Initialization Sql from file (executed automatically and silently beforeany other commands)

??-e 'quoted querystring'? Sql from command line

??-f<filename>???????????? Sql fromfile

??-S??????????????????????? Silent mode ininteractive shell where only data is emitted

??-hiveconfx=y???????????? Use this to sethive/hadoop configuration variables.

??

???-e and -f cannotbe specified together. In the absence of these options, interactive shell isstarted.?

???However, -i canbe used with any other options.? Multipleinstances of -i can be used to execute multiple init scripts.

?

???To see thisusage help, run hive -h

?

運行一個查詢:

$HIVE_HOME/bin/?hive -e 'select count(*) fromc02_clickstat_fatdt1'

Example of setting hive configurationvariables

$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'-hiveconf? hive.exec.scratchdir=/home/my/hive_scratch?? -hiveconf mapred.reduce.tasks=32 [王黎4] ?

將查詢結果導出到一個文件

HIVE_HOME/bin/hive -S -e '?select count(*) from c02_clickstat_fatdt1'> a.txt

運行一個腳本

HIVE_HOME/bin/hive -f /home/my/hive-script.sql

Example of running an initialization scriptbefore entering interactive mode

HIVE_HOME/bin/hive -i /home/my/hive-init.sql

?

2.7.2??? Hiveinteractive Shell Command

Command

Description

quit

使用 quit or exit 退出

set <key>=<value>

使用這個方式來設置特定的配置變量的值。有一點需要注意的是,如果你拼錯了變量名,CLI將不會顯示錯誤。

set

這將打印的配置變量,如果沒有指定變量則由顯示HIVE和用戶變量。如set I 則顯示i的值,set則顯示hive內部變量值

set -v

This will give all possible hadoop/hive configuration variables.

add FILE <value> <value>*

Adds a file to the list of resources.

list FILE

list all the resources already added

list FILE <value>*

Check given resources are already added or not.

! <cmd>

execute a shell command from hive shell

dfs <dfs command>

execute dfs command command from hive shell

<query string>

executes hive query and prints results to stdout

Eg:

??hive> set? i=32;

??hive> set i;

??hive> selecta.* from xiaojun a;

??hive> !ls;

??hive> dfs -ls;

?

還可以這樣用

hive> set $i='121.61.99.14.128160791368.5';

hive> select count(*) from c02_clickstat_fatdt1 wherecookie_id=$i;

11

2.7.3???Hive Resources

Hive can manage theaddition of resources to a session where those resources need to be made availableat query execution time. Any locally accessible file can be added to thesession. Once a file is added to a session, hive query can refer to this fileby its name (in? map/reduce/transformclauses [王黎5] ?) and this file is available locally at execution time on the entirehadoop cluster. Hive uses Hadoop's Distributed Cache to distribute the addedfiles to all the machines in the cluster at query execution time.

Usage:

·???????????ADD { FILE[S] | JAR[S] |ARCHIVE[S] } <filepath1> [<filepath2>]*

·???????????LIST { FILE[S] | JAR[S] |ARCHIVE[S] } [<filepath1> <filepath2> ..]

·???????????DELETE { FILE[S] | JAR[S] |ARCHIVE[S] } [<filepath1> <filepath2> ..]

  • FILE resources are just added to the distributed cache. Typically, this might be something like a transform script to be executed.
  • JAR resources are also added to the Java classpath. This is required in order to reference objects they contain such as UDF's.
  • ARCHIVE resources are automatically unarchived as part of distributing them.

Example:

·??????????hive> add FILE /tmp/tt.py;

·??????????hive> list FILES;

·??????????/tmp/tt.py

·??????????hive> from networks a? MAP a.networkid USING 'python tt.py' as nnwhere a.ds = '2009-01-04' limit? 10;

It is not neccessary to addfiles to the session if the files used in a transform script are alreadyavailable on all machines in the hadoop cluster using the same path name. Forexample:

  • ... MAP a.networkid USING 'wc -l' ...: here wc is an executable available on all machines
  • ... MAP a.networkid USING '/home/nfsserv1/hadoopscripts/tt.py' ...: here tt.py may be accessible via a nfs mount point that's configured identically on all the cluster nodes

[王黎6] ?

2.7.4??? 調用python、shell等語言

如下面這句sql就是借用了weekday_mapper.py對數據進行了處理

CREATETABLE u_data_new (

??userid INT,

??movieid INT,

??rating INT,

??weekday INT)

ROWFORMAT DELIMITED

FIELDSTERMINATED BY '\t';

?

add FILEweekday_mapper.py;

?

INSERTOVERWRITE TABLE u_data_new

SELECT

?? TRANSFORM? [王黎7] ?(userid,movieid, rating, unixtime)

??USING 'python weekday_mapper.py'

??AS (userid, movieid, rating, weekday)

FROMu_data;

,其中weekday_mapper.py內容如下

import sys

import datetime

?

for line in sys.stdin:

??line =line.strip()

??userid,movieid, rating, unixtime = line.split('\t')

??weekday= datetime.datetime.fromtimestamp(float(unixtime)).isoweekday()

??print'\t'.join([userid, movieid, rating, str(weekday)])

?

如下面的例子則是使用了shell的cat命令來處理數據

FROM invites a INSERT OVERWRITE TABLE events?SELECT TRANSFORM(a.foo, a.bar) AS (oof, rab)USING '/bin/cat'?WHEREa.ds > '2008-08-09';

[王黎8] ?

?

?

?

?

2.8?DROP

刪除一個內部表的同時會同時刪除表的元數據和數據。刪除一個外部表,只刪除元數據而保留數據。

?

2.9?其它

2.9.1??? Limit

Limit可以限制查詢的記錄數。查詢的結果是隨機選擇的。下面的查詢語句從 t1 表中隨機查詢5條記錄:

SELECT* FROM t1 LIMIT 5

2.9.2??? Top k

下面的查詢語句查詢銷售記錄最大的 5 個銷售代表。

SETmapred.reduce.tasks = 1

? SELECT * FROM sales SORT BY amount DESC LIMIT5

?

2.9.3??? REGEX Column Specification

SELECT 語句可以使用正則表達式做列選擇,下面的語句查詢除了 ds 和 hr 之外的所有列:

SELECT `(ds|hr)?+.+`FROM sales

[王黎9] ?

3.??Hive Select

語法:

SELECT [ALL | DISTINCT] select_expr, select_expr, ...

FROM table_reference

[WHERE where_condition]

[GROUP BY col_list]

[???CLUSTER BYcol_list

??| [DISTRIBUTE BYcol_list] [SORT BY col_list]

]

[LIMIT number]

?

3.1?GroupBy

基本語法:

groupByClause: GROUP BY groupByExpression (,groupByExpression)*

?

groupByExpression: expression

?

groupByQuery: SELECT expression (, expression)* FROM srcgroupByClause?

?

高級特性:

l? 聚合可進一步分為多個表,甚至發送到Hadoop的DFS的文件(可以進行操作,然后使用HDFS的utilitites)。例如我們可以根據性別劃分,需要找到獨特的頁面瀏覽量按年齡劃分。如下面的例子:

??FROM pv_users

??INSERT OVERWRITETABLE pv_gender_sum

????SELECTpv_users.gender, count(DISTINCT pv_users.userid)

????GROUP BYpv_users.gender

??INSERT OVERWRITEDIRECTORY '/user/facebook/tmp/pv_age_sum'

????SELECTpv_users.age, count(DISTINCT pv_users.userid)

????GROUP BYpv_users.age;

?

l? hive.map.aggr可以控制怎么進行匯總。默認為為true,配置單元會做的第一級聚合直接在MAP上的任務。這通常提供更好的效率,但可能需要更多的內存來運行成功。

?sethive.map.aggr=true;

SELECT COUNT(*) FROM table2;

PS:在要特定的場合使用可能會加效率。不過我試了一下,比直接使用False慢很多。

3.2?Order/Sort By

Order by 語法:

colOrder: ( ASC | DESC )

orderBy: ORDER BY colName colOrder? (',' colNamecolOrder?)*

query: SELECT expression (',' expression)* FROM srcorderBy

?

Sort By 語法:

Sort順序將根據列類型而定。如果數字類型的列,則排序順序也以數字順序。如果字符串類型的列,則排序順序將字典順序。

colOrder: ( ASC | DESC )

sortBy: SORT BY colName colOrder? (',' colNamecolOrder?)*

query: SELECT expression (',' expression)* FROM srcsortBy

?

4.??Hive Join

語法

join_table:

????table_referenceJOIN table_factor [join_condition]

??| table_reference{LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition

??| table_reference LEFT SEMIJOIN [王黎10] ??table_reference join_condition

?

table_reference:

????table_factor

??| join_table

?

table_factor:

????tbl_name[alias]

??| table_subqueryalias

??| (table_references )

?

join_condition:

????ONequality_expression ( AND equality_expression )*

?

equality_expression:

????expression =expression

Hive 只支持等值連接(equality joins)、外連接(outer joins)和(left/right joins)。Hive 不支持所有非等值的連接,因為非等值連接非常難轉化到 map/reduce 任務。另外,Hive 支持多于 2 個表的連接。

寫 join 查詢時,需要注意幾個關鍵點:

1、只支持等值join

例如:

? SELECT a.* FROMa JOIN b ON (a.id = b.id)

? SELECT a.* FROM a JOIN b

??? ON (a.id = b.id AND a.department =b.department)

是正確的,然而:

? SELECT a.* FROM a JOIN b ON (a.id? b.id)

是錯誤的。

?

1.?可以 join 多于 2 個表。

例如

? SELECT a.val,b.val, c.val FROM a JOIN b

??? ON (a.key =b.key1) JOIN c ON (c.key = b.key2)

如果join中多個表的join key 是同一個,則 join 會被轉化為單個map/reduce 任務,例如:

? SELECT a.val,b.val, c.val FROM a JOIN b

??? ON (a.key =b.key1) JOIN c

??? ON (c.key =b.key1)

被轉化為單個 map/reduce 任務,因為 join 中只使用了 b.key1 作為 join key。

SELECT a.val, b.val, c.val FROM a JOIN b ON (a.key =b.key1)

? JOIN c ON(c.key = b.key2)

而這一 join 被轉化為2 個 map/reduce 任務。因為 b.key1 用于第一次 join 條件,而 b.key2 用于第二次 join。

??

3.join 時,每次map/reduce 任務的邏輯:

??? reducer 會緩存 join 序列中除了最后一個表的所有表的記錄,再通過最后一個表將結果序列化到文件系統。這一實現有助于在 reduce 端減少內存的使用量。實踐中,應該把最大的那個表寫在最后(否則會因為緩存浪費大量內存)。例如:

?SELECT a.val, b.val, c.val FROM a

??? JOIN b ON (a.key = b.key1)JOIN c ON (c.key = b.key1)

所有表都使用同一個 join key(使用 1 次map/reduce 任務計算)。Reduce 端會緩存 a 表和 b 表的記錄,然后每次取得一個 c 表的記錄就計算一次 join 結果,類似的還有:

? SELECT a.val, b.val, c.val FROMa

??? JOIN b ON (a.key = b.key1)JOIN c ON (c.key = b.key2)

這里用了 2 次 map/reduce 任務。第一次緩存 a 表,用 b 表 序列化 [王黎11] ?;第二次緩存第一次 map/reduce 任務的結果,然后用 c 表序列化。

[王黎12] ?

4.LEFT,RIGHT 和 FULLOUTER 關鍵字用于處理 join 中空記錄的情況。

例如:

? SELECT a.val,b.val FROM a LEFT OUTER

??? JOIN b ON(a.key=b.key)

對應所有 a 表中的記錄都有一條記錄輸出。輸出的結果應該是 a.val, b.val,當 a.key=b.key 時,而當 b.key 中找不到等值的 a.key 記錄時也會輸出 a.val, NULL。“FROM a LEFT OUTER JOIN b”這句一定要寫在同一行——意思是 a 表在 b 表的 左邊 ,所以 a 表中的所有記錄都被保留了;“a RIGHT OUTER JOIN b”會保留所有 b 表的記錄。OUTER JOIN 語義應該是遵循標準 SQL spec的。

Join 發生在 WHERE 子句 之前 。如果你想限制 join 的輸出,應該在 WHERE 子句中寫過濾條件——或是在join 子句中寫。這里面一個容易混淆的問題是表分區的情況:

? SELECT a.val,b.val FROM a

? LEFT OUTER JOINb ON (a.key=b.key)

? WHEREa.ds='2009-07-07' AND b.ds='2009-07-07'

會 join a 表到 b 表(OUTER JOIN),列出 a.val 和 b.val 的記錄。WHERE 從句中可以使用其他列作為過濾條件。但是,如前所述,如果 b 表中找不到對應 a 表的記錄,b 表的所有列都會列出 NULL, 包括 ds 列 。也就是說,join 會過濾 b 表中不能找到匹配a 表 join key 的所有記錄。這樣的話,LEFTOUTER 就使得查詢結果與 WHERE 子句無關了。解決的辦法是在 OUTER JOIN 時使用以下語法:

? SELECT a.val,b.val FROM a LEFT OUTER JOIN b

? ON (a.key=b.keyAND

?????b.ds='2009-07-07' AND

?????a.ds='2009-07-07')

這一查詢的結果是預先在 join 階段過濾過的,所以不會存在上述問題。這一邏輯也可以應用于 RIGHT 和 FULL 類型的join 中。

Join 是不能交換位置的。無論是 LEFT 還是 RIGHT join,都是左連接的。

? SELECT a.val1,a.val2, b.val, c.val

? FROM a

? JOIN b ON(a.key = b.key)

? LEFT OUTER JOINc ON (a.key = c.key)

先 join a 表到 b 表,丟棄掉所有 join key 中不匹配的記錄,然后用這一中間結果和 c 表做 join。這一表述有一個不太明顯的問題,就是當一個 key 在 a 表和 c 表都存在,但是 b 表中不存在的時候:整個記錄在第一次 join,即 a JOIN b 的時候都被丟掉了(包括a.val1,a.val2和a.key),然后我們再和 c 表 join 的時候,如果c.key 與 a.key 或 b.key 相等,就會得到這樣的結果:NULL, NULL, NULL, c.val。

?

5. LEFT SEMI JOIN [王黎13] ? 是 IN/EXISTS 子查詢的一種更高效的實現。Hive 當前沒有實現 IN/EXISTS 子查詢,所以你可以用 LEFT SEMI JOIN 重寫你的子查詢語句。LEFT SEMI JOIN 的限制是, JOIN 子句中右邊的表只能在 ON 子句中設置過濾條件,在 WHERE 子句、SELECT 子句或其他地方過濾都不行。

? SELECT a.key,a.value

? FROM a

? WHERE a.key in

?? (SELECT b.key

??? FROM B);

可以被重寫為:

?? SELECT a.key,a.val

?? FROM a LEFTSEMI JOIN b on (a.key = b.key)

?

5.??HIVE參數設置

??? 開發Hive應用時,不可避免地需要設定Hive的參數。設定Hive的參數可以調優HQL代碼的執行效率,或幫助定位問題。然而實踐中經常遇到的一個問題是,為什么設定的參數沒有起作用?

這通常是錯誤的設定方式導致的。

對于一般參數,有以下三種設定方式:

  • 配置文件
  • 命令行參數
  • 參數聲明

配置文件 :Hive的配置文件包括

  • 用戶自定義配置文件:$HIVE_CONF_DIR/hive-site.xml
  • 默認配置文件:$HIVE_CONF_DIR/hive-default.xml

用戶自定義配置會覆蓋默認配置。另外,Hive也會讀入Hadoop的配置,因為Hive是作為Hadoop的客戶端啟動的,Hadoop的配置文件包括

  • $HADOOP_CONF_DIR/hive-site.xml
  • $HADOOP_CONF_DIR/hive-default.xml

Hive的配置會覆蓋Hadoop的配置。

配置文件的設定對本機啟動的所有Hive進程都有效。

命令行參數 :啟動Hive(客戶端或Server方式)時,可以在命令行添加-hiveconf param=value來設定參數,例如:

bin/hive -hiveconf hive.root.logger=INFO,console

這一設定對本次啟動的Session(對于Server方式啟動,則是所有請求的Sessions)有效。

參數聲明 :可以在HQL中使用SET關鍵字設定參數,例如:

set mapred.reduce.tasks=100;

這一設定的作用域也是Session級的。

上述三種設定方式的優先級依次遞增。即參數聲明覆蓋命令行參數,命令行參數覆蓋配置文件設定。注意某些系統級的參數,例如log4j相關的設定,必須用前兩種方式設定,因為那些參數的讀取在Session建立以前已經完成了。

另外, SerDe 參數 [王黎14] ?必須寫在DDL(建表)語句中。例如:

create table if not exists t_dummy(

dummy???? string

)

ROW FORMAT SERDE'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'

WITH SERDEPROPERTIES (

'field.delim'='\t',

'escape.delim'='\\',

'serialization.null.format'=' '

) STORED AS TEXTFILE;

類似serialization.null.format這樣的參數,必須和某個表或分區關聯。在DDL外部聲明將不起作用。

?

6.??HIVE UDF

6.1?基本函數

SHOW FUNCTIONS;

DESCRIBE FUNCTION <function_name>;

6.1.1?????關系操作符

Operator

Operand types

Description

A = B

All primitive types

TRUE if expression A is equal to expression B otherwise FALSE

A == B

None!

Fails because of invalid syntax. SQL uses =, not ==

A <> B

All primitive types

NULL if A or B is NULL, TRUE if expression A is NOT equal to expression B otherwise FALSE

A < B

All primitive types

NULL if A or B is NULL, TRUE if expression A is less than expression B otherwise FALSE

A <= B

All primitive types

NULL if A or B is NULL, TRUE if expression A is less than or equal to expression B otherwise FALSE

A > B

All primitive types

NULL if A or B is NULL, TRUE if expression A is greater than expression B otherwise FALSE

A >= B

All primitive types

NULL if A or B is NULL, TRUE if expression A is greater than or equal to expression B otherwise FALSE

A IS NULL

all types

TRUE if expression A evaluates to NULL otherwise FALSE

A IS NOT NULL

All types

TRUE if expression A evaluates to NULL otherwise FALSE

A LIKE B

strings

NULL if A or B is NULL, TRUE if string A matches the SQL simple regular expression B, otherwise FALSE. The comparison is done character by character. The _ character in B matches any character in A(similar to . in posix regular expressions) while the % character in B matches an arbitrary number of characters in A(similar to .* in posix regular expressions) e.g. 'foobar' like 'foo' evaluates to FALSE where as 'foobar' like 'foo_ _ _' evaluates to TRUE and so does 'foobar' like 'foo%'

A RLIKE B

strings

NULL if A or B is NULL, TRUE if string A matches the Java regular expression B(See Java regular expressions syntax), otherwise FALSE e.g. 'foobar' rlike 'foo' evaluates to FALSE where as 'foobar' rlike '^f.*r$' evaluates to TRUE

A REGEXP B

strings

Same as RLIKE

6.1.2?????代數操作符

返回數字類型,如果任意一個操作符為NULL,則結果為NULL

Operator

Operand types

Description

A + B

All number types

Gives the result of adding A and B. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands. e.g. since every integer is a float, therefore float is a containing type of integer so the + operator on a float and an int will result in a float.

A - B

All number types

Gives the result of subtracting B from A. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands.

A * B

All number types

Gives the result of multiplying A and B. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands. Note that if the multiplication causing overflow, you will have to cast one of the operators to a type higher in the type hierarchy.

A / B

All number types

Gives the result of dividing B from A. The result is a double type.

A % B

All number types

Gives the reminder resulting from dividing A by B. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands.

A & B

All number types

Gives the result of bitwise AND of A and B. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands.

A | B

All number types

Gives the result of bitwise OR of A and B. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands.

A ^ B

All number types

Gives the result of bitwise XOR of A and B. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands.

~A

All number types

Gives the result of bitwise NOT of A. The type of the result is the same as the type of A.

?

6.1.3?????邏輯操作符

6.1.4?????復雜類型操作符

Constructor Function

Operands

Description

Map

(key1, value1, key2, value2, ...)

Creates a map with the given key/value pairs

Struct

(val1, val2, val3, ...)

Creates a struct with the given field values. Struct field names will be col1, col2, ...

Array

(val1, val2, ...)

Creates an array with the given elements

?

6.1.5?????內建函數

6.1.6?????數學函數

6.1.7?????集合函數

6.1.8?????類型轉換

?

6.1.9?????日期函數

返回值類型

名稱

描述

string

from_unixtime(int unixtime)

將時間戳(unix epoch秒數)轉換為日期時間字符串,例如from_unixtime(0)="1970-01-01 00:00:00"

bigint

unix_timestamp()

獲得當前時間戳

bigint

unix_timestamp(string date)

獲得date表示的時間戳

bigint

to_date(string timestamp)

返回日期字符串,例如to_date("1970-01-01 00:00:00") = "1970-01-01"

string

year(string date)

返回年,例如year("1970-01-01 00:00:00") = 1970,year("1970-01-01") = 1970

int

month(string date)

int

day(string date) dayofmonth(date)

int

hour(string date)

int

minute(string date)

int

second(string date)

int

weekofyear(string date)

int

datediff(string enddate, string startdate)

返回enddate和startdate的天數的差,例如datediff('2009-03-01', '2009-02-27') = 2

int

date_add(string startdate, int days)

加days天數到startdate: date_add('2008-12-31', 1) = '2009-01-01'

int

date_sub(string startdate, int days)

減days天數到startdate: date_sub('2008-12-31', 1) = '2008-12-30'

?

6.1.10?????????????條件函數

返回值類型

名稱

描述

-

if(boolean testCondition, T valueTrue, T valueFalseOrNull)

當testCondition為真時返回valueTrue,testCondition為假或NULL時返回valueFalseOrNull

-

COALESCE(T v1, T v2, ...)

返回列表中的第一個非空元素,如果列表元素都為空則返回NULL

-

CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END

a = b,返回c;a = d,返回e;否則返回f

-

CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END

a?為真,返回b;c為真,返回d;否則e

?

6.1.11?????????????字符串函數

The following are built-in String functionsare supported in hive:

返回值類型

名稱?

描述

Int

length(string A)

返回字符串長度

String

reverse(string A)

反轉字符串

String

concat(string A, string B...)

合并字符串,例如concat('foo', 'bar')='foobar'。注意這一函數可以接受任意個數的參數

String

substr(string A, int start) substring(string A, int start)

返回子串,例如substr('foobar', 4)='bar'

String

substr(string A, int start, int len) substring(string A, int start, int len)

返回限定長度的子串,例如substr('foobar', 4, 1)='b'

String

upper(string A) ucase(string A)

轉換為大寫

String

lower(string A) lcase(string A)

轉換為小寫

String

trim(string A)

String

ltrim(string A)

String

rtrim(string A)

String

regexp_replace(string A, string B, string C)

Returns the string resulting from replacing all substrings in B that match the Java regular expression syntax(See Java regular expressions syntax) with C e.g. regexp_replace("foobar", "oo|ar", "") returns 'fb.' Note that some care is necessary in using predefined character classes: using '\s' as the second argument will match the letter s; '\\s' is necessary to match whitespace, etc.

String

regexp_extract(string subject, string pattern, int intex)

返回使用正則表達式提取的子字串。例如,regexp_extract('foothebar', 'foo(.*?)(bar)', 2)='bar'。注意使用特殊字符的規則:使用'\s'代表的是字符's';空白字符需要使用'\\s',以此類推。

String

parse_url(string urlString, string partToExtract)

解析URL字符串,partToExtract的可選項有:HOST, PATH, QUERY, REF, PROTOCOL, FILE, AUTHORITY, USERINFO。

例如,

parse_url('http://facebook.com/path/p1.php?query=1', 'HOST')='facebook.com'

parse_url('http://facebook.com/path/p1.php?query=1', 'PATH')='/path/p1.php'

parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY')='query=1',可以指定key來返回特定參數,key的格式是QUERY:<KEY_NAME>,例如QUERY:k1

parse_url('http://facebook.com/path/p1.php?query=1&field=2','QUERY','query')='1'可以用來取出外部渲染參數key對應的value值

parse_url('http://facebook.com/path/p1.php?query=1&field=2','QUERY','field')='2'

parse_url('http://facebook.com/path/p1.php?query=1#Ref', 'REF')='Ref'

parse_url('http://facebook.com/path/p1.php?query=1#Ref', 'PROTOCOL')='http'

String

get_json_object(string json_string, string path)

解析json字符串。若源json字符串非法則返回NULL。path參數支持JSONPath的一個子集,包括以下標記:

$: Root object

[]: Subscript operator for array

&: Wildcard for []

.: Child operator

String

space(int n)

返回一個包含n個空格的字符串

String

repeat(string str, int n)

重復str字符串n遍

String

ascii(string str)

返回str中第一個字符的ascii碼

String

lpad(string str, int len, string pad)

左端補齊str到長度為len。補齊的字符串由pad指定。

String

rpad(string str, int len, string pad)

右端補齊str到長度為len。補齊的字符串由pad指定。

Array

split(string str, string pat)

返回使用pat作為正則表達式分割str字符串的列表。例如,split('foobar', 'o')[2] = 'bar'。?不是很明白這個結果

Int

find_in_set(string str, string strList)

Returns the first occurance of str in strList where strList is a comma-delimited string. Returns null if either argument is null. Returns 0 if the first argument contains any commas. e.g. find_in_set('ab', 'abc,b,ab,c,def') returns 3

?

6.2?UDTF

UDTF即Built-inTable-Generating Functions

使用這些UDTF函數有一些限制:

1、SELECT里面不能有其它字段

如:SELECTpageid, explode(adid_list) AS myCol...

2、不能嵌套

如:SELECTexplode(explode(adid_list)) AS myCol...不支持

3、不支持GROUP BY / CLUSTER BY / DISTRIBUTE BY / SORTBY

如:SELECTexplode(adid_list) AS myCol ... GROUP BY myCol

?

6.2.1??Explode

將數組進行轉置

例如:

1、create table test2(mycol array<int>);

2、insert OVERWRITE table test2 select * from (select array(1,2,3) froma union all select array(7,8,9)? fromd)c;

3、hive> select * from test2;

OK

[1,2,3]

[7,8,9]

3、? hive> SELECT explode(myCol) AS myNewCol FROM test2;

OK

1

2

3

7

8

9

?

?

?

7.??HIVE?的MAP/REDUCE

7.1?JOIN

對于 JOIN 操作:

INSERT OVERWRITE TABLE pv_users

SELECT pv.pageid, u.age FROM page_view pv JOIN user u ON (pv.userid = u.userid);

實現過程為:

  • Map:
    • 以 JOIN ON 條件中的列作為 Key,如果有多個列,則 Key 是這些列的組合
    • 以 JOIN 之后所關心的列作為 Value,當有多個列時,Value 是這些列的組合。在 Value 中還會包含表的 Tag 信息,用于標明此 Value 對應于哪個表。
    • 按照 Key 進行排序。
  • Shuffle:
    • 根據 Key 的值進行 Hash,并將 Key/Value 對按照 Hash 值推至不同對 Reduce 中。
  • Reduce:
    • Reducer 根據 Key 值進行 Join 操作,并且通過 Tag 來識別不同的表中的數據。

具體實現過程如圖:

7.2?GROUPBY

SELECT pageid, age, count(1) FROM pv_users GROUP BY pageid, age;

具體實現過程如圖:

7.3?DISTINCT

SELECT age, count(distinct pageid) FROM pv_users GROUP BY age;

實現過程如圖:

?

8.??使用HIVE注意點

8.1?字符集

Hadoop和Hive都是用UTF-8編碼的,所以,?所有中文必須是UTF-8編碼,?才能正常使用

備注:中文數據load到表里面,?如果字符集不同,很有可能全是亂碼需要做轉碼的,?但是hive本身沒有函數來做這個

?

8.2?壓縮

hive.exec.compress.output?這個參數,?默認是?false,但是很多時候貌似要單獨顯式設置一遍

否則會對結果做壓縮的,如果你的這個文件后面還要在hadoop下直接操作,?那么就不能壓縮了

?

8.3?count(distinct)

當前的 Hive 不支持在一條查詢語句中有多 Distinct。如果要在 Hive 查詢語句中實現多Distinct,需要使用至少n+1 條查詢語句(n為distinct的數目),前n 條查詢分 別對 n 個列去重,最后一條查詢語句對 n 個去重之后的列做 Join 操作,得到最終結果。

?

8.4?JOIN

只支持等值連接

?

8.5?DML操作

只支持INSERT/LOAD操作,無UPDATE和DELTE

8.6?HAVING

不支持HAVING操作。如果需要這個功能要嵌套一個子查詢用where限制

8.7?子查詢

Hive不支持where子句中的子查詢

子查詢,只允許子查詢在from中出現

SELECT station, year, AVG(max_temperature)FROM (SELECT station, year, MAX(temperature) AS max_temperature FROM records2WHERE temperature != 9999 AND (quality = 0 OR quality = 1 OR quality = 4 ORquality = 5 OR quality = 9) GROUP BY station, year) mt GROUP BY station, year;

?

8.8?Join中處理null值的語義區別

SQL標準中,任何對null的操作(數值比較,字符串操作等)結果都為null。Hive對null值處理的邏輯和標準基本一致,除了Join時的特殊邏輯。

這里的特殊邏輯指的是,Hive的Join中,作為Join key的字段比較,null=null是有意義的,且返回值為true。檢查以下查詢:

select u.uid, count(u.uid)

from t_weblog l join t_user u on (l.uid = u.uid) group by u.uid;

查詢中,t_weblog表中uid為空的記錄將和t_user表中uid為空的記錄做連接,即l.uid =u.uid=null成立。

如果需要與標準一致的語義,我們需要改寫查詢手動過濾null值的情況:

select u.uid, count(u.uid)

from t_weblog l join t_user u

on (l.uid = u.uid and l.uid is not null and u.uid isnot null)

group by u.uid;

實踐中,這一語義區別也是經常導致數據傾斜的原因之一。

?

8.9?分號字符

分號是SQL語句結束標記,在HiveQL中也是,但是在HiveQL中,對分號的識別沒有那么智慧,例如:

select concat(cookie_id,concat(';',’zoo’))from c02_clickstat_fatdt1 limit 2;

FAILED: Parse Error: line 0:-1 cannotrecognize input '<EOF>' in function specification

可以推斷,Hive解析語句的時候,只要遇到分號就認為語句結束,而無論是否用引號包含起來。

解決的辦法是,使用分號的八進制的ASCII碼進行轉義,那么上述語句應寫成:

selectconcat(cookie_id,concat('\073','zoo')) from c02_clickstat_fatdt1 limit 2;

為什么是八進制ASCII碼?

我嘗試用十六進制的ASCII碼,但Hive會將其視為字符串處理并未轉義,好像僅支持八進制,原因不詳。這個規則也適用于其他非SELECT語句,如CREATE TABLE中需要定義分隔符,那么對不可見字符做分隔符就需要用八進制的ASCII碼來轉義。

?

8.10????????Insert

8.10.1?????????????新增數據

根據語法Insert必須加“OVERWRITE”關鍵字,也就是說每一次插入都是一次重寫。那如何實現表中新增數據呢?

假設Hive中有表xiaojun1,

hive> DESCRIBE xiaojun1;

OK

id int

value int

hive> SELECT * FROM xiaojun1;

OK

3 4

1 2

2 3

現增加一條記錄:

hive> INSERT OVERWRITE TABLE xiaojun1

SELECT id, value FROM (

SELECT id, value FROM xiaojun1

UNION ALL

SELECT 4 AS id, 5 AS value FROM xiaojun1 limit 1

) u;

結果是:

hive>SELECT * FROM p1;

OK

3 4

4 5

2 3

1 2

其中的關鍵在于, 關鍵字UNION ALL的應用, 即將原有數據集和新增數據集進行結合, 然后重寫表.

?

8.10.2?????????????插入次序

?

INSERT OVERWRITE TABLE在插入數據時,是按照后面的SELECT語句中的字段順序插入的. 也就說, 當id 和value 的位置互換, 那么value將被寫入id, 同id被寫入value.

8.10.3?????????????初始值

INSERT OVERWRITE TABLE在插入數據時, 后面的字段的初始值應注意與表定義中的一致性. 例如, 當為一個STRING類型字段初始為NULL時:

NULL AS field_name // 這可能會被提示定義類型為STRING, 但這里是void

CAST(NULL AS STRING) AS field_name // 這樣是正確的

又如, 為一個BIGINT類型的字段初始為0時:

CAST(0 AS BIGINT) AS field_name

?

9.??優化

9.1?HADOOP計算框架特性

  • 數據量大不是問題,數據傾斜是個問題。
  • jobs數比較多的作業運行效率相對比較低,比如即使有幾百行的表,如果多次關聯多次匯總,產生十幾個jobs,耗時很長。原因是map reduce作業初始化的時間是比較長的。
  • sum,count,max,min等UDAF,不怕數據傾斜問題,hadoop在map端的匯總合并優化,使數據傾斜不成問題。
  • count(distinct ),在數據量大的情況下,效率較低,如果是多count(distinct )效率更低,因為count(distinct)是按group by 字段分組,按distinct字段排序,一般這種分布方式是很傾斜的,比如男uv,女uv,淘寶一天30億的pv,如果按性別分組,分配2個reduce,每個reduce處理15億數據。

9.2?優化的常用手段

  • 好的模型設計事半功倍。
  • 解決數據傾斜問題。
  • 減少job數。
  • 設置合理的map reduce的task數,能有效提升性能。(比如,10w+級別的計算,用160個reduce,那是相當的浪費,1個足夠)。
  • 了解數據分布,自己動手解決數據傾斜問題是個不錯的選擇。set hive.groupby.skewindata=true;這是通用的算法優化,但算法優化有時不能適應特定業務背景,開發人員了解業務,了解數據,可以通過業務邏輯精確有效的解決數據傾斜問題。
  • 數據量較大的情況下,慎用count(distinct),count(distinct)容易產生傾斜問題。
  • 對小文件進行合并,是行至有效的提高調度效率的方法,假如所有的作業設置合理的文件數,對云梯的整體調度效率也會產生積極的正向影響。
  • 優化時把握整體,單個作業最優不如整體最優。

???

9.3?全排序

Hive的排序關鍵字是SORT BY,它有意區別于傳統數據庫的ORDER BY也是為了強調兩者的區別–SORT BY只能在單機范圍內排序。 [王黎15] ?

9.3.1?????例1

set mapred.reduce.tasks=2;

原值

select cookie_id,page_id,id fromc02_clickstat_fatdt1

where cookie_id IN('1.193.131.218.1288611279693.0','1.193.148.164.1288609861509.2')

1.193.148.164.1288609861509.2??113181412886099008861288609901078194082403????? 684000005

1.193.148.164.1288609861509.2??127001128860563972141288609859828580660473????? 684000015

1.193.148.164.1288609861509.2?? 113181412886099165721288609915890452725326????? 684000018

1.193.131.218.1288611279693.0??01c183da6e4bc50712881288611540109914561053????? 684000114

1.193.131.218.1288611279693.0??01c183da6e4bc22412881288611414343558274174????? 684000118

1.193.131.218.1288611279693.0??01c183da6e4bc50712881288611511781996667988????? 684000121

1.193.131.218.1288611279693.0??01c183da6e4bc22412881288611523640691739999????? 684000126

1.193.131.218.1288611279693.0??01c183da6e4bc50712881288611540109914561053????? 684000128

?

?

hive> select cookie_id,page_id,id fromc02_clickstat_fatdt1 where

cookie_idIN('1.193.131.218.1288611279693.0','1.193.148.164.1288609861509.2')

SORT BY COOKIE_ID,PAGE_ID;

SORT排序后的值

1.193.131.218.1288611279693.0?????????? 684000118?????? 01c183da6e4bc22412881288611414343558274174????? 684000118

1.193.131.218.1288611279693.0?????????? 684000114??????01c183da6e4bc50712881288611540109914561053????? 684000114

1.193.131.218.1288611279693.0?????????? 684000128??????01c183da6e4bc50712881288611540109914561053????? 684000128

1.193.148.164.1288609861509.2?????????? 684000005??????113181412886099008861288609901078194082403????? 684000005

1.193.148.164.1288609861509.2?????????? 684000018??????113181412886099165721288609915890452725326????? 684000018

1.193.131.218.1288611279693.0?????????? 684000126??????01c183da6e4bc22412881288611523640691739999????? 684000126

1.193.131.218.1288611279693.0?????????? 684000121??????01c183da6e4bc50712881288611511781996667988????? 684000121

1.193.148.164.1288609861509.2?????????? 684000015??????127001128860563972141288609859828580660473????? 684000015

?

select cookie_id,page_id,id fromc02_clickstat_fatdt1

where cookie_idIN('1.193.131.218.1288611279693.0','1.193.148.164.1288609861509.2')

ORDER BY PAGE_ID,COOKIE_ID;

1.193.131.218.1288611279693.0?????????? 684000118??????01c183da6e4bc22412881288611414343558274174????? 684000118

1.193.131.218.1288611279693.0?????????? 684000126??????01c183da6e4bc22412881288611523640691739999????? 684000126

1.193.131.218.1288611279693.0?????????? 684000121??????01c183da6e4bc50712881288611511781996667988????? 684000121

1.193.131.218.1288611279693.0?????????? 684000114??????01c183da6e4bc50712881288611540109914561053????? 684000114

1.193.131.218.1288611279693.0?????????? 684000128?????? 01c183da6e4bc50712881288611540109914561053????? 684000128

1.193.148.164.1288609861509.2?????????? 684000005??????113181412886099008861288609901078194082403????? 684000005

1.193.148.164.1288609861509.2?????????? 684000018??????113181412886099165721288609915890452725326???? ?684000018

1.193.148.164.1288609861509.2?????????? 684000015??????127001128860563972141288609859828580660473????? 684000015

可以看到SORT和ORDER排序出來的值不一樣。一開始我指定了2個reduce進行數據分發(各自進行排序)。結果不一樣的主要原因是上述查詢沒有reduce key,hive會生成隨機數作為reduce key。這樣的話輸入記錄也隨機地被分發到不同reducer機器上去了。為了保證reducer之間沒有重復的cookie_id記錄,可以使用DISTRIBUTE BY關鍵字指定分發key為cookie_id。

select cookie_id,country,id,page_id,id fromc02_clickstat_fatdt1 where cookie_idIN('1.193.131.218.1288611279693.0','1.193.148.164.1288609861509.2')? distribute by cookie_id SORT BY COOKIE_ID,page_id;

1.193.131.218.1288611279693.0?????????? 684000118??????01c183da6e4bc22412881288611414343558274174????? 684000118

1.193.131.218.1288611279693.0?????????? 684000126??????01c183da6e4bc22412881288611523640691739999????? 684000126

1.193.131.218.1288611279693.0?????????? 684000121??????01c183da6e4bc50712881288611511781996667988????? 684000121

1.193.131.218.1288611279693.0?????????? 684000114??????01c183da6e4bc50712881288611540109914561053????? 684000114

1.193.131.218.1288611279693.0??????? ???684000128??????01c183da6e4bc50712881288611540109914561053????? 684000128

1.193.148.164.1288609861509.2?????????? 684000005??????113181412886099008861288609901078194082403????? 684000005

1.193.148.164.1288609861509.2?????????? 684000018?????? 113181412886099165721288609915890452725326????? 684000018

1.193.148.164.1288609861509.2?????????? 684000015??????127001128860563972141288609859828580660473????? 684000015

9.3.2?????例2

CREATE TABLE if not exists t_order(

?

id int, -- 訂單編號

?

sale_id int, -- 銷售ID

?

customer_id int, -- 客戶ID

?

product _id int, -- 產品ID

?

amount int -- 數量

?

) PARTITIONED BY (ds STRING);

在表中查詢所有銷售記錄,并按照銷售ID和數量排序:

set mapred.reduce.tasks=2;

?

Select sale_id, amount from t_order

?

Sort by sale_id, amount;

這一查詢可能得到非期望的排序。指定的2個reducer分發到的數據可能是(各自排序):

Reducer1:

Sale_id | amount

?

0 | 100

?

1 | 30

?

1 | 50

?

2 | 20

Reducer2:

Sale_id | amount

?

0?| 110

?

0 | 120

?

3 | 50

?

4 | 20

使用DISTRIBUTE BY關鍵字指定分發key為sale_id。改造后的HQL如下:

set mapred.reduce.tasks=2;

?

Select sale_id, amount from t_order

?

Distribute by sale_id

?

Sort by sale_id, amount;

這樣能夠保證查詢的銷售記錄集合中,銷售ID對應的數量是正確排序的,但是銷售ID不能正確排序,原因是hive使用hadoop默認的HashPartitioner分發數據。

這就涉及到一個全排序的問題。解決的辦法無外乎兩種:

1.) 不分發數據,使用單個reducer:

set mapred.reduce.tasks=1;

這一方法的缺陷在于reduce端成為了性能瓶頸,而且在數據量大的情況下一般都無法得到結果。但是實踐中這仍然是最常用的方法,原因是通常排序的查詢是為了得到排名靠前的若干結果,因此可以用limit子句大大減少數據量。使用limit n后,傳輸到reduce端(單機)的數據記錄數就減少到n* (map個數)。

2.) 修改Partitioner,這種方法可以做到全排序。這里可以使用Hadoop自帶的TotalOrderPartitioner(來自于Yahoo!的TeraSort項目),這是一個為了支持跨reducer分發有序數據開發的Partitioner,它需要一個SequenceFile格式的文件指定分發的數據區間。如果我們已經生成了這一文件(存儲在/tmp/range_key_list,分成100個reducer),可以將上述查詢改寫為

set mapred.reduce.tasks=100;

?

sethive.mapred.partitioner=org.apache.hadoop.mapred.lib.TotalOrderPartitioner;

?

settotal.order.partitioner.path=/tmp/ range_key_list;

?

Select sale_id, amount from t_order

?

Cluster by sale_id

?

Sort by amount;

有很多種方法生成這一區間文件(例如hadoop自帶的o.a.h.mapreduce.lib.partition.InputSampler工具)。這里介紹用Hive生成的方法,例如有一個按id有序的t_sale表:

CREATE TABLE if not exists t_sale (

?

id int,

?

name string,

?

loc string

?

);

則生成按sale_id分發的區間文件的方法是:

create external table range_keys(sale_idint)

?

row format serde

?

'org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe'

?

stored as

?

inputformat

?

'org.apache.hadoop.mapred.TextInputFormat'

?

outputformat

?

'org.apache.hadoop.hive.ql.io.HiveNullValueSequenceFileOutputFormat'

?

location '/tmp/range_key_list';

?

?

?

insert overwrite table range_keys

?

select distinct sale_id

?

from source t_salesampletable(BUCKET 100 OUT OF 100 ON rand()) s

?

sort by sale_id;

生成的文件(/tmp/range_key_list目錄下)可以讓TotalOrderPartitioner按sale_id有序地分發reduce處理的數據。區間文件需要考慮的主要問題是數據分發的均衡性,這有賴于對數據深入的理解。

9.4?怎樣做笛卡爾積

當Hive設定為嚴格模式(hive.mapred.mode=strict)時,不允許在HQL語句中出現笛卡爾積,這實際說明了Hive對笛卡爾積支持較弱。因為找不到Join key,Hive只能使用1個reducer來完成笛卡爾積。

當然也可以用上面說的limit的辦法來減少某個表參與join的數據量,但對于需要笛卡爾積語義的需求來說,經常是一個大表和一個小表的Join操作,結果仍然很大(以至于無法用單機處理),這時MapJoin才是最好的解決辦法。

MapJoin,顧名思義,會在Map端完成Join操作。這需要將Join操作的一個或多個表完全讀入內存。

MapJoin的用法是在查詢/子查詢的SELECT關鍵字后面添加/*+ MAPJOIN(tablelist) */提示優化器轉化為MapJoin(目前Hive的優化器不能自動優化MapJoin)。其中tablelist可以是一個表,或以逗號連接的表的列表。tablelist中的表將會讀入內存,應該將小表寫在這里。

PS:有用戶說MapJoin在子查詢中可能出現未知BUG。在大表和小表做笛卡爾積時,規避笛卡爾積的方法是,給Join添加一個Join key,原理很簡單:將小表擴充一列join key,并將小表的條目復制數倍,join key各不相同;將大表擴充一列join key為隨機數。

9.5?怎樣寫exist/in子句

Hive不支持where子句中的子查詢,SQL常用的exist in子句需要改寫。這一改寫相對簡單。考慮以下SQL查詢語句:

SELECT a.key, a.value

?

FROM a

?

WHERE a.key in

?

(SELECT b.key

?

FROM B);

可以改寫為

SELECT a.key, a.value

?

FROM a LEFT OUTER JOIN b ON (a.key =b.key)

?

WHERE b.key <> NULL;

一個更高效的實現是利用left semi join改寫為:

SELECT a.key, a.val

?

FROM a LEFT SEMI JOIN b on (a.key =b.key);

left semi join是0.5.0以上版本的特性。

9.6?怎樣決定reducer個數

Hadoop MapReduce程序中,reducer個數的設定極大影響執行效率,這使得Hive怎樣決定reducer個數成為一個關鍵問題。遺憾的是Hive的估計機制很弱,不指定reducer個數的情況下,Hive會猜測確定一個reducer個數,基于以下兩個設定:

1. hive.exec.reducers.bytes.per.reducer(默認為1000^3)

2. hive.exec.reducers.max(默認為999)

計算reducer數的公式很簡單:

N=min(參數2,總輸入數據量/參數1)

通常情況下,有必要手動指定reducer個數。考慮到map階段的輸出數據量通常會比輸入有大幅減少,因此即使不設定reducer個數,重設參數2還是必要的。依據Hadoop的經驗,可以將參數2設定為0.95*(集群中TaskTracker個數)。

9.7?合并MapReduce操作

Multi-group by

Multi-group by是Hive的一個非常好的特性,它使得Hive中利用中間結果變得非常方便。例如,

FROM (SELECT a.status, b.school,b.gender

?

FROM status_updates a JOIN profilesb

?

ON (a.userid = b.userid and

?

a.ds='2009-03-20' )

?

) subq1

?

INSERT OVERWRITE TABLEgender_summary

?

PARTITION(ds='2009-03-20')

?

SELECT subq1.gender, COUNT(1) GROUPBY subq1.gender

?

INSERT OVERWRITE TABLEschool_summary

?

PARTITION(ds='2009-03-20')

?

SELECT subq1.school, COUNT(1) GROUPBY subq1.school

上述查詢語句使用了Multi-group by特性連續group by了2次數據,使用不同的groupby key。這一特性可以減少一次MapReduce操作。

Multi-distinct

Multi-distinct是淘寶開發的另一個multi-xxx特性,使用Multi-distinct可以在同一查詢/子查詢中使用多個distinct,這同樣減少了多次MapReduce操作

?

9.8? Bucket? 與sampling

Bucket是指將數據以指定列的值為key進行hash,hash到指定數目的桶中。這樣就可以支持高效采樣了。

如下例就是以userid這一列為bucket的依據,共設置32個buckets

CREATETABLE page_view(viewTime INT, userid BIGINT,

????????????????????page_url STRING,referrer_url STRING,

????????????????????ip STRING COMMENT 'IPAddress of the User')

????COMMENT 'This is the page view table'

????PARTITIONED BY(dt STRING, country STRING)

????CLUSTEREDBY(userid) SORTED BY(viewTime) INTO 32 BUCKETS

????ROW FORMAT DELIMITED

????????????FIELDS TERMINATED BY '1'

????????????COLLECTION ITEMS TERMINATED BY '2'

????????????MAP KEYS TERMINATED BY '3'

???? STORED AS SEQUENCEFILE; [王黎16] ?

Sampling可以在全體數據上進行采樣,這樣效率自然就低,它還是要去訪問所有數據。而如果一個表已經對某一列制作了bucket,就可以采樣所有桶中指定序號的某個桶,這就減少了訪問量。

如下例所示就是采樣了page_view中32個桶中的第三個桶。

SELECT *FROM page_view?TABLESAMPLE(BUCKET 3 OUT OF 32);

?

9.9?Partition

Partition就是分區。分區通過在創建表時啟用partition by實現,用來partition的維度并不是實際數據的某一列,具體分區的標志是由插入內容時給定的。當要查詢某一分區的內容時可以采用where語句,形似where tablename.partition_key >a來實現。

創建含分區的表

????CREATE TABLE page_view(viewTime INT, useridBIGINT,

????????????????????page_url STRING, referrer_url STRING,

????????????????????ip STRING COMMENT 'IPAddress of the User')

????PARTITIONED BY(date STRING, country STRING)

????ROW FORMAT DELIMITED

????????????FIELDS TERMINATED BY '1'

???? STORED AS TEXTFILE; [王黎17] ?

載入內容,并指定分區標志

LOAD DATALOCAL INPATH `/tmp/pv_2008-06-08_us.txt` INTO TABLE page_view?PARTITION(date='2008-06-08',country='US');

查詢指定標志的分區內容

SELECTpage_views.*

????FROM page_views

????WHERE?page_views.date >='2008-03-01' AND page_views.date <= '2008-03-31'?AND page_views.referrer_urllike '%xyz.com';

?

9.10????????JOIN

9.10.1?????????????JOIN原則

在使用寫有 Join 操作的查詢語句時有一條原則:應該將條目少的表/子查詢放在 Join 操作符的左邊。原因是在 Join 操作的 Reduce 階段,位于 Join 操作符左邊的表的內容會被加載進內存,將條目少的表放在左邊,可以有效減少發生OOM 錯誤的幾率。對于一條語句中有多個 Join 的情況,如果 Join 的條件相同,比如查詢:

INSERT OVERWRITE TABLE pv_users

?SELECT pv.pageid, u.age FROM page_view p

?JOIN user u ON (pv.userid = u.userid)

?JOIN newuser x ON (u.userid = x.userid);?

  • 如果 Join 的 key 相同,不管有多少個表,都會則會合并為一個 Map-Reduce
  • 一個 Map-Reduce 任務,而不是 ‘n’ 個
  • 在做 OUTER JOIN 的時候也是一樣

如果 Join 的條件不相同,比如:

INSERT OVERWRITE TABLE pv_users

?? SELECT pv.pageid, u.age FROM page_view p

?? JOIN user u ON (pv.userid = u.userid)

?? JOIN newuser x on (u.age = x.age);??

Map-Reduce 的任務數目和Join 操作的數目是對應的,上述查詢和以下查詢是等價的:

INSERT OVERWRITE TABLE tmptable

?? SELECT * FROM page_view p JOIN user u

?? ON (pv.userid = u.userid);

?INSERT OVERWRITE TABLE pv_users

?? SELECT x.pageid, x.age FROM tmptable x

?? JOIN newuser y ON (x.age = y.age);???

9.10.2?????????????Map Join

Join 操作在 Map 階段完成,不再需要Reduce,前提條件是需要的數據在 Map 的過程中可以訪問到。比如查詢:

INSERT OVERWRITE TABLE pv_users

?? SELECT /*+ MAPJOIN(pv) */ pv.pageid, u.age

?? FROM page_view pv

???? JOIN user u ON (pv.userid = u.userid);???

可以在 Map 階段完成 Join,如圖所示:

相關的參數為:

  • hive.join.emit.interval = 1000 ?How many rows in the right-most join operand Hive should buffer before emitting the join result.
  • hive.mapjoin.size.key = 10000
  • hive.mapjoin.cache.numrows = 10000

?

9.11????????數據傾斜

9.11.1?????????????空值數據傾斜

場景: 如日志中,常會有信息丟失的問題,比如全網日志中的user_id,如果取其中的user_id和bmw_users關聯,會碰到數據傾斜的問題。

解決方法1: ?user_id為空的不參與關聯

Select * From log a

Join bmw_users b

On a.user_id is not null

And a.user_id = b.user_id

Union all

Select * from log a

where a.user_id is null;

解決方法2 : 賦與空值分新的key值

Select * ?

from log a?

left outer join bmw_users b?

on case when a.user_id is null thenconcat(‘dp_hive’,rand() ) else a.user_id end = b.user_id;?

結論: 方法2比方法效率更好,不但io少了,而且作業數也少了。方法1 log讀取兩次,jobs是2。方法2 job數是1 。這個優化適合無效id(比如-99,’’,null等)產生的傾斜問題。把空值的key變成一個字符串加上隨機數,就能把傾斜的數據分到不同的reduce上 ,解決數據傾斜問題。附上hadoop通用關聯的實現方法(關聯通過二次排序實現的,關聯的列為parition key,關聯的列c1和表的tag組成排序的group key,根據parition key分配reduce。同一reduce內根據group key排序)

?

9.11.2?????????????不同數據類型關聯產生數據傾斜

場景: 一張表s8的日志,每個商品一條記錄,要和商品表關聯。但關聯卻碰到傾斜的問題。s8的日志中有字符串商品id,也有數字的商品id,類型是string的,但商品中的數字id是bigint的。猜測問題的原因是把s8的商品id轉成數字id做hash來分配reduce,所以字符串id的s8日志,都到一個reduce上了,解決的方法驗證了這個猜測。

解決方法: 把數字類型轉換成字符串類型

Select * from s8_log a

Left outer join r_auction_auctions b

On a.auction_id = cast(b.auction_id asstring);

9.11.3?????????????大表Join的數據偏斜

MapReduce編程模型下開發代碼需要考慮數據偏斜的問題,Hive代碼也是一樣。數據偏斜的原因包括以下兩點:

1. Map輸出key數量極少,導致reduce端退化為單機作業。

2. Map輸出key分布不均,少量key對應大量value,導致reduce端單機瓶頸。

Hive中我們使用MapJoin解決數據偏斜的問題,即將其中的某個表(全量)分發到所有Map端進行Join,從而避免了reduce。這要求分發的表可以被全量載入內存。

極限情況下,Join兩邊的表都是大表,就無法使用MapJoin。

這種問題最為棘手,目前已知的解決思路有兩種:

?

1. 如果是上述情況1,考慮先對Join中的一個表去重,以此結果過濾無用信息。這樣一般會將其中一個大表轉化為小表,再使用MapJoin?。

一個實例是廣告投放效果分析,例如將廣告投放者信息表i中的信息填充到廣告曝光日志表w中,使用投放者id關聯。因為實際廣告投放者數量很少(但是投放者信息表i很大),因此可以考慮先在w表中去重查詢所有實際廣告投放者id列表,以此Join過濾表i,這一結果必然是一個小表,就可以使用MapJoin。

?

2. 如果是上述情況2,考慮切分Join中的一個表為多片,以便將切片全部載入內存,然后采用多次MapJoin得到結果。

一個實例是商品瀏覽日志分析,例如將商品信息表i中的信息填充到商品瀏覽日志表w中,使用商品id關聯。但是某些熱賣商品瀏覽量很大,造成數據偏斜。例如,以下語句實現了一個inner join邏輯,將商品信息表拆分成2個表:

select * from

(

select w.id, w.time, w.amount, i1.name, i1.loc, i1.cat

from w left outer join i sampletable(1 out of 2 on id) i1

)

union all

(

select w.id, w.time, w.amount, i2.name, i2.loc, i2.cat

from w left outer join i sampletable(1 out of 2 on id) i2

)

);

以下語句實現了left outer join邏輯:

select t1.id, t1.time, t1.amount,

??? coalease(t1.name,t2.name),

??? coalease(t1.loc, t2.loc),

??? coalease(t1.cat, t2.cat)

from (?

??? select w.id, w.time,w.amount, i1.name, i1.loc, i1.cat

??? from w left outer join isampletable(1 out of 2 on id) i1

) t1 left outer join i sampletable(2 out of 2 on id)t2;

上述語句使用Hive的sample table特性對表做切分。

?

9.12????????合并小文件

文件數目過多,會給 HDFS 帶來壓力,并且會影響處理效率,可以通過合并 Map 和 Reduce 的結果文件來消除這樣的影響:

hive.merge.mapfiles = true 是否和并 Map 輸出文件,默認為 True

hive.merge.mapredfiles = false 是否合并 Reduce 輸出文件,默認為 False

hive.merge.size.per.task = 256*1000*1000 合并文件的大小

?

9.13????????GroupBy

·????????Map 端部分聚合:

???? 并不是所有的聚合操作都需要在 Reduce 端完成,很多聚合操作都可以先在Map 端進行部分聚合,最后在 Reduce 端得出最終結果。

????? 基于 Hash

????? 參數包括:

§? hive.map.aggr = true 是否在 Map 端進行聚合,默認為 True

§? hive.groupby.mapaggr.checkinterval= 100000 在 Map 端進行聚合操作的條目數目

·????????有數據傾斜的時候進行負載均衡

????? hive.groupby.skewindata= false

???? 當選項設定為 true,生成的查詢計劃會有兩個 MR Job。第一個 MR Job 中,Map 的輸出結果集合會隨機分布到 Reduce 中,每個 Reduce 做部分聚合操作,并輸出結果,這樣處理的結果是相同的 Group By Key 有可能被分發到不同的Reduce 中,從而達到負載均衡的目的;第二個 MR Job再根據預處理的數據結果按照 Group By Key 分布到 Reduce 中(這個過程可以保證相同的Group By Key 被分布到同一個 Reduce 中),最后完成最終的聚合操作。

?

10.????????HIVE FAQ

1、 [admin@hadoop1 ~]$ hive

Cannot find hadoop installation: $HADOOP_HOME must be set orhadoop must be in the path

原因:HADOOP路徑沒有在環境變量中定義

解決方法:admin@hadoop1~]$ export HADOOP_HOME=$HOME/hadoop-0.19.2

?

2、FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.DDLTask

解決方案:Hive的元數據庫derby服務沒有啟動

進入到hive的安裝目錄

/home/admin/caona/hive/build/dist/db-derby-10.4.1.3-bin/bin

運行startNetworkServer -h 0.0.0.0

?

3、[admin@hadoop1 conf]$ hive

Unable to createlog directory ${build.dir}/tmp

原因:存放日志文件的目錄被人刪除了。

解決方法:進行到${build.dir}下面,創建一個tmp目錄。

如:[admin@hadoop1build]$ pwd

/home/admin/caona/hive/build

[admin@hadoop1build]$ mkdir tmp

?

11.????????常用參考資料路徑

Hive地址

http://wiki.apache.org/hadoop/Hive

http://hive.apache.org/

Velocity地址

http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html

Hadoop地址

http://hadoop.apache.org/

http://www.cloudera.com/

Hadoop中文文檔地址

http://hadoop.apache.org/common/docs/r0.18.2/cn/commands_manual.html


Hive學習筆記


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 性迪拜xxxhd 88xx成人永久免费观看 | 午夜福利理论片高清在线观看 | 中文字幕日产熟女乱码 | 日韩熟女精品一区二区三区 | 宅女噜噜66国产精品观看免费 | 影音先锋在线亚洲网站 | 中文字幕乱码人妻一区二区三区 | 国产成人精品午夜福利 | 青青草91久久久久久久久 | 亚洲图片激情小说 | 久久久久久久岛国免费网站 | 免费无码av片在线观看潮喷 | 二区久久| 91精品国产爱久久丝袜脚 | 国产在线专区 | 亚洲成av人片在线观看无app | 在线成人爽a毛片免费软件 亚洲精品成人免费 | 国产足控福利视频一区 | 伊人网综合在线 | 福利二区视频 | 久久久一本精品99久久精品88 | 在线视频观看一区 | 久久久国产精品va麻豆 | 欧美亚洲自偷自拍 在线 | 18禁无遮挡无码网站免费 | 九九99re热线精品视频 | 四虎成人久久精品无码 | 伊人久久大香线蕉成人 | 狠狠摸狠狠澡 | 黄色天堂网 | 欧美熟妇性开放 | 韩国精品在线观看 | 日韩一区二区在线播放 | 国产免费传媒av片生线 | 波多野结衣一区二区三区 | a亚洲视频 | 欧美午夜精品 | 中文字幕丰满乱子无码视频 | 欧美丰满大黑帍在线播放 | 极品少妇在线观看 | 亚洲精品拍拍央视网出文 | 国产av无码专区亚洲精品 | 国产日韩一区 | 亚洲国产精品女同互慰中文 | 天天综合中文字幕 | 人妻精品久久久久中文字幕69 | 精品国产av色欲果冻传媒 | 久久人人97超碰人人澡 | 亚洲日韩激情无码一区 | 国产精品视频一区国模私拍 | 久久成人黄色 | 中文字幕第4页 | 久久综合操 | 网址你懂的在线观看 | 亚洲h成年动漫在线观看网站 | 免费看48女人真人毛片 | 午夜在线a亚洲v天堂网2018 | 国产精品丝袜久久久久久不卡 | 亚洲日本成人 | 尤物一区二区三区精品 | 国产在线一区二区三区av | 久久青青 | 尹人香蕉久久99天天拍久女久 | 日韩av一区二区三区免费看 | 97人人澡人人爽人人模亚洲 | 国产精品久久无码一区二区三区网 | 国产亚洲中文字幕在线制服 | 天堂av在线网 | 天天看片中文字幕 | 亚洲看 | a毛片在线免费观看 | 国产成人无码免费视频在线 | 狠狠色噜噜狠狠狠狠2018 | 乱人伦人妻中文字幕 | 亚洲中文字幕无码不卡电影 | 日本免费一区二区三区 | 男女男精品视频站 | 亚洲aⅴ一区二区三区 | 国产午夜免费啪视频观看视频 | 欧美视频精品免费覌看 | 人妻护士在线波多野结衣 | 欧美黑人粗暴多交高潮水最多 | 成人亚洲欧美日韩在线观看 | 国产高清一区二区三区四区 | 搞黄视频在线免费观看 | 久久久精品成人免费观看国产 | 欧美精品亚洲精品 | 成人伊人网| 国产gv猛男gv无码男同网站 | 在线播放免费人成毛片 | 欧美成人一级 | 日本免费视频观看 | 亚洲国产成人精品无码区二本 | 一本色综合网久久 | 欧美精品视 | 伊人激情在线 | 国产在线国偷精品产拍免费yy | 青草草97久热精品视频 | 一级二级三级黄色片 | 精品无人区麻豆乱码1区2区新区 | 久久久久久免费毛片精品 | 国产情侣啪啪 | 69成人免费视频无码专区 | 精品一区二区三区免费视频 | 末发育娇小性色xxxx | 欧美午夜性生活 | 好男人蜜桃av久久久久久蜜桃 | 久久人午夜亚洲精品无码区 | 精品午夜福利无人区乱码一区 | 又爽又黄又无遮挡的激情视频免费 | 亚洲日韩在线观看免费视频 | 强开小婷嫩苞又嫩又紧韩国视频 | 91九色porny国产探花 | 欧美 日韩 国产 一区 | 久久久噜噜噜久久中文福利 | av中文字幕网 | av制服丝袜白丝国产网站 | 日本少妇呻吟高潮免费看 | 精品国产一区二区三区四区在线看 | 苍井空张开腿实干12次 | 日本免费一区二区三区高清视频 | 国产va免费精品观看 | 日韩精品成人无码专区免费 | 亚洲一区 中文字幕 | 色鬼综合 | 强奷乱码中文字幕熟女一 | 日韩中出在线 | 国产亚洲综合网曝门系列 | 国产人在线成免费视频 | 性高湖久久久久久久久aaaaa | 中文字幕日韩av在线 | 9久9久女女热精品视频在线观看 | 国产又粗又猛又黄视频 | 性久久 | 亚洲第一区视频 | 东京av在线 | 黄色大片一区二区三区 | 又粗又大内射免费视频小说 | 永久免费的av在线电影网无码 | 精品国产这么小也不放过 | 久久久久欧美精品 | 六月丁香久久 | 中文字幕无码av正片 | 毛茸茸性xxxx毛茸茸毛茸茸 | 婷婷网亚洲色偷偷男人的天堂 | 亚洲视频第二页 | 孩交精品xxxx视频视频 | 99热免费在线观看 | 狠狠操狠狠操 | 国产又色又爽又黄又免费软件 | 久久久.com| 四虎永久在线精品免费观看网站 | 少妇人妻中文字幕污 | 男人天堂社区 | 久久人人爽人人爽人人片av高请 | av天天射 | 女儿国3在线观看免费版高清 | 国产av亚洲精品ai换脸电影 | 精品国产免费第一区二区三区 | 丝袜 国产 日韩 另类 美女 | 岛国片人妻三上悠亚 | 国产传媒精品1区2区3区 | 成年动漫18禁无码3d动漫 | 婷婷色香五月综合激激情 | 香蕉国产精品 | 亚洲成人免费网站 | 国产精品爱久久久久久久 | 亚洲精品乱码久久久久久app | 久一精品视频 | 伊人网91 | 国产一级免费不卡 | 中字无码av电影在线观看网站 | 久久精品午夜 | 森泽佳奈av在线播放 | 色多多在线观看 | 亚洲最大av无码网站最新 | 真实国产露脸乱 | www欧美日韩 | 337p粉嫩日本欧洲亚福利 | 乖女的小奶水h公霍水二 | 日本欧美在线 | 天天操天天操天天操天天 | 奇米四色7777中文字幕 | 免费无遮挡在线观看网站 | 丰满少妇被粗大猛烈进人高清 | 中文字幕永久免费 | 国产精品久久久久久人妻精品动漫 | 免费久久99精品国产自在现 | 欧美日韩亚洲高清 | 精品成人免费国产片 | 亚洲欧美日韩久久精品第一区 | 日韩综合在线 | 91亚州| 奇米影视888 | 色欲色欲久久综合网 | 国产成人一区二区视频免费 | 一本色道久久亚洲精品加勒比 | 亚洲成a人片在线观看无码专区 | 中文字幕专区高清在线观看 | 丰满白嫩尤物一区二区 | 亚洲欧美国产成人综合欲网 | 中文字幕在线观看网站 | 国语对白乱妇激情视频 | 性欧美乱妇com喷浆水多 | 无码抽搐高潮喷水流白浆 | 日韩精品无码人成视频 | 婷婷亚洲综合 | 动漫啪啪高清区一区二网站 | 中文字幕一区二区三区乱码图片 | 久久精品九九 | 色婷婷亚洲一区二区综合 | 国产精品第七页 | 久久国产加勒比精品无码 | 久久久久久欧美 | 黄色网免费观看 | 一本久久a久久免费精品不卡 | 伊人国产在线视频 | 正在播放国产真实哭都没用 | 狠狠躁日日躁夜夜躁av | 午夜精品久久久久久 | 天堂在线资源中文在线8 | 综合色区 | 一本到免费视频 | 中文字幕视频在线观看 | 亚洲欧美综合自拍 | 亚洲区另类春色综合小说校园片 | 欧美日韩午夜 | 毛片在线观看视频 | 中文无码不卡人妻在线看 | 两性爱爱视频 | 草少妇| 夜夜操天天 | 久久一级片 | 两个人看的www视频免费完整版 | 日韩欧美一中文字暮视频 | 久久性网| 国产精品v a免费视频 | 欧美18aaaⅹxx | 亚洲五月婷 | 伊人久久综合无码成人网 | 欧美人与动牲交片免费播放 | 在线免费日韩av | 少妇久久久久久被弄高潮 | 午夜影院免费 | 一级黄色性视频 | 男女爱爱福利视频 | 亚洲春色av | 精品www日韩熟女人妻 | 三区免费视频 | 亚洲色图综合区 | 97精品久久久久中文字幕 | 成年无码动漫av片在线尤物 | 五月婷婷之综合激情 | 扒开双腿疯狂进出爽爽爽视频 | 一个人免费观看的www视频 | 国产福利一区二区三区 | 国产玖玖玖九九精品视频靠爱 | 日本高清一区二区三 | 色综合天天色 | 国产乱人视频在线播放 | 欧美人狂配大交3d怪物一区 | 美女网站在线观看 | 国产乱妇4p交换乱免费视频 | 涩涩精品 | 精品国产区 | 老色鬼在线精品视频在线观看 | 久久香蕉国产线熟妇人妻 | 欧美一区二区三区红桃小说 | 重口道具调教多人高h虐 | 福利视频三区 | www.com久久| 国产成人理论在线观看视频 | 日本一区二区三区四区在线观看 | 三区四区在线 | 欧美一区二区在线观看 | 在线天堂中文在线资源网 | 欧洲精品成人免费视频在线观看 | 亚洲人成无码网www电影麻豆 | 日韩.com| 精品伊人久久久99热这里只 | 精品一卡二卡三卡四卡 | 日本高清视频网站www | 日产中文字幕一码 | 欧美三根一起进三p | 久久综合精品成人一本 | 日本特黄特色特爽大片 | 狠狠噜天天噜日日噜视频跳一跳 | 欧美一区二区视频在线 | 精品国产乱码久久久久久移动网络 | 美女视频黄是免费 | 性生大片免费观看668 | 九一精品 | 1000部羞羞视频在线看视频 | 国产亚洲欧美精品一区 | 51国产黑色丝袜高跟鞋 | 国产桃色视频 | 99re免费视频国产在线播放 | 国产高清国产精品国产专区 | www国产内插视频 | 日日操夜夜操狠狠操 | 全部免费毛片在线播放高潮 | 992tv又爽又黄的免费视频 | 日本天天黄网站 | 亚洲精品久久久久av无码 | 91片黄在线观看动漫 | 天天躁狠狠躁狠狠躁夜夜躁68 | 1024手机在线播放 | 国产午夜福利不卡在线观看 | 色婷婷综合久久久中文字幕 | 综合成人亚洲网友偷自拍 | 成人国内精品久久久久一区 | 亚洲色一色噜一噜噜噜 | 欧美成aⅴ人高清怡红院 | 脱岳裙子从后面挺进去在线观看 | 北条麻妃一区二区在线观看视频 | 黄色激情视频网站 | 日韩日日 | 影音先锋第四色 | 国产三级精品三级在线专区 | 久久久久黑人强伦姧人妻 | 亚洲中文有码字幕日本 | 国产午夜精品久久久久久 | 乱子伦av无码中文字 | 精品成人一区二区三区四区 | 美女裸体自慰在线观看 | 亚洲欧美日韩国产另类电影 | 大乳丰满人妻中文字幕日本电影 | 亚洲天堂自拍偷拍 | 亚洲国产成人综合在线观看 | 男人的天堂在线播放 | 综合中文字幕 | 亚洲日韩欧美一区久久久久我 | 欧美无砖专区一中文字 | 狼群社区www中文视频 | 熟妇人妻av无码一区二区三区 | 北条麻妃一区二区三区在线观看 | 一本加勒比hezyo黑人 | 国产免费一区二区三区香蕉精 | 五十老熟妇乱子伦免费观看 | 女人的天堂在线 | 免费的av网站在线观看国产精品 | 国产免费午夜福利不卡片在线 | 久久精品国产首页027007 | 国产在线精品一区二区高清不卡 | 国产精品女人久久久 | 国产资源在线播放 | 91久久极品少妇xxxxⅹ软件 | 六月激情 | 最新av片免费网站入口 | 夜夜添无码试看一区二区三区 | 日韩一区国产 | 亚洲狠狠爱综合影院网页 | 精品久久久久久久无码人妻热 | 四虎影视国产精品久久 | 丁香婷婷综合激情 | 99爱在线精品免费观看 | 哪个网站可以看毛片 | 福利在线一区 | 精品乱子伦一区二区 | 亚洲精品无码鲁网午夜 | 在线中文字幕视频 | 欧美精品一区二区视频 | 东北少妇国语对白吞精 | 欧美天堂一区二区三区 | 在线视频国产99 | 97涩涩图 | 日本少妇高潮xxxxx另类 | www亚洲www | 亚洲国产精品无码久久久不卡 | 国产精品成人一区无码 | 国内久久婷婷五月综合欲色广啪 | 91精品久久久久久蜜桃 | 中文字幕精品无码综合网 | 亚洲图片欧美日韩 | 国产911情侣拍拍在线播放 | 国产涩涩视频在线观看 | 国产做a爰片久久毛片a片 | 国产精品久久久久久久久久不蜜月 | 国产一级淫片a免费播放口欧美 | 国产成人免费永久播放视频平台 | 97超碰在线免费 | 日韩欧美一区二区三区永久免费 | 欧美夜夜骑 | 国产,日韩,欧美 | 国产美女高潮流白浆视频 | 综合无码成人aⅴ视频在线观看 | 亚洲日产aⅴ中文字幕无码 青青草网 | 亚洲天堂最新地址 | 国产av中文av无码av狼人 | 污网站www | 91网站免费在线观看 | 亚洲蜜桃精久天干天干天啪啪夜l | 91久久视频 | 久久婷婷五月综合中文字幕 | www.youjizz在线 | 亚洲高清视频在线观看 | 精品国产乱码久久久久久小说 | 丁香激情视频 | 国产av亚洲精品ai换脸电影 | 日韩1区3区4区第一页 | 狠狠干中文字幕 | 亚洲精品夜夜夜 | 国产成人乱色伦区 | 香蕉视频一区二区三区 | 国产在线精品一区二区高清不卡 | www.天天色 | 亚洲日韩乱码中文字幕 | 91av亚洲| 国产亚洲精品视觉盛宴 | 亚洲毛片网站 | 福利视频一二三区 | 巨人精品福利官方导航 | 天天做日日干 | 色丁香婷婷 | 国产精品视频色拍拍 | 4虎成人 | 欧美另类视频在线 | 久久精品9| 欧美色图17p | 无码人妻精品中文字幕免费东京热 | 18级成人毛片免费观看 | 日本三级吃奶头添泬无码苍井空 | 日韩在线视频线观看一区 | 精品午夜久久福利大片 | 岛国一区二区三区 | 久久精品www | 精品国产一区二区三区不卡在线 | 免费无码又爽又刺激高潮的app | 中文字幕线人 | 精品成人一区二区三区 | 久久精品一区二区三区不卡牛牛 | 国产亚洲精品女人久久久久久 | 欧美成人午夜影院 | 欧美精品亚洲精品日韩专区 | 久久婷色 | 欧美精品一区二区三区四区在线 | 伊人久久精品在热线热 | 国产亚洲一卡2卡3卡4卡网站 | 亚洲国产av无码综合原创国产 | 国产亚洲久一区二区 | 日日色视频 | 成人av片无码免费网站 | 鲁夜天天末成午 | 亚洲精品无码国产 | 超碰97人人爱 | 天堂网成人 | 亚洲精品小视频 | 国产无遮挡性视频免费 | 欧美xxxxx精品 | 免费午夜男女高清视频 | 91在线看视频| 国产人成视频在线观看 | 国产jizz18高清视频 | 欧美色欧美亚洲另类二区 | 国产日韩av无码免费一区二区 | 国产老太婆免费交性大片 | 免费人成黄页在线观看国产 | 大桥未久av一区二区三区中文 | 日韩在线观看视频免费 | 伊人久久一区二区 | www.国产成人 | 婷婷国产v国产偷v亚洲高清 | 在线播放亚洲第一字幕 | 久久精品国产精品亚洲红杏 | 污污污www精品国产网站 | videos成人吃奶水 | av无码爆乳护士在线播放 | 亚洲国产在一区二区三区 | 欧美亚洲在线播放 | av秋霞 | 天堂av色 | 欧美手机在线观看 | 国产下药迷倒白嫩美女网站 | www.欧美视频 | 中文精品在线 | 在线岛国片免费观看无码 | 丰满岳妇乱一区二区三区 | 又色又爽又黄的吃奶视频免费观看 | 国产91在线播放九色快色 | 亚洲国产精品久久久 | 亚洲免费色图 | 国产乱码一卡二卡3卡三卡四卡 | 风韵犹存丰满大屁股熟妇视频 | 人成福利视频在线观看 | 亚洲精品高清在线观看 | 毛片基地免费观看 | 天天天天做夜夜夜做 | 婷婷九月综合 | 午夜影院啪啪 | 一级a性色生活片毛片 | 国产精品久久久久久久久久东京 | 777国产盗摄视频000 | 综合精品国产 | 国产精品99久久久久久人免费 | 欧美成人精品三级网站视频 | 欧美牲交a欧美牲交aⅴ免费 | 国产无套在线 | 九九热在线视频观看这里只有精品 | 国产明星裸体xxxx视频 | 国产色在线视频 | 鲁鲁狠狠狠7777一区二区 | 丰满诱人的人妻3 | 色偷偷色噜噜狠狠成人免费视频 | 亚洲精品视频免费 | 东京热人妻系列无码专区 | 91n成人| 成年在线观看视频 | 国产xxx69麻豆国语对白 | 乌克兰少妇猛性xxxxxxx | 久久成人午夜 | 激情综合图片 | jizz视频在线观看 | 欧美一区二区三区视频 | 国久久| 色狠狠色狠狠综合 | 国产福利第一页 | 色婷婷久久综合中文久久蜜桃av | 日韩夜夜 | 日日舔夜夜操 | 黄色一级片a | 中国做爰国产精品视频 | 天天色宗合 | 久久精品入口九色 | 久久中文精品无码中文字幕 | 国产优质老熟 | 久久天天躁夜夜躁狠狠躁 | 久久久www成人免费无遮挡大片 | 日韩av一中美av一中文字慕 | www.日本少妇 | 亚洲伊人色欲综合网 | 成人一区二区免费视频 | 日韩激情视频网站 | 激情综合av | 日本阿v片在线播放免费 | 色天使亚洲| 中文字幕日韩伦理 | 高潮毛片又色又爽免费 | www.色婷婷.com | 奇米在线7777在线精品 | 日本爽爽爽 | 成人免费无码大片a毛片 | 五十路亲子中出在线观看 | 亚洲成人看片 | 国产精品久久久久久久白丝制服 | 情侣在线视频 | xxx久久 | 亚洲成人在线观看视频 | 青青青手机视频在线观看 | 51嫩草亚洲精品永久 | 中文在线a√在线8 | 国产乱国产乱老熟300部视频 | 欧美三级免费看 | 日韩欧美在线观看一区二区三区 | 亚洲影视在线观看 | 人妻无码少妇一区二区 | a最新天堂网资源 | 久久99精品福利久久久久久 | 午夜爽爽爽男女免费观看hd | 99精品欧美一区二区三区视频 | 国产日产欧产精品精品浪潮 | 亚洲一码二码三码精华液 | 色欲色欲天天天www亚洲伊 | 成人羞羞国产免费图片 | 国产超级av | 91情侣在线| 国产成人无遮挡免费视频 | 国产乱人乱偷精品视频a人人澡 | 天天摸夜夜摸夜夜狠狠添 | 刘亦菲久久免费一区二区 | 一区视频在线免费观看 | 黄色一级免费视频 | 国产黑丝喷水 | 日韩精品视频在线观看免费 | 国产精品久久..4399 | 欧美日韩久久久 | 国产精品久久久久久久久久尿 | 免费中文字幕在线观看 | 先锋人妻无码av电影 | 日本特黄特色 | 久久久久久久久久久久 | 两个人看的www视频免费完整版 | 国产农村乱人伦精品视频 | 夜夜躁很很躁日日躁麻豆 | 国产精品400部 | 亚洲伦理在线播放 | 日本一卡二卡四卡无卡乱码视频免费 | 桃色视频网站 | 国产精品乱码久久久 | 免费的黄色一级片 | 久久婷婷五月综合色一区二区 | 中文天堂资源在线www | 亚洲国产成人精品无码区蜜柚 | 免费高清欧美一区二区三区 | 成av人电影在线观看 | 成人国产一区二区精品小说 | 免费黄色在线播放 | 精品无码人妻被多人侵犯av | 中文字幕无线码中文字幕免费 | 伊人久久大香线蕉综合影院首页 | 97精品国产自产在线观看永久 | 日皮视频免费 | 欧美老妇乱辈通奷 | 日韩一区二区三区无码人妻视频 | 国产女同疯狂激烈互摸 | 香蕉久久久久久av成人 | 91亚洲成人 | 影音先锋男人av橹橹色 | 天海翼激烈高潮到腰振不止 | 国产传媒专区 | 国产电影无码午夜在线播放 | 成人精品av一区二区三区 | 一区二区精品国产 | 打开每日更新在线观看 | 国产视频观看 | 精品国产一区二区三区在线 | 亚洲成a∧人片在线播放调教 | 欧美精品一区二区三区制服首页 | 久久久久噜噜噜亚洲熟女综合 | 老子影院午夜伦不卡无码 | 狠狠插综合 | 在线观看亚洲天堂 | 国产在视频线在精品视频2020 | 97精品一区二区三区 | 99热这里只有精品国产免费免费 | 久久888 | 91免费版在线观看免费 | 毛片黄片免费观看 | 女人夜夜春高潮爽a∨片 | 亚洲自拍偷拍综合 | 日韩青青草 | 91九色porn| 亚洲影音| 亚洲国产精品特色大片观看完整版 | 久久综合九色欧美婷婷 | 久久综合亚洲鲁鲁九月天 | 国产高清在线精品 | aa一级视频 | 永久免费的污视频网站 | 欧美饥渴熟妇高潮喷水水 | 桃花岛亚洲成在人线av | 国产制服丝袜亚洲高清 | 色哟哟国产 | a级黄色毛片三个搞一 | 无码人妻丝袜在线视频红杏 | 欧美一区二区三区不卡视频 | 国产在线98福利播放视频 | 伊人情人色综合网站 | 偷窥 亚洲 另类 图片 熟女 | 日韩精品一区二区三区视频 | 国产美女喷水视频 | 欧美日韩中文在线视频 | 亚洲拍拍 | 高潮添下面视频免费看 | 日本特黄特色aaa大片免费 | 国产91我把她日出白浆 | 亚洲va综合va国产产va中文 | 综合五月天 | 超碰人操 | 亚洲欧美在线播放 | 天天色综合天天 | 欧美日韩综合在线观看 | 成人做爰www免费看视频网站 | 苍井空毛片精品久久久 | 国产h视频在线观看 | 国产免费视频一区二区裸体 | 国产精品进线69影院 | 日本中文字幕网 | 亚洲精品国偷拍 | 男女猛烈拍拍拍无挡视频 | 国产无套水多在线观看 | 小嫩妇好紧好爽再快视频 | 不卡av中文字幕手机看 | 午夜乱轮 | 六月丁香亚洲综合在线视频 | 亚洲专区欧美专区 | 亚洲国产精品久久久久久久久久 | 天堂亚洲网 | 午夜福利国产成人a∨在线观看 | 国产亚洲精品久久久久丝瓜 | 性虎精品无码av导航 | 热久久99热精品首页 | 久久高清超碰av热热久久 | 国产在线拍揄自揄视频菠萝 | 4399理论片午午伦夜理片 | 国产自在现线2019 | 欧美丝袜一区二区 | 日本黄区免费视频观看 | 五月婷婷综合在线 | 色狠av | 日韩在线中文字幕视频 | 午夜观看| 久久综合九色综合97伊人 | 男女猛烈激情xx00免费视频 | 成熟老妇女毛茸茸的做性 | 免费黄色一级视频 | 国产精品美女被遭强扒开双腿 | www.91插插插| 在线免费日韩av | 四十如虎的丰满熟妇啪啪 | 亚洲综合国产在不卡在线 | 自拍 亚洲 欧美 卡通 另类 | 波多野结衣在线视频网站 | 狠狠色噜噜狠狠狠888米奇视频 | 久久五月天婷婷 | 亚洲天堂免费av | 精品一区二区三区在线播放视频 | 91av视频网站| 久播影院无码中文字幕 | 狠狠色婷婷丁香综合久久 | 国产91亚洲精品 | 西西人体大胆啪啪实拍 | 久久成年人视频 | 中文字幕在线观看日本 | 成人黄色免费在线观看 | 久久嗨| 欧美黑人做爰爽爽爽 | 国产成人无码精品久久二区三区 | 无码内射中文字幕岛国片 | 欧美亚洲精品在线 | 特级黄色毛片视频片子 | 色翁荡熄又大又硬又粗又动态图 | 特黄熟妇丰满人妻无码 | 亚洲成a人片77777kkkk | 一级黄色片视频 | 成人欧美一区 | 欧美日韩一 | 久久这里有精品国产电影网 | 天天综合网在线观看视频 | 国产日韩精品一区二区三区在线 | 久久国产高潮流白浆免费观看 | 国产精品久久久久999 | 日b视频网站 | 日韩在线视频免费播放 | 欧美色网在线 | 饥渴的熟妇张开腿呻吟视频 | 亚洲最新中文字幕 | 日韩精品少妇无码受不了 | 丰满女人又爽又紧又丰满 | 日韩一区2区 | 新97超碰| 国产办公室秘书无码精品99 | 欧美性video高清精品 | 免费看国产曰批40分钟 | 2019年国产精品手机视频 | 黄色三级毛片视频 | 国精产品一区一区三区 | 国产又粗又爽又黄的视频 | 久久精品久久精品久久 | 69久久久成人看片免费一区二 | 国产激情视频网站 | 午夜理论片yy6080私人影院 | 女人被狂c到高潮视频网站 成人免费淫片aa视频免费 | 国产激情大臿免费视频 | 日本一区二区更新不卡 | 日韩国产精品人妻无码久久久 | 四虎永久在线精品免费无码 | 噜噜噜在线 | 欧美城天堂网 | 人妻出差精油按摩被中出 | 视频在线你懂的 | 国产大片aaa | 欧美日本精品 | 日韩欧美在线一区 | 无码av波多野结衣 | 国产精品偷伦视频免费观看的 | 最新版天堂资源中文官网 | 日产中文字幕在线观看 | 国产精品高潮呻吟久久影视a片 | 黄色三级免费网站 | youjizz.xx| 婷婷免费视频 | 国产偷国产偷亚洲清高孕妇 | a亚洲va欧美va国产综合 | va亚洲| 91丨九色丨喷水 | 成年人在线播放视频 | 婷婷啪啪 | 999国产在线视频 | 欧美色999| 国产无遮挡又黄又爽奶头 | 99国产精品一区 | 亚洲精品第一国产综合精品99 | 玖玖热综合一区二区三区 | 欧美激欧美啪啪片 | 亚洲女人久久久 | 天天狠狠操| 欧美夫妇交换xxxx | 蜜桃无码av一区二区 | 精品国产区 | 亚洲第一欧美 | 国产精品久久久久久久一区二区 | 免费黄网站在线看 | 成人免费黄色片 | 中文日韩在线 | 性中国videossexo另类 | 国精品人妻无码一区二区三区喝尿 | 国产综合福利 | 欧美成人a激情 | 日日麻批免费40分钟无码 | 久草久草| 亚洲午夜理论片在线观看 | 美女天天干 | 久久婷婷色综合一区二区 | 午夜福利电影网站鲁片大全 | youjizz4| 在厨房被c到高潮a毛片奶水 | 精品视频网站 | 国产精品 无码专区 | 四虎影片 | 亚洲欧洲日产国无高清码图片 | 久久精品国产99久久99久久久 | 91视频播放 | 亚洲综合制服丝袜另类 | 亚洲精品一区二区三区福利 | 久久久国产成人一区二区 | 一区二区在线免费看 | 欧美老妇胖老太xxxxx | 无码日韩精品国产av | 亚洲欧美日韩在线资源观看 | 新婚之夜疯狂做爰视频一区二区 | 国产一级久久 | 色婷婷久久综合中文久久蜜桃av | 日本黑人一区二区免费视频 | 色欲天天天无码视频 | 欧美高清一区三区在线专区 | 一区二区视频网站 | 无码一区二区三区av免费蜜桃 | 欧美激情首页 | 天天看天天操 | 青青草国产精品 | 亚洲视频在线观看一区二区 | 成人性无码专区免费视频 | 伊人久久综合精品无码av专区 | 中文在线а√在线 | 成人午夜视频免费 | 欧美黑人又粗又大xxxx | 性生活一区 | 久久精品国产99久久6动漫亮点 | 欧美国产亚洲精品 | 亚洲精品久久久久中文字幕m男 | 又色又爽又黄又硬的视频免费观看 | 亚洲乱码在线观看 | 国产精品一区二区6 | 国产爱豆剧传媒在线观看 | 久99视频精品免费观看福利 | 色悠久久久久综合先锋影音下载 | 国产99在线 | 免费 | 粗大猛烈进出高潮视频 | 亚洲清纯国产 | 日本猛少妇色xxxxx | japanese丰满少妇最高潮 | 中文字幕第15页 | 色婷婷五月综合丁香中文字幕 | 中文字幕三级人妻无码视频 | 色婷婷五月在线精品视频 | 欧美黄色一级片视频 | 免费国产视频 | 一区二区三区视频观看 | 国产成人高清亚洲明星一区 | 爽成人777777婷婷 | 一级片免费在线 | 国内精品视频自在一区 | 国产精品密蕾丝袜 | 草久伊人 | 五月天色网站 | 美女视频黄频大全免费 | 人妻丰满熟妇av无码区免 | 国产成人自拍网 | 国产亚洲精品久久久久久武则天 | 午夜免费啪视频 | 88xx成人精品视频 | 国产精品无码av片在线观看播放 | 国产成人啪精品午夜在线观看 | 亚洲精品一二三区 | 亚洲国产18 | 色中色亚洲 | 无遮挡做爰激吻国产999 | 国产精品欧美久久久久久日木一道 | 亚洲最大av在线 | 欧美成人午夜免费影院手机在线看 | 亚洲精品欧美精品日韩精品 | 91毛片视频 | 国产一区二区三区四区在线观看 | 黑人日少妇 | 风流老熟女一区二区三区 | 久本草在线中文字幕亚洲 | 美女极度色诱视频国产 | 超碰1024 | 亚洲欧美精品综合一区 | 亚洲午夜久久久久久久久电影网 | 99久久精品视香蕉蕉 | 日韩亚洲区 | 美女视频黄频a免费 | 97久久精品亚洲中文字幕无码 | 女人18毛片一区二区三区 | 狠狠噜天天噜日日噜视频麻豆 | 国产精品人人爱一区二区白浆 | 亚洲精品久久久久久久观小说 | 精品人妻少妇一区二区三区 | 国产又粗又长又硬免费视频 | 男女做视频md806xyz | 久久亚洲精品久久国产一区二区 | 成人免费午夜a大片app | 色爽黄 | 国产色视频在线 | 中文字幕精品一区二区三区在线 | 少妇疯狂做受xxxx高潮台湾 | 久久久久99人妻一区二区三区 | www.男人天堂网 | 97久久精品国产一区二区三区 | 久久久久久国产精品无码超碰 | 人妻无码不卡中文字幕在线视频 | 夜色视频在线观看 | 久久视热这里只有精品 | 激情中文小说区图片区 | 99热精品久久只有精品 | 亚洲国产精品隔壁老王 | 日本 欧美 国产 | 一区日韩 | 国产精品欧美一区二区视频 | 青青青国内视频在线观看软件 | 精品国产一区二区三区av爱情岛 | 欧美大成色www永久网站婷 | 制服丝袜中文字幕第一页 | 麻豆国产av尤物网站尤物 | 中文字幕,久热精品,视频在线 | 亚洲成a人v欧美综合天堂下载 | 操碰97 | 久久久久久久黄色 | 亚洲国产成人精品视频 | 欧美在线观看免费观看 | 国产毛片a | 免费看美女部位隐私网站 | 国产剧情国产精品一区 | 国产综合精品视频 | 性大片免费视频观看 | 少妇精品偷拍高潮少妇小说 | 日日夜视频 | 中文字幕av久久爽 | 天天插天天爱 | 国产一区二区三四区 | 特级毛片在线大全免费播放 | 久久精品系列 | 日韩新片王网 | 亚洲狠 | 国产主播啪啪 | 免费一区二区三区四区 | 色牛av | 亚洲国产精品va在线看黑人动漫 | 亚洲精品一卡2卡三卡4卡乱码天 | 久久男人的天堂 | a级特黄毛片 | 伊人影院视频 | 亚洲国产精品色拍网站 | 精品中文字幕在线 | 色综合a怡红院怡红院 | 51调教丨国产调教视频 | 99精品国产自在现线10页 | 日本人妻中文字幕乱码系列 | 精品视频9999 | 中国少妇xxxxxx做受 | 丰满又黄又爽少妇毛片 | 国产麻豆精东天美果冻传媒小蝌蚪 | 久久理论视频 | 亚洲日本中文字幕乱码在线 | 爱情岛论坛成人 | 国产精品伦理久久久久 | 色欲人妻aaaaaaa无码 | 日本中文一区二区三区亚洲 | 国产日产欧产精品精品免费 | 明星换脸av一区二区三区网站 | 一区二区视频观看 | 爽天天天天天天天 | 小雪尝禁果又粗又大的视频 | 丁香五月天综合缴情网 | 色翁荡熄又大又硬又粗又动态图 | 永久在线视频 | 玩弄放荡人妻少妇系列 | 韩国专区福利一区二区 | 国产精品沙发午睡系列 | 免费一区视频 | 日日av拍夜夜添久久免费浪潮 | 日韩三级视频在线观看 | 一本大道东京热无码aⅴ | 手机av免费看 | 中文字幕视频在线观看10页 | av无码精品一区二区三区四区 | 亚欧美日韩 | 国产成人av不卡免费观看 | 欧美亚洲另类自拍丝袜 | 欧美日韩一区二区三区在线观看免费 | 91高清视频免费观看 | 亚洲综合久久久久久888 | 亚洲国产av高清无码 | 日韩av免费一区二区 | 强奷乱码中文字幕 | 国产午夜亚洲精品久久 | 欧美专区一区二区三区 | 国产成人亚洲精品无码影院bt | 天天爽天天噜在线播放 | 夜夜夜夜夜夜爽噜噜噜噜噜噜 | 天天综合日韩 | 亚洲另类春色国产精品 | 欧美乱大交做爰xxxⅹ性3 | 四虎com | www.久久精品视频 | 风韵犹存妇人69国产 | av在线播放网址 | 粗壮挺进人妻水蜜桃成熟 | 亚洲欧美日韩国产精品一区午夜 | 亚洲精品无码永久在线观看性色 | 中国老妇荡对白正在播放 | 久久久久亚洲精品无码网址 | 亚洲天堂免费视频 | 青草久久久国产线免观 | 成人精品一区二区三区在线观看 | 天天干视频在线 | 樱花影院电视剧免费 | 特级西西人体444www高清大胆 | 中国做爰国产精品视频 | 人人草视频在线观看 | 国产精品a成v人在线播放 | а√资源新版在线天堂 | 高清国产av一区二区三区 | 日韩视频无码免费一区=区三区 | 国自产精品手机在线观看视频 | 欧洲亚洲1卡二卡三卡2021 | 国产黄色一级片视频 | 黄色大片成人 | 2020年无码国产精品高清免费 | 国产一级视频在线 | 亚洲成人久久久 | 亚洲国产精品久久久久秋霞1 | 天天爽天天狠久久久综合麻豆 | 国产欧美精品久久 | 精品啪啪 | 亚洲国产精品国自产拍久久 | 美女被抽插到哭内射视频免费 | 午夜dj在线观看免费视频 | 色播欧美 | 色综久久综合桃花网国产精品 | avhd101高清在线迷片麻豆 | 乱子伦一区二区三区 | 国产肉体xxxx裸体137大胆 | 久久免费看少妇a高潮一片黄特 | 中文字幕久热精品视频在线 | www网站在线观看 | 国产视频网站在线观看 | 欧美日韩国产成人高清视频 | 成人精品av一区二区三区 | 国产亚洲成av人片在线观看导航 | 亚洲精品色综合av网站 | 国产日韩欧美一区二区东京热 | 亚洲成a人片在线 | 囯精品人妻无码一区二区三区99 | 亚洲 综合 校园 欧美 制服 | 久久综合综合久久综合 | 亚洲天堂777 | 国产精品成人免费看片 | 久久香蕉久久 | 91插插插插插 | 国产做受69 | 国产精品入口日韩视频大尺度 | 成人18夜夜网深夜福利网 | 中文无码熟妇人妻av在线 | 亚洲精品成人网站在线播放 | 男人舔女人b视频 | 欧美性猛交xxxx免费视频软件 | 亚洲成人久久久 | 久久精品国产视频在热 | 午夜福利yw在线观看2020 | 国产人交视频xxxcom | 麻豆国产精成人品观看免费 | 一区二区三区四区在线不卡高清 | 国产aⅴ | 日本成人黄色片 | 成人无码av片在线观看 | 色黄视频网站 | 97人妻免费碰视频碰免 | 国产又黄又粗又硬又爽又猛的视频 | 91久久偷偷做嫩草影院 | 亚洲精品成人a在线观看 | 国产伦精品一区二区三区88av | 久久成人免费网 | 日本va在线视频播放 | 国产精品久久久久久在线观看 | 噜噜色小说 | 亚洲成aⅴ人片在线观 | 免费午夜无码18禁无码影视 | 蜜臀精品久久久久久蜜臀 | 日本真人无遮挡啪啪免费 | 久草五月 | 国产乱码免费卡1卡二卡3卡四卡 | 无码人妻一区二区三区兔费 | 日日噜噜噜夜夜爽爽狠狠视频 | 狠狠干视频网站 | 国内自拍小视频 | 最新版天堂资源网在线种子 | 亚洲精品久久久久中文字幕一区 | 影音先锋无码a∨男人资源站 | 7777欧美成是人在线观看 | 无码国产精成人午夜视频一区二区 | 亚洲欧美中文字幕日韩一区二区 | 国产亚洲产品影市在线产品 | 无码日本精品一区二区片 | 日本jyzz | 国产精品无码免费播放 | av网站在线播放不卡 | 欧美精品高清 | 亚洲自拍色 | jzzijzzij亚洲成熟少妇在线观看 欧美日韩美女 | 国产深夜男女无套内射 | 亚洲视频a| 欧美人与动xxxxz0oz视频 | 日本一区二区三区不卡免费 | 国产性猛交xx乱老孕妇 | 国产精品久久久久久久久久精爆 | 日韩人妻潮喷中文在线视频 | 51精品国自产在线 | 青青草原综合久久大伊人精品 | 天天干在线播放 | 亚洲专区欧美专区 | 欧美在线观看免费观看 | 免费无码无遮挡裸体视频在线观看 | 香港三级澳门三级人妇99 | 欧美成人免费全部 | 夜夜摸日日躁欧美视频 | 永久视频在线 | aaa少妇高潮大片免费看088 | 久热中文字幕无码视频 | 亚洲成aⅴ人片在线观看无app | 久久综合九色综合欧洲98 | 日本少妇高潮喷水免费可以看 | 国内精品久久久久久久影视 | 亚洲视频中文字幕 | 日本一区二区三区高清无卡 | 抱起大胸美女扔在床吻胸 | 国产精品色综合精品福利在线 | 国产又粗又猛又爽又黄的视频先 | 久久中文精品无码中文字幕下载 | 成年人免费在线观看网站 | 99中文在线| 久青草国产97香蕉在线视频 | 久久久999久久久 | 亚洲第一网站免费视频 | 亚洲小视频在线观看 | 麻豆一精品传媒卡一卡二传媒短视频 | 真实处破女刚成年av网站 | 国产精品久久久久久日本 | 亚洲一区在线日韩在线深爱 | 亚洲va韩国va欧美va精四季 | 欧美日韩视频免费 | 俺也来俺也去俺也射 | 日本精品视频在线观看 | 国产一级性生活 | 亚洲天堂性 | 日韩欧美色 | 午夜国产成人片在线播放 | 首页干日本少妇 | 天天躁夜夜躁av天天爽 | 亚洲免费观看av | 1区2区视频| 成人美女黄网站色大免费的88 | 久久久久久久久久综合 | 樱花草视频www日本韩国 | 小早川怜子痴女在线精品视频 | 久久精品国产99精品国产2021 | 91亚洲国产精品 | 亚洲第一无码精品一区 | 免费视频爱爱 | 亚洲愉拍自拍另类图片 | 精品一区精品二区制服 | 巨人精品福利官方导航 | 天天天天噜在线视频 | 国产高潮好爽好大受不了了 | 国产亚洲精品久久久久久国模美 | 亚洲熟妇自偷自拍另类 | 97久久久亚洲综合久久 | 亚洲a∨国产av综合av网站 | 91偷拍网站 | 久久男人av资源网站无码软件 | 精品一卡2卡三卡4卡乱码精品视频 | av噜噜噜| 小毛片网站 | 色欲来吧来吧天天综合网 | 午夜精品喷水 | 中文字幕乱码在线蜜乳欧美字幕 | 日本免费黄色网址 | 日本高清色本在线www | 欧美图片自拍偷拍 | 狠狠综合久久av一区二区 | 在线观看国产精品乱码app | 狠狠久久五月精品中文字幕 | 久久字幕 | 欧美日韩亚洲第一 | 欧美自拍偷拍 | 五月婷婷六月天 | 日韩丝袜另类精品av二区 | 国产成a人亚洲精v品久久网 | 国语精品一区二区三区 | 色婷婷啪啪 | 国产青青在线 | 久久久国产一区二区三区四区小说 | 日韩免费二区 | 日本高清视频免费观看 | 婷婷久久久亚洲欧洲日产国码av | 国产九九久久 | 激情久久亚洲 | 亚洲淫区 | 欧美日韩在线观看精品 | 婷婷网亚洲色偷偷男人的天堂 | 丰满婷婷久久香蕉亚洲新区 | 国产日韩欧美在线观看 | 久久久精品人妻无码专区不卡 | 亚洲欧美日韩视频一区 | 久久久久久日产精品 | 男女啪啪网站大全免费 | 欧美a图| 国产黑色丝袜在线视频 | 亚洲成在人线天堂网站 | 爱情岛论坛首页永久入口 | 人人搞人人爽 | 亚洲狠狠婷婷久久久四季av | 男女啪啪猛烈免费网站 | 玩弄放荡人妻少妇系列视频 | 国产 国语对白 露脸 | 欧洲一区二区三区四区 | 亚洲高清不卡 | 欧美亅性猛交内射 | 亚洲视屏在线观看 | 婷婷中文网| 日韩一品道 | 成人精品亚洲人成在线 | 国产在线看片免费人成视频97 | 亚洲国产精品一区二区成人片不卡 | 伊人久久大香线蕉综合av | 国产夜夜嗨| 蜜臀av性久久久久av蜜臀妖精 | 伊人色在线 | 麻豆国产精品va在线观看 | 国产精品久久婷婷 | 一级做受大片免费视频 | 中国丰满人妻videoshd | 日韩在线不卡av | 免费无码无遮挡裸体视频 | baoyu777.永久免费视频 | 亚洲影视大全 | 国产网红女主播精品视频 | 精品亚洲成a人在线看片 | 国产精品成人无码久久久久久 | 天堂二区 | 国产一级一区二区 | 超碰97人人做人人爱网站 | 日本视频网站在线观看 | 欧美国产日韩在线三区 | 国产精品久久久久久熟妇吹潮软件 | 日韩亚洲视频在线观看 | 精品国精品国产自在久不卡 | 国产公开久久人人97超碰 | 女性无套免费网站在线看 | 2023天天操 | 日韩欧美亚洲一区二区 | 野花成人免费视频 | 中文字幕精品久久久久人妻 | 四虎成人精品国产永久免费 | 大乳丰满人妻中文字幕日本 | 天堂中文а√在线官网 | 中文字幕久久久久人妻 | 少妇人妻真实偷人精品视频 | 亚洲手机在线人成网站 | 国内高清a自拍视频 | 91成人在线看 | 久久久久国色av免费看图片 | 尤物网站在线播放 | 国产午夜精品一区二区三区软件 | 欧美老女人性生活视频 | 亚洲中文字幕无码久久精品1 | 123成人网| 未满小14洗澡无码视频网站 | 一二三四视频社区在线播放中国 | 蜜芽tv国产在线精品三区 | 自拍偷自拍亚洲精品10p | 欧美a级成人淫片免费看 | 久久精品国产精品亚洲 | 亚洲中又文字幕精品av | 性色av网站 | 黄色录像二级片 | 永久免费的啪啪网站免费观看浪潮 | 国产乱子伦精品无码专区 | 精品影片在线观看的网站 | 最近免费中文字幕大全免费版视频 | www.-级毛片线天内射视视 | 91超碰九色 | 亚洲精品68久久久一区 | 国产各种高潮合集在线观看 | 久久精品视频免费观看 | 在线观看国产最新a视频 | 欧美视频在线观看一区二区 | 永久免费黄色大片 | 一级日韩毛片 | 男女黄色毛片 | 亚洲aaaa级特黄毛片 | 好看的91视频 | 五月综合激情婷婷六月 | 亚洲成a人v在线蜜臀 | 亚洲三区av| 亚洲成人经典 | 国产精品禁18久久久夂久 | 国产午夜精品久久 | 国产v亚洲v天堂a无码99 | 精品少妇爆乳无码aⅴ区 | 国产av亚洲精品ai换脸电影 | 日韩精品国产一区 | 插插射啊爱视频日a级 | 国产精品色婷婷99久久精品 | 成人在线午夜视频 | 亚洲色欲久久久综合网东京热 | 亚洲午夜久久 | 国产真实伦对白全集 | 久久青草视频 | 久久久一本精品99久久精品66直播 | xxxx野外性xxxx黑人 | 国产片av片永久免费观看 | 国产精品jizz在线观看麻豆 | 精品人妻无码视频中文字幕一区二区三区 | 亚洲一区二区三区乱码在线欧洲 | a级毛片基地| 欧美a在线视频 | 色诱亚洲精品久久久久久 | 少妇精品 | 狂野欧美性猛交xxxx巴西 | www.69国产| aa国产视频 | 四虎在线网站 | 九九九免费观看视频 | 色一情一交一乱一区二区 | 一区二区福利视频 | 国产成人精品久久一区二区三区 | 真人抽搐一进一出视频 | 偷拍盗摄66av99 | 免费人成在线观看网站品爱网 | 18禁裸乳无遮挡自慰免费动漫 | 亚洲国产婷婷六月丁香 | 色婷婷激情一区二区三区 | 国内精品乱码卡一卡2卡三卡新区 | 日本一区二区无卡高清视频 | 4455永久免费视频 | 偷欧洲亚洲另类图片av天堂 | 久久青青草原国产最新片完整 | 国产好吊看视频在线观看 | 久久免费精品 | 久久精品一区二区视频 | 亚洲日韩久热中文字幕 | 国产99视频精品免费视看6 | 狠狠色丁香五月综合婷婷 | 97超碰成人 | 天堂网www.| 果冻传媒av精品一区 | 91免费在线 | 亚洲国产精品va在线看黑人 | 亚洲免费大片 | 亚洲欧洲免费无码 | 色又黄又爽18禁免费网站 | 久久精品福利 | 中文字幕乱码亚洲影视 | 欧美成人乱码一二三四区 | 午夜免费福利视频 | 久久精品天天中文字幕人妻 | 中文字幕无码精品亚洲资源网久久 | 成人在线视频你懂的 | 亚洲狠狠爱综合影院网页 | 91在线操 | 国产麻豆剧果冻传媒白晶晶 | 久久男人av久久久久久男 | 久久综合丝袜日本网 | 伊人久久丁香色婷婷啪啪 | 色综合天天视频在线观看 | 久久久久麻豆v国产精华液好用吗 | 男女全黄一级高潮 | 日韩a片无码一区二区五区电影 | 亚洲日本一本dvd高清 | 日本黄色动态图 | 国产xxxx成人精品免费视频频 | 人人妻碰人人免费 | 国内一级黄色毛片 | av网在线| 近伦中文字幕 | 国内精品少妇在线播放 | 日韩一区二区三区av | 一级国产黄色片 | 久久在精品线影院 | 中文字幕精品一区二区的区别 | 国产免费一级片 | 精品一区中文字幕 | 久久综合色一综合色88欧美 | 91麻豆产精品久久久久久 | 精品欧美一区二区三区 | 少妇太爽了在线观看免费视频 | 日本成片网 | 午夜久久久精品 | 性按摩玩人妻hd中文字幕 | 亚洲国产精品一区二区www | 内射女校花一区二区三区 | 亚洲无线一二三四区手机 | 一本久道综合在线无码人妻 | av无码一区二区二三区1区6区 | 亚洲淫少妇| 九九99久久精品在免费线bt | 国产一级特黄aaa大片评分 | 日韩一区二区三区无码人妻视频 | 91久久夜色精品国产网站 | 99热爱久久99热爱九九热爱 | 亚洲精品网站在线播放gif | 久久久少妇| 91成人网在线观看 | 国产cao | 清纯校花高潮娇喘喷白浆 | 后进式无遮挡啪啪摇乳动态图 | 精品国产三级a∨在线欧美 奇米欧美 | 自由成熟xxxx色视频 | 成人免费无码婬片在线观看免费 | 粉嫩91精品久久久久久久99蜜桃 | 久久艹在线 | 蜜桃少妇av久久久久久久 | 精品一区二区国产 | 一级全黄少妇性色生活片毛片 | 亚洲视频一二三区 | 91精品在线国产 | 色咪咪网站 | 青青视频免费看 | 九九九九精品视频在线观看 | 伊人爱爱网 | 国产乱对白刺激视频 | 国产福利精品在线观看 | 青青草成人免费视频 | 91亚洲精品国偷拍自产 | 蜜臀久久99精品久久久酒店新书 | 日本免费啪视频在线看视频 | 国产婷婷一区 | 九色视频在线观看 | 日韩 精品 综合 丝袜 制服 | 夜久久久| 亚洲夜夜爱 | 亚洲男人的天堂色婷婷 | 911国语对白 | 亚洲视频1区 | av无码人妻波多野结衣 | 国产成人亚洲精品青草天美 | 理论片久久 | 又大又长粗又爽又黄少妇毛片 | 色婷婷国产精品高潮呻吟av久久 | 国产精品国产精品偷麻豆 | 岛国片人妻三上悠亚 | 91丨国产丨白丝 | 日韩人妻无码精品久久 | 337p人体粉嫩胞高清视频 | 久久久久久久久久久久中文字幕 | 国产精品96久久久久久又黄又硬 | 亚洲区小说区图片区qvod按摩 | 怡红院亚洲第一综合久久 | 日韩美av | 色久视频 | 国产精品麻花传媒二三区别 | 国产色黄| 看全色黄大色黄大片 视频 国产精品亚 | 2021最新国产在线人成 | 久久国产精品福利一区二区三区 | 苍井空一区二区三区在线观看 | 伊人天天久大香线蕉av色 | 欧美极品一区二区 | 欧美一级爽 | 久久精品黄aa片一区二区三区 | 日本一区二区三区免费软件 | 亚洲综合激情另类小说区 | 亚洲高清专区日韩精品 | 欧洲熟妇色xxxx欧美老妇免费 | 午夜视频福利 | 欧美中文网 | 国产欧美专区 | 天天操操操 | 亚洲国产精品久久久久爰 | 亚洲精品久久久久久一区 | 国产不卡久久精品影院 | 国产成人精品女人久久久 | 老司机av导航| 四虎在线永久免费观看 | 亚洲看片lutube在线观看 | 亚欧无线一线二线三线区别 | 丰满少妇女人a毛片视频 | 国产无遮挡又黄又爽不要vip网站 | 亚洲视频a| 国内精品国产成人国产三级 | 欧美激情在线一区二区三区 | 伊人成色综合网 | 乱码国产丰满人妻www | 尤物永久网站 | 亚洲国产成人久久综合区 | 国产成人综合亚洲亚洲国产第一页 | 制服国产欧美亚洲日韩 | 性久久久久久 | 无码熟妇人妻av在线影片最多 | 视频一区日韩 | 精品国产yw在线观看 | 欧美午夜性生活 | 欧美亚洲国产成人一区二区三区 | 猫咪av网 | 青青草手机在线 | 国产精品久久久久久久久久久免费 | 嘿嘿射在线 | 97夜夜操 | 亚洲精品无码久久千人斩探花 | 欧美交换乱淫粗大 | 无码人妻精品一区二区三区在线 | 亚洲乱码一区av春药高潮 | 亚洲成av人片在线观看天堂无 | 亚洲日本va午夜中文字幕一区 | 精品黄色网 | 午夜性色福利在线视频18观看 | 三上悠亚精品一区二区 | 中文字幕无码一区二区免费 | 看成年全黄大色黄大片 | 亚洲精品欧美综合二区 | 激情视频免费在线观看 | 影音先锋中文字幕第一页 | 久久国产免费观看精品3 | 国产剧情无码播放在线看 | 隔壁人妻被水电工征服 | 日本在线精品 | 精品日韩一区 | 亚洲高清色图 | 亚洲日韩中文字幕 | 求毛片网站 | 亚洲精品自拍偷拍 | 国产精品人人做人人爽人人添 | 国产色噜噜 | 男人天堂免费视频 | av手机在线| 熟女俱乐部五十路六十路 | 欧美性黑人极品hd变态 | 十六以下岁女子毛片免费 | 男女爽爽午夜18污污影院 | 四虎国产精品成人影院 | 热99re久久精品这里都是精品 | 欧洲一级黄| 真实人妻互换毛片视频 | 国产激情久久久久久熟女老人av | 夜夜躁很很躁日日躁2020 | 男女做爰高清无遮挡免费视频 | 欧美日本精品一区二区三区 | 欧美又大又色又爽aaaa片 | 性与爱午夜视频免费看 | 国产精品入口a级 | 2021精品亚洲中文字幕 | 色爱无码av综合区老司机非洲 | 欧美乱大交aaaa片if | 亚洲草草| 少妇人妻偷人精品无码视频新浪 | 久久综合九色欧美婷婷 | 绿帽在线观看99av | 人人综合亚洲无线码另类 | 九色精品国产成人综合网站 | 亚洲成人免费在线观看 | 亚洲国产成人精品av在线 | 天天干天天综合 | 2020av视频| 欧美人与禽猛交乱配视频 | 九九九久久国产免费 | 丰满饥渴的少妇hd | 欧美丰满熟妇bbbbbb百度 | 丝袜足控一区二区三区 | 国产性色强伦免费视频 | 成人国产精品日本在线 | 久久天天躁狠狠躁夜夜 | 在线看毛片的网站 | 久久精品国产99国产精品澳门 | 亚洲操图| 中文字幕精品一区二区三区在线 | 清纯小美女主播流白浆 | 午夜做受视频试看6次 | 国产日韩一区二区三区 | 国产啊~cao死你个小sao货 | 国产精品v亚洲精品v日韩精品 | 天堂在线中文在线 | 国产亚洲第一午夜福利合集 | 亚洲免费人成视频观看 | www丫丫国产成人精品 | 在线免费观看av不卡 | 久久国产一级片 | 51区成人一码二码三码是什么 | 亚洲国产午夜精品理论片妓女 | 好爽…又高潮了免费毛片 | 小早川怜子痴女在线精品视频 | 天堂a在线 | 拍真实国产伦偷精品 | 九九视频麻婆豆腐在线观看 | 九一国产在线观看 | 国产一区国产二区在线精品 | 黄色免费av | 日韩五码| 国产女厕所盗摄老师厕所嘘嘘 | 天天摸夜夜添狠狠添婷婷 | 特大巨黑吊xxxx高潮 | 免费精品视频在线观看 | 路边理发店露脸熟妇泻火 | 国产在线在线 | 国产午夜激情 | 免费在线观看亚洲视频 | 久久精品嫩草影院 | 欧美激情视频一区二区三区 | 欧美无人区码suv | 亚洲色图 在线视频 | av在线首页 | 亚洲玖玖爱 | 国产a毛片| 国产人妻xxxx精品hd | 高清国产午夜精品久久久久久 | 日韩在线视频第一页 | 欧美精品中文字幕亚洲专区 | 91精品国产综合久久久久久久久久 | 九九热爱视频精品 | 青青草超碰在线 | 国产精品福利一区二区 | 中文字幕在线视频免费视频 | 久久人人爽人人爽人人片av不 | 亚洲 丝袜 另类 校园 欧美 | 亚洲成色在线综合网站免费 | 97干在线视频 | caoporn免费在线 | 天堂中文字幕av | 亚洲精品国产品国语在线 | 中文字幕一级 | 伊人99综合精品视频 | 曰韩精品无码一区二区视频 | 三级全黄不卡的 | 不卡视频在线播放 | 91在线中文字幕 | av天天草 | av天天网| a一级黄色片 | 在线午夜视频 | 欧美激情内射喷水高潮 | 日韩精品在线免费看 | 欧美俄罗斯40老熟妇 | 国产成人69视频午夜福利在线观看 | 巨胸美乳无码人妻视频 | 2020国产在线拍揄自揄视频 | 国产精品熟女高潮视频 | 日日摸日日干 | 国产激情91 | 另类天堂 | 亚洲综合网址 | 亚洲最大成人av在线天堂网 | 日韩一卡2卡3卡4卡新区亚洲 | 久久久xxx| 无码av无码天堂资源网 | 日韩毛片一级 | 久久天天躁夜夜躁狠狠2018 | 免费观看全黄做爰的视频 | 黄色在线一区 | 色欧美日韩 | 日本在线播放视频 | 亚洲一区二区福利 | 亚洲综合成人av | 亚洲午夜爱爱香蕉片 | 中国白嫩丰满少妇xxxxx明星 | 黄色三级在线 | 日本不卡一区在线 | 六月激情综合网 | 欧美大片在线看 | 亚洲美女一级片 | 日韩精品成人在线 | 抽插丰满内射高潮视频 | 亚洲精品美女在线观看 | 毛片h| 成年网站在线免费观看 | 18禁美女黄网站色大片免费网站 | 免费黄色毛片 | 日韩有码在线播放 | 天堂在线最新版资源www中文 | 国产一区二区三区视频在线 | 久久精品av一区二区免费 | 精品久久久无码人妻字幂 | 国产无遮挡又黄又爽动态图 | 午夜免费啪视频在线观看 | 国产99视频精品免费视看9 | 日韩一级特黄 | 无码日韩精品一区二区三区免费 | www.久久艹 | 亚洲人亚洲精品成人网站 | 亚洲一区久久久 | 少妇扣逼视频 | 亚洲成av人片天堂网无码 | 亚洲中久无码永久在线观看同 | 自拍第一区 | 久久午夜夜伦鲁鲁片免费无码影院 | 日本丰满熟妇videossex一 | 99色精品| 国产又黄又爽又色的免费视频白丝 | 香蕉视频在线观看网站 | 天天爽夜夜爽人人爽曰av | 国产男女嘿咻视频在线观看 | 亚洲aⅴ一区二区三区 | 天天av天天操 | 日产精品久久久久久久 | 国产精品久久久久9999小说 | 成人51免费| 免费无码国模国产在线观看 | 日韩成人精品一区二区 | 亚洲欧洲一区二区在线观看 | 国产精品久久久久久52avav | 亚洲国产成人丁香五月激情 | 成人av不卡 | 最新日韩av在线 | 国产av一区二区三区传媒 | 男人天堂网在线 | 亚洲综合av色婷婷五月蜜臀 | 国产精品嫩草影院免费观看 | 午夜精品福利在线 | 国产乱码人妻一区二区三区四区 | 国产精品福利在线 | 久久精品伊人波多野结衣 | 三级三级久久三级久久 | 五月婷婷影院 | 天天爱天天草 | 亚洲欧美日韩一区在线观看 | 国产 国语对白 露脸 | 日韩精品在线一区二区 | 最新国内精品自在自线视频 | 国产成人精品亚洲午夜 | 久久婷婷日日澡天天添 | 成年无码av片在线蜜芽 | 亚洲精品无码久久久久牙蜜区 | 成人午夜福利视频后入 | 国产精品第二页 | www.97超碰.com| 亚洲a∨国产高清av手机在线 | 97插插插 | 亚洲成av人片天堂网无码】 | 日本丰满大乳奶做爰 | 欧美午夜精品久久久久久孕妇 | 欧美成人久久久免费播放 | 日韩欧美性一区二区三区 | 一区二区三区在线观看av | 曰的好深好爽免费视频网站 | 欧美老妇与禽交 | 桃色视频网站 | 国产三级精品三级在线专区1 | 超碰av人人 | 亚洲尤码不卡av麻豆 | 久久www色情成人免费 | 亚洲免费观看高清完整 | 日本美女黄色大片 | 欧美手机在线观看 | 中文字幕 视频一区 | 欧美成人在线免费 | 国产精品岛国久久久久 | 国产久热精品无码激情 | 在线看精品 | 日本三级黄色中文字幕 | 1024国产 | 国产欧美一区二区在线 | 老太婆性杂交欧美肥老太 | 国产在线精品无码二区二区 | 水牛影视一区二区三区久 | 亚洲码国产日韩欧美高潮在线播放 | 国产私拍大尺度在线视频 | 精品国产1区2区 | 亚洲永久免费网站 | 国产高清亚洲精品视bt天堂频 | 国产偷窥老熟盗摄视频 | 午夜视频福利在线 | 国产精品热久久无码av | 人人干人人干 | 揉捏奶头高潮呻吟视频 | 四虎影视永久在线精品 | 久久精品国产亚洲7777 | 午夜无码大尺度福利视频 | 少妇高潮毛片高清免费播放 | 1313午夜精品理论片 | 综合激情网 | www.日本在线播放 | 欧美日韩精品成人网视频 | 国产精品揄拍100视频 | 亚洲第一中文av | 国产日韩欧美一二三区 | 久久91久久| 国内精品伊人久久久久av | 色偷偷av一区二区三区 | 91视频免费网站 | 久久免费的精品国产v∧ | 香蕉在线播放 | 国产成人免费视频精品 | 99re免费| 午夜无码国产理论在线 | 国产自美女在线精品尤物 | 四虎成人精品国产永久免费 | 午夜精品久久久久久久99樱桃 | 国产亚洲精久久久久久无码 | 中文字幕一区二区三区精彩视频 | 亚洲天天做日日做天天欢 | 国产欧美成aⅴ人高清 | 硬了进去湿好大娇喘视频 | 国产无套内射久久久国产 | 99精品久久毛片a片 久草青青草 | 新天堂网| 麻豆文化传媒精品一区观看 | 亚洲aⅴ综合色区无码一区 最新亚洲人成网站在线影院 | 女被啪到深处喷水gif动态图 | 中文字幕91爱爱 | 国产亚洲精品欧洲在线视频 | 性刺激的大陆三级视频 | 第一宅男av导航入口 | 影音先锋5566中文源资源 | 亚洲人成日韩中文字幕无卡 | 四色永久网站在线观看 | 特黄色一级片 | 久久国内精品视频 | 漂亮人妻中文字幕丝袜 | 久草在线视频网 | 精品国产免费人成电影在线看 | 午夜美女网站 | 久久综合av免费观看 | 无码高潮喷吹在线观看 | 中出亚洲| 蜜桃臀无码内射一区二区三区 | 中文字幕资源站 | 永久免费的无码中文字幕 | 在线 无码 中文字幕 强 乱 | 蜜臀国产在线视频 | 91在线观看视频 | 毛片毛片毛片毛片毛片毛片毛片 | 日本乱码一区二区 | 人人人插人人费 | 国产乱码精品一区二区三区五月婷 | 免费在线看黄色片 | 亚洲精品国产美女久久久 | 日韩激情视频在线播放 | 91香蕉视频免费在线观看 | 伊人久久精品一区二区三区 | 91露脸的极品国产系列 | 中文在线免费观看 | 无码av免费永久免费永久专区 | 欧美国产激情一区二区在线 | 国产精品久久久久野外 | 国产成人亚洲精品无码综合原创 | 少妇高潮太爽了在线观看 | 青草av久久一区二区三区 | 四虎成人在线 | 亚洲一区二区播放 | 强奷乱码中文字幕乱老妇 | 日韩亚洲在线观看 | 国产精品久久国产三级国 | 中文字幕无码av正片 | 无码国产精品一区二区免费虚拟vr | 欧美精品一区二区性色 | 国产女人喷潮视频免费 | 欧美精品v欧洲高清视频在线观看 | 国产精品偷伦视频免费观看的 | 国产av一区二区精品凹凸 | 伊人天天操 | 国产又色又爽无遮挡免费软件 | 欧美性做爰大片免费 | 精品国产一区二区av麻豆不卡 | 亚洲 欧洲 日韩 综合二区 | 中文字幕 在线 欧美 日韩 制服 | 久久这里只精品国产免费99热4 | 91在线 | 亚洲 | 国产欧美另类久久精品蜜芽 | 99v久久综合狠狠综合久久 | 久久99热这里只频精品6 | 国产网站视频 | 久久精精品久久久久噜噜 | 男女性色大片免费网站 | 欧美精品色视频 | 99精品视频在线观看免费蜜桃 | 国产精品亚洲精品一区二区 | 在线观看区| 天堂8а√中文在线官网 | jizz内谢中国亚洲jizz | 搡老熟女老女人一区二区 | 精品午夜福利1000在线观看 | 成人av时间停止系列在线 | 久久亚洲精品ab无码播放 | 国产精品美女久久久久久2021 | 欧美国产成人精品一区二区三区 | 国色天香中文字幕在线视频 | 婷婷情更久日本久久久片 | 亚洲人成电影网站色www | 黄色片在线观看免费 | 国产成人av在线免播放观看 | 二级黄色毛片 | 色欲色香天天天综合网www | 日本中文字幕在线视频 | 亚洲欧洲成人在线 | 五月激情婷婷在线 | 久久久久夜夜夜精品国产 | 国产手机在线播放 | 欧美一级片毛片 | 国产精品高潮呻吟av久久软件 | 色淫av蜜桃臀少妇 | 日韩欧美系列 | 激情国产一区 | 成人自拍视频在线 | 亚洲精品乱码久久久久久蜜桃麻豆 | 久久午夜免费视频 | 欧美日本高清视频 | 久久久国产精品亚洲一区 | 国产侵犯亲女三级 | 一二三四视频社区在线播放中国 | zzijzzij亚洲丰满少妇 | 国产精品乱码一区二区三区 | 中文字幕之中文字幕 | 最新免费黄色网址 | 在线视频综合 | 在线免费看91 | 日本涩涩网站 | 无码国产69精品久久久久孕妇 | 久操资源站 | 人妻av中文字幕一区二区三区 | 国产欧美精品一区二区三区-老狼 | 欧美老妇bbbwwbbbww | 黑白配国语在线播放免费 | 国产喷水吹潮视频www | 无码色av一二区在线播放 | 欧美成人精品手机在线 | 午夜成年奭片免费观看 | 一本一本久久a久久精品综合不卡 | 久久久www成人免费毛片女 | 国产精品99久久久久久人 | 最新国产精品剧情在线ss | 网红av在线 | 欧美色88 | 风间由美交换夫中文字幕 | 黄色免费小视频网站 | 美腿制服丝袜国产亚洲 | 欧美激情在线狂野欧美精品 | 国产成 人 综合 亚洲网站 | 亚洲精品你懂的在线观看 | 日p视频在线观看 | 青青草在线免费视频 | 九色91在线 | 尤物久久av一区二区三区亚洲 | 鸥美一级片 | 少妇一级淫免费播放 | 日韩亚洲产在线观看 | 亚洲精品乱码久久久久久蜜桃图片 | 国产黄在线 | 青乐娱精品视频一国产分类 | 国产精品久久久久高潮 | 99久久综合狠狠综合久久aⅴ | 国产网友愉拍精品视频手机 | 精品一区二区三区在线播放 | 国产人19毛片水真多19精品 | 国产精品露脸视频 | 国产伦精品一区二区三区免费 | 久久免费视频一区 | 秋霞在线观看片无码免费不卡 | 午夜视频在线免费看 | 亚洲 精品 主播 自拍 | 天天操天天看 | 奇米影视777四色米奇影院 | 日韩人妻无码精品久久久不卡 | 在线视频免费无码专区 | 国产午夜精品免费一区二区三区视频 | 日本人极品人妖高潮 | 青青青国产 | 永久免费的av在线电影网无码 | 天天躁日日躁狠狠躁婷婷 | 99re在线视频播放 | 成在人线无码aⅴ免费视频 国产精品夫妇激情 | 亚洲国产欧美在线人成app | 亚洲最大综合久久网成人 | 午夜亚洲成人 | 亚洲 自拍 欧美 小说 综合 | 亚洲1区2区3区4区 | 亚洲第一页在线视频 | 欧美日韩在线观看一区二区 | 欧美人善z0zo性伦交高清 | 免费观看的毛片 | 日韩欧美亚洲国产 | 欧美成人极品 | 伊人久久成综合久久影院 | 一区二区三区国产 | 国产不卡视频在线 | 夜趣导航av国产 | 亚洲中文字幕无码日韩 | 欧美xxx喷水| 色草在线 | 爽爽精品dvd蜜桃成熟时电影院 | 日韩激情视频网站 | 一本一道vs无码中文字幕 | 草碰在线视频 | 成人区精品一区二区不卡 | 久久久久久久久精 | 成av人片一区二区三区久久 | 少妇高潮流白浆在线观看 | 日韩av免费网址 | 国产亚洲第一页 | 一本加勒比hezyo日本变态 | 26uuu国产日韩综合 | 优优人体大尺大尺无毒不卡 | 中文字幕一区二区三区四区欧美 | 精品av天堂毛片久久久 | 日日日色 | 免费观看黄色毛片 | 邻居少妇张开腿让我爽了一夜 | 久久熟妇人妻午夜寂寞影院 | 黄色片视频在线观看 | 又粗又大又黄又爽的免费视频 | 亚洲区偷拍 | 日韩免费精品 | 成在人线av无码免费高潮求绕 | 国产欧美日韩在线播放 | 久久人人妻人人爽人人爽 | 国产亚洲精品久久久久小 | 美女自卫慰黄网站免费 | 国产专区免费资源网站 | 黑森林av | 波多野结衣影院 | 欧美乱码精品一区二区三区 | 日本私人vps一夜爽毛片 | 黄色成人在线 | 色黄大色黄女片免费中国 | 热99视频 | 色偷偷色噜噜狠狠成人免费视频 | 亚洲黄色一级大片 | 多毛丰满日本熟妇 | 综合成人亚洲偷自拍色 | 亚洲第一欧美 | 一本大道区一区二区三乱码八 | 中文字幕av在线一二三区 | 欧美性生交大片免费看 | www夜片内射视频日韩精品成人 | 国产suv精品一区 | 人妻少妇精品久久 | 日本精品一区二区三区视频 | 色欲av亚洲情无码av蜜桃 | 日韩欧美大片免费观看 | 精品人伦一区二区三区潘金莲 | 45分钟免费真人视频 | 亚洲激情图片视频 | 91久久在线 | 永久免费的污视频网站 | 美女网站免费看 | 欧美日韩18 | 精品无码一区在线观看 | 亚洲精品成a人在线 | 国产精品人成视频免费999 | 国产高清不卡免费视频 | 色窝窝无码一区二区三区色欲 | 国产精品99久久久久久成人四虎 | 国产三级网站在线观看 | aⅴ一区二区三区无卡无码 青青久操 | 久久久wwww | 亚洲国产欧美一区 | 亚洲永久精品一区 | 成年美女黄网色视频免费4399 | 国产精品2018 | 色啪av | 午夜福利看757 | 亚洲男人的天堂av手机在线观看 | 午夜视频福利 | 国产v欧美v日本v精品按摩 | 精品蜜臀久久久久99网站 | 国产av影片麻豆精品传媒 | 亚洲无线码在线一区观看 | 人妻少妇456在线视频 | 亚洲黄视频 | 在线观看视频一区 | 亚洲国产一区二区三区a毛片 | 伊人网国产 | 91亚洲精品国偷拍自产在线观看 | 色婷婷导航 | 狠狠插网| 亚洲日本欧美日韩中文字幕 | www.久久久久久久久久久 | 免费毛片一区二区三区 | 在线免费观看亚洲视频 | 欧美性猛交xxxx免费看久久久 | 国产精品岛国久久久久 | 欧美激欧美啪啪片免费看 | 久久久99精品免费观看 | 一二三区精品视频 | 91精品在线看| 催眠淫辱の教室3在线观看 亚洲中字慕日产2020 | 日韩一区2区 | 日韩免费在线观看 | 国产真实迷奷在线播放 | 久久中文综合 | 国产精品香蕉成人网在线观看 | 国产亚洲精品欧洲在线视频 | 亚洲国产专区 | 麻豆果冻传媒精品 | 全球av集中精品导航福利 | 亚洲精品成人在线 | 日本成夜色爽免费视频 | 亚洲狠狠干 | 欧美综合色 | 黑人巨大精品欧美一区二区免费 | 日本一区二区成人 | 爆操中出| 毛片网站在线播放 | 久久久久一级片 | 欧美激情专区 | 日韩人妻无码精品系列专区 | 人妻影音先锋啪啪av资源 | 九一精品视频一区二区三区 | 91视频在线 | 欧美精品乱码视频一二专区 | 精品高朝久久久久9999 | av毛片网站| 精品无码一区二区三区亚洲桃色 | 一本久道综合在线无码人妻 | 亚洲综合99| 婷婷激情综合 | yy111122少妇光屁股影院 | 日韩色av | 一级做a爰片性色毛片99高清 | 欧洲熟妇性色黄在线观看免费 | 国语精品福利自产拍在线观看 | 精品视频免费在线观看 | 欧美激情综合五月色丁香小说 | 欧美日韩亚洲一区二区三区一 | 国产人妖乱国产精品人妖 | 又黄又爽又色又刺激的视频 | 国产精品嫩草影院99网站 | 4hu四虎永久在线影院 | 久久综合久久久久88 | 五月色夜婷婷丁香琪琪 | 久久www免费人成精品 | 亚洲乱亚洲乱妇无码 | 婷婷综合少妇啪啪喷水 | a天堂中文字幕 | 玩弄人妻奶水无码av在线 | 色婷婷av一区二区 | 国产成人无码aⅴ片在线观看 | 天天色天天操天天 | 婷婷成人基地 | 成人国产精品蜜柚视频 | 国产精品疯狂输出jk草莓视频 | 精品久热 | 国产精品男人的天堂 | 亚洲欧美综合精品另类天天更新 | 在线观看免费人成视频色 | www.色就是色.com | 一本久道久久综合狠狠躁av | 中国老妇荡对白正在播放 | 国产精品成人品 | 在线观看国产成人swag | 国产最新网址 | 色悠悠国产精品 | 小说区图片区视频区 | 国内成人av| 国产视频资源在线观看 | 国产av亚洲精品久久久久 | 久久亚洲精品无码av大香大香 | 成熟少妇一区二区三区 | 国产91精品看黄网站在线观看动漫 | 日本高清视频www在线观看 | 超碰在线人人草 | 免费av在线| 亚洲26p| 国产三级在线观看免费 | 中文字幕在线字幕中文 | 久久久久久人妻毛片a片 | 欧美揉bbbbb揉bbbbb | 国产丝袜视频一区二区三区 | 乱妇乱女熟妇熟女网站 | 91精品视频一区 | 精品人妻少妇嫩草av无码专区 | 无码国内精品久久人妻蜜桃 | 国产一级特黄毛片在线毛片 | 国产特级毛片aaaaaa喷潮 | 3a毛片| 精产国品一二三产区9977 | 欧美一区二区三区 | 精品少妇爆乳无码aⅴ区 | 天干夜天天夜天干天 | 国产免费极品av吧在线观看 | 亚洲综合色自拍一区 | jul599hd中文字幕 | 人人妻人人添人人爽欧美一区 | 日本肥老熟hd | 99r在线精品视频在线播放 | 香蕉视频在线观看网站 | 日韩性插| 中文字幕乱妇无码av在线 | 黄色激情网站 | 亚洲欧美综合精品久久成人网 | 欧美丰腴丰满大屁股熟妇 | 国产97色在线 | 日韩 | 西西人体大胆扒开下部337卩 | 亚洲综合久久成人a片 | 特黄少妇60分钟在线观看播放 | 亚洲中文字幕高清有码在线 | 久草在线免费福利资源 | 国产一级特黄a大片免费 | 羞羞色院91精品网站 | 射久久久 | 天堂色视频 | 国产最变态调教视频 | 亚洲成av 人片在线观看无码 | 国内精品乱码卡一卡2卡三卡 | 伊人久久大香线蕉综合5g | 国产成人精品午夜福利 | 日本特黄高清免费大片 | 国产香蕉尹人在线观看视频 | 网址在线观看你懂的 | 免费毛片网站在线观看 | 无遮挡又黄又刺激的视频 | 日本www在线播放 | 99热99热 | 午夜亚洲精品久久一区二区 | www.youjizz.com日本 | av手机天堂 | 国产区精品系列在线观看 | 成人精品视频一区二区不卡 | 夜夜夜网站 | 国产精品免费av一区二区 | 天天操天天射天天添 | 69大东北熟妇高潮呻吟 | 精品一区二区三区东京热 | 日韩无套内射高潮 | youjizz.com在线播放 | 亚洲 欧美变态 另类 综合 | 久久人妻天天av | 欧美成人午夜77777 | 337p粉嫩日本欧洲亚福利 | 欧美另类视频在线观看 | 欧美 日韩 国产 一区二区三区 | 国产亚洲精品一区二区三区 | 亚洲aⅴ天堂av天堂无码麻豆 | 亚洲成a人v欧美综合天堂麻豆 | 亚洲精品字幕在线 | www.91在线播放 | 色综合久久88色综合天天提莫 | 精品视频无码一区二区三区 | 亚洲 国产专区 校园 欧美 | 国产日产精品一区二区 | 久久99热这里只频精品6 | 好男人社区在线观看 | 成人激情视频在线 | 色成人www精品永久观看 | 国产精品186在线观看在线播放 | 人人妻人人爽人人添夜夜欢视频 | 在线爽| 香蕉视频在线观看网站 | 免费婷婷 | 国产乱理伦片在线观看 | 97久久超碰国产精品最新 | 狠狠插天天干 | 国产一卡二卡三卡四卡视频版 | 国产一区二区不卡老阿姨 | 一本在线 | 九热视频在线观看 | 欧美日韩爱爱 | 国产欧美va欧美va在线 | 久久综合九色综合欧美就去吻 | 天天综合网在线观看视频 | 黑鬼巨鞭白妞冒白浆 | 九九九九九少妇爽黄大片 | 波多野结衣福利视频 | av2014天堂| 久久国产精品偷任你爽任你 | 97超碰香蕉| 亚洲国产mv| 亚洲a久久 | 日韩综合夜夜香内射 | 粉嫩av一区二区在线播 | 国产精品1024 | com超碰 | 成人性生交大片免费8 | 欧美丰满大黑帍在线播放 | 国产成人黄色av | 午夜丁香影院 | 强制中出し~大桥未久在线播放 | 亚洲精品国产成人久久av盗摄 | 愉拍自拍第169页 | 爽爽影院免费观看视频 | 久久影视一区二区 | 国模大胆无码私拍啪啪av | 五月天婷婷伊人 | 超碰免费91 | 风间由美一区二区三区 | 阿v天堂网| 激情五月在线 | 快射视频在线观看 | 日韩激情国产 | 日本黄色网页 | 青娱乐91视频 | 日本一区二区视频免费 | 丁香五月开心婷婷激情综合 | 人妻丰满熟妞av无码区 | 亚洲精品国产精品国产自 | 波多野结衣欲乱 | 国产在线精品一区在线观看 | 欧美午夜一区二区 | 五月综合色婷婷在线观看 | 亚洲精品无码久久久久y | 四色成人网 | 日韩在线一区二区 | 最近中文字幕免费在线观看 | 亚洲成av人最新无码不卡短片 | 日韩、欧美、亚洲综合在线 | 久久99婷婷国产精品免费 | 尤物国产在线精品福利三区 | 午夜寻花在线观看 | 日韩噜噜 | 一本清日本在线视频精品 | 一区二区免费在线视频 | 成人网站亚洲二区乱码 | 欧美色图在线观看 | 熟女少妇在线视频播放 | 日本无码人妻丰满熟妇区 | 欧美成人看片黄a免费看 | 色橹橹欧美在线观看视频高清 | 啪一啪| 在线观看日本一区 | 小12箩利洗澡无码视频网站 | 日韩一二区 | 91天天看 | 精品久久综合1区2区3区激情 | 人妻avav中文系列久久 | 久久精品无码午夜福利理论片 | 狠狠色成色综合网 | 精品亚洲永久免费精品 | 亚洲 日韩 国产 中文有码 | 91综合视频 | 麻豆国产精品va在线观看 | 国模小黎自慰gogo人体 | 国产精品乱码高清在线观看 | 四虎最新紧急更新地址 | 少妇无码一区二区三区免费 | 日韩一区二区三区视频在线 | 乱人伦中文视频在线观看 | 999午夜| 精品国偷自产在线视频99 | 国产精品偷啪在线观看 | 人人爽天天碰天天躁夜夜躁 | 国产色婷婷亚洲99精品 | 青草av.久久免费一区 | 欧美日韩国产三级 | 精品久久久久久综合日本 | 久久99精品久久久久久hb亚瑟 | 国产精品视频一区二区免费不卡 | 91视频xxxx | 精品厕所偷拍各类美女tp嘘嘘 | av网站网址 | 青娱乐精品视频 | 91特黄 | 国产熟妇另类久久久久久 | 极品大长腿啪啪高潮露脸 | 成人女毛片视频免费播放 | 亚洲黄色影片 | 无套中出极品少妇白浆 | 久久久久无码精品国产人妻无码 | 国产午夜福利视频在线观看 | 天天色天天插 | 国产在线播放精品视频 | 四虎亚洲欧美成人网站 | 国产免费凹凸—av视觉盛宴 | 麻豆av字幕无码中文 | 91热爆在线观看 | 性久久久久久久久久 | 亚洲欧洲成人精品久久一码二码 | 爱情岛aqdlt国产论坛 | 午夜av亚洲一码二中文字幕青青 | 自拍校园亚洲欧美另类 | 国产欧美综合一区二区三区 | 婷婷激情综合网 | 国产精品a久久777777 | av天堂中av世界中文在线播放 | av一区二区三区在线 | 青娱乐在线视频免费观看 | 台湾佬亚洲 | 亚洲综合熟女久久久40p | 国产又粗又猛又黄又爽性视频 | 狠狠爱五月丁香亚洲综合 | 精品久久久久久亚洲 | 日韩中文字幕 | 久久久久噜噜噜亚洲熟女综合 | 久久人妻av一区二区软件 | 中文人妻av高清一区二区 | 国产欧美一区二区三区另类精品 | 96久久| 色妞www精品视频二 狠狠插网 | 波多野结衣亚洲一区 | 精品国产一区二区三区久久久狼 | 亚洲熟女少妇一区二区 | 91九色在线观看视频 | 日本丰满的人妻hd高清在线 | 无码人妻精品一区二区蜜桃色欲 | 伊人蕉久中文字幕无码专区 | 日本不卡视频在线播放 | 狠狠色丁香婷综合久久 | 天堂网在线视频 | 在线观看的av网站 | 日韩搞逼 | 好吊妞精品视频 | 国产精品黄页免费高清在线观看 | 亚洲你懂得 | 5858s亚洲色大成网站www | 一本岛高清乱码2020叶美 | 国产videossex精品 | 夜夜嗨av一区二区三区四季av | 亚洲欧美久久久 | 亚洲成a人片在线观看的电影 | 无码视频免费一区二区三区 | www.68av蜜桃亚洲精品 | 国产艳福片内射视频播放 | 小箩莉末发育娇小性色xxxx | 欧洲国产精品无码专区影院 | 欧美日韩一区二区视频在线观看 | 亚洲欧美视频在线播放 | 色综合天天视频在线观看 | 亚洲国产日韩精品一区二区三区 | 狠狠综合久久av一区二区蜜桃 | 骚虎成人免费99xx | 国产精品成人av片免费看最爱 | 国产男女猛烈无遮挡免费视频网站 | 台湾佬中文字幕 | 亚洲情xo亚洲色xo无码 | 乱色熟女综合一区二区三区 | 福利国产视频 | 日本一本不卡 | 精品无人乱码一区二区三区的优势 | 中文字幕大香视频蕉免费 | 久草在线免费看视频 | 中文字幕一区二区三区久久蜜桃 | 国产9 9在线 | 免费 | 成人久久精品 | 欧美激情性做爰免费视频 | 影音先锋三级 | 国产一区二区三区不卡av | 狠狠爱无码一区二区三区 | 永久毛片全免费福利网站 | 亚洲最新版av无码中文字幕一区 | 黄色激情小说视频 | 日产国产精品精品a∨ | 丰满岳妇乱中文字幕 | 国产小视频免费在线观看 | 色一情一乱一伦一区二区三区 | 成年女人免费碰碰视频 | 亚洲精品另类 | 免费女人18毛片a毛片视频 | 国产成人无码a在线观看不卡 | 国产麻豆精品乱码一区 | 国产在线视频福利资源站 | 国产永久免费 | 成人美女免费网站视频 | 人人妻人人爽人人做夜欢视频 | 精品一区视频 | av在线播放中文字幕 | 久久www免费人成—看片 | 亚洲中文字幕无码一区 | 少妇高潮太爽了在线观看免费 | 久久亚洲色www成人欧美 | 欧美午夜一区二区三区 | 无码国产精成人午夜视频不卡 | 天天干狠狠 | 成人福利在线观看 | 日本少妇三级hd激情在线观看 | 国产午夜福利不卡在线观看 | 国产精品久久久久久久模特人妻 | a天堂资源在线 | 欧美色臀| av在线视屏 | 亚洲国产精品久久久久久无码 | 国产精品视频白浆免费视频 | 欧美一区欧美二区 | 超碰超碰超碰超碰 | 日本真人添下面视频免费 | 亚洲一区视频在线播放 | 97在线视频免费观看 | 又污又黄又无遮挡的网站 | 福利在线免费视频 | 美妇高潮颤抖呻吟 | 亚洲精品久久国产精品浴池 | 久草视频2 | 亚洲 小说区 图片区 | 欧色丰满女同hd | 亚洲精品少妇久久久久久 | 亚洲成a人片在线观看无遮挡 | 亚洲另类丝袜综合网 | 手机在线永久免费观看av片 | 91五月婷蜜桃综合 | 国产精品伦一区二区三区在线观看 | 嫩草影院免费观看 | 国产伦孑沙发午休精品 | 成年免费视频播放网站推荐 | 未满小14洗澡无码视频网站 | 91九色在线观看 | 亚洲精品无码av人在线播放 | 欧美黄色一区二区三区 | 精品国产91 | 国产成人精品男人的天堂网站 | 看黄a大片日本真人视频直播 | 激情偷乱人伦小说视频在线 | 亚洲欧美洲成人一区二区 | 国产精品久久久久久久久鸭无码 | 91禁网站 | 亚洲男人综合久久综合天堂 | 亚洲a∨无码精品色午夜 | 免费午夜无码18禁无码影院 | 久久综合99re88久久爱 | 蜜臀av免费一区二区三区久久乐 | 国产精品男人的天堂 | 日本久久久www成人免费毛片丨 | 色综合色综合 | 久久久快播 | 国产成人精品午夜福利不卡 | www.com.含羞草| 午夜少妇性影院私人影院在线 | 怡红院av一区二区三区 | 国产又粗又长又黄的视频 | 日本太爽了受不了xxx | 福利姬液液酱喷水 | 91热爆在线 | 真人抽搐一进一出gif | 欧美男男作爱videos可播放 | 黄色av免费网址 | 2020精品国产福利在线观看香蕉 | 中文字幕无码av免费久久 | 午夜激情视频在线 | 国产乱人偷精品人妻a片 | 日韩毛片无码永久免费看 | 久久久一本精品久久精品六六 | 狼人色综合 | 成片免费观看视频大全 | 成人在线精品 | 亚洲欧美自偷自拍视频图片 | 成人国产福利a无限看 | 亚洲天堂男人天堂 | 欧美交换配乱吟粗大25p | 中文字幕aⅴ人妻一区二区 99热最新精品 | 亚洲国产精品自在拍在线播放蜜臀 | 国产精品福利在线 | 日本成片区免费久久 | www.色午夜.com| 日韩精品人妻无码久久影院 | 久久人人爽人人爽人人片 | 亚洲成aⅴ人在线电影 | 在线一区av | 日韩欧美国产精品 | 真人与拘做受免费视频 | 一区三区不卡高清影视 | 大尺度做爰啪啪高潮 | 香蕉视频一直看一直爽 | 国产精品精品视频一区二区三区 | 男人的天堂aa | 中文字幕日韩欧美一区二区 | 丰满岳妇乱一区二区三区 | 夜夜爽久久精品91 | 丰满迷人的少妇特级毛片 | 国产精品久久久久77777按摩 | 三级毛片在线 | 日韩国免费视频 | 热久久伊人中文字幕无码 | 好吊妞视频这里有精品 | 中文无码字幕一区到五区免费 | 久久综合av色老头免费观看 | 中国女人学生69xxx视频 | 男女做爰猛烈啪啪吃奶伸舌头下载 | 日欧视频 | 亚洲小少妇 | 丰满少妇中文字幕 | 影音先锋成人资源网站 | 亚洲黄色免费看 | 日日夜夜综合 | 无码国产成人午夜视频在线播放 | 麻豆tv入口在线看 | 成人h动漫精品一区二区 | 内射口爆少妇麻豆 | 国产男女无遮挡猛进猛出 | 国产精选h网站 | 欧美36p| 日韩男人的天堂 | 国产开嫩苞视频在线观看 | 午夜国产亚洲精品一区 | 免费成年人视频在线观看 | 国产精品亚洲精品一区二区三区 | 国产av丝袜旗袍无码网站 | 国产私拍大尺度在线视频 | 看全色黄大色大片免费久久 | 色偷偷亚洲男人的天堂 | 婷婷久久综合九色综合色多多蜜臀 | 97黄色片 | 99re8精品视频热线观看 | 538精品在线观看 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 欧美黄一区 | 国产欧美一区二区久久性色99 | 丝袜无码专区人妻视频 | 国产aaaaaa| 啪啪网视频 | 欧美国产亚洲精品 | 奇米国产 | 欧美高清成人 | 成人av18| 熟女视频一区二区在线观看 | 国产激情з∠视频一区二区 | 欧美激情精品久久久 | 欧美性高潮 | 福利网在线观看 | 国产嫩草影视 | 午夜成人影院网站18进 | 亚洲精品乱码久久久久久蜜桃图片 | 国产第91页 | 欧美一区二区三区大片 | 亲子乱aⅴ一区二区三区下载 | 欧美日韩视频在线观看一区 | 女人爽到高潮免费视频大全 | 中文国产成人精品久久久 | 国内精品伊人久久久久网站 | 亚洲国产二区 | 99国产精品久久久久99打野战 | 国产精品va在线观看手机版hd | 久操新在线 | 国产片a国产片免费看视频 天天操天天插 | 97人妻碰碰碰久久久久禁片 | 91官网入口| av不卡中文字幕 | 国模冰莲大胆自慰难受 | 国产精品69人妻我爱绿帽子 | 色播在线精品一区二区三区四区 | 天堂99 | 亚洲小视频在线 | 国产a一级| 一个人看的www日本高清视频 | 亚洲精品久久久一区二区三区 | 亚洲黄色小视频 | 欧美日韩大片 | 亚洲成人免费网站 | 超碰精品在线观看 | 人人九九精 | 久草免费在线播放 | 蜜臀av久久国产午夜福利软件 | 国模大尺度福利视频在线 | 日本边添边摸边做边爱小视频 | 精品无码国产自产拍在线观看 | 九九色精品 | 国产传媒av在线 | 加藤あやのav免费观看 | 国产黄色大片网站 | 亚洲精品av少妇一区二区 | 大奶子在线观看 | 四虎影在永久在线观看 | 国产毛片一区二区三区软件 | 美女自卫视频 | 国产成人综合久久三区 | 日本免费一区二区三区 | 日xxxx| 人人妻人人爽人人添夜夜欢视频 | 无码高潮又爽又黄a片日本动漫 | 人妖av在线 | 日韩av在线免费观看 | 欧美精产国品一二三区69堂 | 在厨房拨开内裤进入在线视频 | 国内精品久久久久久久久电影网 | 美女国产一区 | 色综合图片 | 日韩欧美中文在线观看 | 国产视频黄| 国产在线观看91 | 欧美成人精品一区二区男人小说 | 亚洲精品综合欧美一区二区 | 久久99精品国产麻豆 | 黄色一级一片 | 一级一级一片免费 | 女人下边被添全过视频的网址 | 国产精品天干天干在线综合 | 国产动作大片中文字幕 | 国产又猛又黄又爽 | 日韩激情无码不卡码 | 六月丁香综合 | 久久久九九 | 精品人妻无码专区在线无广告视频 | 乱码一区二区 | 西西人体自慰扒开下部93 | 字幕网在线观看 | 国产又粗又猛又爽免费视频 | 在厨房拨开内裤进入毛片 | 国产综合在线观看 | 精品一区二区三区三区 | 国产真实愉拍系列在线视频 | 很黄很色60分钟在线观看 | 久久99日韩国产精品久久99 | 高清熟女国产一区二区三区 | 色拍拍国产精品视频免费观看 | 国产成人毛毛毛片 | www四虎| 亚洲高清成人av电影网站 | 在线观看国产成人av片 | 国产又色 | 色图插插插 | 国产二区视频在线 | 亚洲精品乱码久久久久久蜜桃不爽 | 久久青青草原国产毛片 | 91偷拍网站 | 光棍福利视频 | 亚洲综合色aaa成人无码 | 曰本女人与公拘交酡免费视频 | 久久久久黄 | 欧美成人性生活视频 | 女警高潮潮一夜一区二区三区毛片 | www日日日| 久久999精品国产只有精品 | 国内精品久久久久精免费 | 黑人精品视频 | 九九视频国产免 | 性做久久久久久免费观看欧美 | 美女扒开腿让男人桶爽久久软件 | 人人狠狠综合久久亚洲爱咲 | 五月色婷婷亚洲精品制服丝袜1区 | 亚洲区第一页 | 亚洲35p| 看国产黄大片在线观看 | 中文字幕一区二区人妻电影 | 不卡一区二区三区四区 | 国产精品好好热av在线观看 | 在线观看黄色国产 | 国产第一页浮力影院草草 | 久久久精品在线 | 国产成+人+综合+亚洲欧美丁香花 | 欧美35页视频在线观看 | 中文国产成人精品久久不卡 | 成人羞羞国产免费网站 | 亚洲图片一区二区三区 | 欧美三级视频在线观看 | 天堂成人 | 国产超碰91| 绯色av中文字幕一区三区 | 国产精品性色 | 国产亚洲精品久久久久久禁果tv | 亚洲国产精品久久网午夜 | 天天天天做夜夜夜夜做无码 | 女性喷水视频 | 国产蜜臀av在线一区尤物 | 三级网站在线播放 | 亚洲欧美日本久久综合网站点击 | 精品国产96亚洲一区二区三区 | 特级黄www欧美水蜜桃视频 | 另类亚洲欧美专区第一页 | 亚洲色tu| 国产高潮又爽又刺激的视频免费 | 18禁h免费动漫无码网站 | 岛国精品一区免费视频在线观看 | 日韩精品91 | 在线免费不卡视频 | 欧美一区二区三区在线视频 | 粉嫩av成熟少妇在线播放 | 国产片网址 | 国产欧美亚洲一区 | 久久综合精品视频 | 蜜臀av国产精品久久久久 | 欧美粗大猛烈 | 人人网av| 日本无遮羞打屁股网站视频 | 欧美乱妇高清无乱码 | 99日韩精品 | 午夜性刺激在线视频免费 | 伊人久久精品久久亚洲一区 | 亚洲a∨精品一区二区三区下载 | 日韩黄色三级 | 手机无码人妻一区二区三区免费 | 思思久久99热久久精品66 | 欧美成人精品高清在线播放 | 大地资源网第二页免费观看 | 国产亚洲va综合人人澡精品 | 久久精品成人无码观看不卡 | 亚洲aⅴ无码成人网站国产 久久久久久久久久久久久久久久久久久久 | 久久综合给合久久狠狠狠97色 | 草b视频在线观看 | 国产三级精品三级在线观看 | 天天干天天操天天碰 | 精品毛片乱码1区2区3区 | 日本熟妇人妻xxxxx-欢迎您 | 天天色亚洲 | 欧美啪啪小视频 | 国产又色又爽又黄的网站在线 | 国产suv精品一区二区四区三区 | 在线资源天堂www | 久久亚洲国产精品日日av夜夜 | 最新精品国自产拍福利 | 国产av一区二区三区 | 国产综合精品一区二区三区 | 欧美性折磨bdsm激情另类视频 | 在厨房被c到高潮a毛片奶水 | 欧美亚韩一区二区三区 | 久久艹精品 | 无码人妻精品一区二区蜜桃色欲 | 亚洲国产精品悠悠久久琪琪 | 免费观看日本污污ww网站 | 四虎www永久在线精品 | 久草在线免费新视频 | 日本一级大片 | 国产精品精东影业 | 午夜精品一区二区在线观看 | 日本三级电线 | 久久99精品久久久秒播 | 中国内射xxxx6981少妇 | 国产欧美一区二区精品性 | 国产精品女同久久久久电影院 | 亚洲高清国产拍精品闺蜜合租 | 天天爽夜夜爽人人爽qc | 久涩涩福利视频在线观看 | 天美传媒精品 | 97超碰中文字幕 | wwwav在线 | 91好吊色国产欧美日韩在线 | 激情欧美38p| 国产欧美在线视频 | 丁香五香天堂综合小说 | 少妇无码一区二区三区免费 | 国产欧美日韩三级 | 五月天丁香在线 | 欧美性在线视频 | 国产成人精品无码一区二区三区 | 精品国产区 | 免费观看的av在线播放 | 日本一卡2卡3卡4卡5卡精品视频 | 一级特黄曰皮片视频 | 欧美图片激情小说 | 久久精品国产视频 | 久久日韩国产精品免费 | 99手机在线视频 | 深夜福利你懂的 | 秋霞午夜成人久久电影网 | 亚洲精品99久久久久久欧美版 | 日韩人妻无码免费视频一区二区三区 | 色噜噜狠狠色综合欧洲 | 欧美在线视频你懂的 | 69福利区 | 亚洲精品无码鲁网午夜 | 欧美白嫩嫩hd4kav | 欧美三级免费看 | 国产按头口爆吞精在线视频 | 午夜免费福利在线 | 天天综合网久久综合网 | 国产欧美日韩一区二区图片 | 夜夜高潮久久做爽久久 | 青青久草在线视频 | 国偷自产一区二区三区在线视频 | www.91porny.com| gai在线观看免费高清 | 女同久久另类69精品国产 | 男女啪啪无遮挡高潮免费 | 亚洲精品午夜aaa久久久 | 插插插精品亚洲一区 | 亚洲天天综合网 | 在线观看日本一区 | 福利片视频区 | 亚洲精品成人av观看 | 成人中文字幕+乱码+中文字幕 | 九九热久久只有精品2 | 玩弄人妻奶水无码av在线 | 秋霞二区| 强奷漂亮饱满雪白少妇av | 潮喷大喷水系列无码久久精品 | 夜夜国产亚洲视频香蕉 | 久久久噜噜噜久久久精品 | 亚洲小说春色综合另类 | www.99在线 | 尤物国产视频 | 亚洲va国产va天堂va久久 | 国产熟睡乱子伦午夜视频 | 91麻豆精品91aⅴ久久久久久 | 国产成熟妇女性视频电影 | 四十五十老熟妇乱孑视频 | 综合色网站 | 人人妻人人澡av | 日本一级做a爱片 | 少妇裸体淫交免费视频网站 | 92久久 | 久久久久在线观看 | 色欲aⅴ亚洲情无码av | 国产色青青视频在线观看撒 | 亚洲精品高清国产一线久久 | 精品一区二区三区无码视频 | 中文在线а√天堂 | 亚洲爱爱网 | 亚洲欧美综合人成在线 | 精品视频一区二区三区四区戚薇 | 波多野结衣亚洲天堂 | 夜夜国产亚洲视频香蕉 | 国产无遮挡又黄又爽免费软件 | 亚洲天堂第一 | 天天操2018 | 91区国产 | 东北农村女人乱淫免费视频 | 国内露脸中年夫妇交换 | 日日碰碰 | 97亚洲色欲色欲综合网 | 国内精品久久久久av福利秒拍 | 欧美激情五月 | 日本xxxxxxxxxx天美 | www.色偷偷 | 国内精品美女a∨在线播放 成人污污www网站免费丝瓜 | 国产偷窥真人视频在线观看 | 男女啪啪毛片 | 91情侣在线 | 91视频影院 | 少妇激情作爱视频 | 日韩精品成人无码专区免费 | 久久久久在线观看 | 精品国产一区二区三区在线观看 | 精品综合久久久久久8888 | 性色综合 | 韩国无码av片在线观看网站 | 无码网站天天爽免费看视频 | 成人碰碰| 在线观看欧美日韩视频 | 亚洲成av不卡无码无码不卡 | 成人精品一区二区户外勾搭野战 | av无码久久久久不卡蜜桃 | 日本高清二区 | 久久精品一区二区三区四区毛片 | 男女18禁啪啪无遮挡 | 蜜臀av性久久久久蜜臀av麻豆 | 国产一区午夜 | 中文字幕在线精品视频入口一区 | 亚洲区国产区 | 无码午夜福利视频1000集 | 中文字幕亚洲区 | 国产片av国语在线观看手机版 | 亚洲狠狠丁香婷婷综合久久久 | 国产porn | 久久五月网 | 欧美久久天堂 | 天天干天天操天天干天天操 | 色视频网站在线观看一=区 人体内射精一区二区三区 伊人伊人伊人伊人 | 日韩福利视频在线观看 | 香蕉伊蕉伊中文视频在线 | 精品福利一区二区三区免费视频 | 特级淫片裸体免费看视频 | 男人的天堂在线观看av | 日韩精品在线免费视频 | 日本二区三区欧美亚洲国 | 久久丁香五月天综合网 | 九九夜 | 日本少妇被黑人猛cao | 精品少妇一区二区30p | 黄色av一区二区三区 | 2019亚洲午夜无码天堂 | 激情孕妇15p| 国产精品免费在线播放 | 亚洲国产日韩制服在线观看 | 久久久精品影视 | 国产女主播在线喷水呻吟 | av在线手机版 | 天天爱天天干天天操 | 日韩天堂视频 | 国产在线成人一区二区三区 | 无套熟女av呻吟在线观看 | 狠狠鲁视频 | 影音先锋人妻每日资源站 | 隔壁邻居是巨爆乳寡妇 | 爆乳高潮喷水无码正在播放 | 午夜精品一区二区三区三上悠亚 | 老子影院午夜精品无码 | 五十路熟妇亲子交尾 | 天天操天天射天天色 | 内射口爆少妇麻豆 | 亚洲综合精品在线 | 久久精品a亚洲国产v高清不卡 | 少妇aaaaa| 国产精品自在自线视频 | 亚洲日本va午夜中文字幕 | 亚洲人精品午夜射精日韩 | 亚洲精品字幕在线 | 一本一本久久a久久精品综合妖精 | 亚洲精品久久久久午夜aⅴ 色妞精品av一区二区三区 | 国产aⅴ精品一区二区三区 亚州日本乱码一区二区三区 | 日韩精品 中文字幕 视频在线 | 婷婷色综合网 | 久久精品91视频 | 蜜桃成人在线视频 | 偷拍自中文字av在线 | 亚洲无线码一区二区三区 | 好硬好湿好爽再深一点动态图视频 | 色欲天天婬色婬香综合网 | 亚洲日本一区二区三区在线不卡 | 在线 日本 制服 中文 欧美 | 久久香蕉国产线看观看导航 | 天天曰天天爽 | 天堂a免费视频在线观看 | 无码中文字幕热热久久 | 亚洲国产综合av | 97精品久久天干天天 | 天天综合天天操 | 精品国产福利一区二区 | 国产欧美一区二区精品忘忧草 | 国产视频九九九 | 青少年xxxxx性开放hg | 国产精品亚洲专区无码老司国 | 四虎成人精品永久免费av | 影音先锋中文字幕无码 | 隔壁人妻被水电工征服 | 亚洲 国产 制服 丝袜 另类 | 宅男噜噜噜66网站在线观看 | 91羞羞网站 | 中文版在线乱码在线看 | 在线观看网址你懂的 | 医院人妻闷声隔着帘子被中出 | 全部免费播放在线毛片 | 好吊妞人成视频在线观看27du | 无码人妻丰满熟妇啪啪网站 | 波多野结衣av中文字幕 | 色情毛片| 欧美 亚洲 丝袜 清纯 中文 | 午夜神马影院dy888亚洲精品 | 黑人性较视频免费视频 | 在线观看片免费人成视频无码 | 国产99久久九九精品的功能介绍 | 夜夜躁狠狠躁日日躁2024 | 成人美女视频在线观看 | 亚洲成品网站源码中国有限公司 | 亚洲第一免费网站 | 国产日韩一区二区 | 色诱久久久久综合网ywww | 在线人成免费视频69国产 | 扒开双腿疯狂进出爽爽爽 | 欧美在线观看视频 | 国产曰又深又爽免费视频 | 欧美成人r级一区二区三区 成 人片 黄 色 大 片 | 黄色小视频免费网站 | 真人无遮挡18禁免费视频 | 国产美女自卫慰黄网站 | 精品人妻系列无码人妻免费视频 | 亚洲人成未满十八禁网站 | 精品福利一区二区 | 天天综合在线视频 | av看片资源 | 黄色一级黄色片 | 2019久久久高清456 | 国产高清精| 伊人久久大香线蕉av仙人 | 女同性av片在线观看免费网站 | 国产一区二区三区高清在线观看 | 99久久夜色精品国产亚洲96 | 91黄色免费版 | 亚洲a成人片在线观看 | 国产对白刺激真实精品91 | 90后极品粉嫩小泬20p | 99热这里只有精品8 日韩精品视频在线观看网站 | 四虎国产在线 | 永久免费男同av无码入口 | 久草在线资源网 | 亚洲国产精品成人无码区 | 亚洲18禁私人影院 | 草色噜噜噜av在线观看香蕉 | 亚洲国产精品无码久久青草 | 恋夜欧美全部免费视频 | 亚洲一区二区色情苍井空 | 国产精品a级 | 美妇颤抖双乳呻吟求欢视频 | 色极品影院| 日韩福利 |