黄色网页视频 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條評論
主站蜘蛛池模板: 色撸撸在线 | 亚洲欧美在线视频观看 | 国产精品夜夜爽 | 久久人人做人人妻人人玩精品va | 久久久久国产精品人妻aⅴ院 | 国产精品福利片 | 日日夜夜操视频 | 亚洲成av人片在线观看下载 | 五月天婷亚洲天综合网精品偷 | 自拍偷拍第五页 | 九九久久99 | 色综合天天无码网站 | 国产小视频在线观看网站 | 国产精品99久久久精品无码 | 农村少妇无套内谢粗又长 | 性xxxx欧美老妇胖老太性多毛 | 久久精品亚洲成在人线av麻豆 | 伊甸园永久免费网站 | 久久久亚洲欧洲日产无码av | 国产偷抇久久精品a片69麻豆 | 媚药侵犯调教放荡在线观看 | 国产精品特级毛片一区二区三区 | 韩国三级hd中文字幕叫床浴室 | 国产精品任我爽爆在线播放, | 免费av看片 | 国产精品一区二区熟女不卡 | 8×8x拔擦拔擦在线视频网站 | 六月丁香婷婷色狠狠久久 | 欧美内射深插日本少妇 | 毛片的视频| 久久大香伊蕉在人线观看热 | www.男人天堂.com | 欧美成人免费一区二区 | 欧美变态tickling挠脚心 | 综合五月 | 少妇高潮a视频 | 自拍偷拍第6页 | 九九九九精品九九九九 | 亚洲а∨精品天堂在线 | 人人妻人人澡人人爽秒播 | 成人av中文解说水果派 | 少妇又骚奶又大 | 中文字幕人妻无码系列第三区 | 91网页版| 国产精选中文字幕 | 色香蕉在线 | 国产精品国产三级国产av麻豆 | 成人无码视频在线观看网站 | 偷拍老熟妇和小伙xxxx视频 | 国产亚洲精品久久久 | 亚洲人成网站观看在线播放 | 91区人人爽人人都喜欢人人都有 | 日本无遮羞教调屁股视频网站 | 超碰成人网 | 久久韩日 | 欧美高清国产 | 国产精品入口传媒小说 | 97国产在线看片免费人成视频 | 国产精品一区二区三区在线 | 老色鬼在线精品视频 | 四虎影视无码永久免费 | 国产视频首页 | 熟妇人妻中文av无码 | 在线视频日韩欧美 | 一区二区三区黄 | 大香伊蕉日本一区二区 | 国产高潮刺激叫喊视频 | 粗暴91大变态调教 | 97人人揉人人捏人人添 | 久久精品国产精品亚洲红杏 | 亚洲九一 | 欧美 丝袜 自拍 制服 另类 | 久久婷婷国产麻豆91 | 精品无码人妻av受辱日韩 | 亚洲精品乱码久久久久久麻豆不卡 | 亚洲精品乱码久久久久久金桔影视 | 伊人久久大香线蕉av网站 | 第一福利官方导航 | 上原亚衣加勒比在线播放 | 婷婷综合视频 | 国产欧美日韩另类精彩视频 | 一区二区乱子伦在线播放 | 99热门精品一区二区三区无码 | 色偷偷色噜噜狠狠成人免费视频 | 欧美色图片区 | 在线观看视频福利 | 国产丰满人妻一区二区 | 日韩福利片午夜免费观着 | 无遮挡的又色又污又黄的网站 | 久久网国产 | 人人妻人人做从爽精品 | 国产在线精品一区二区中文 | 免费黄色一级片 | 国语对白精品 | 一本久道中文无码字幕av | 亚洲狼人av | 免费成年人视频网站 | 久草免费在线色站 | 亚洲视频在线观看 | 欧美肥老太牲交 | 欧美成人午夜 | 人人鲁人人莫人人爱精品 | 天天射网 | 亚洲国产精品二区 | 亚洲天堂一区在线 | 麻豆av在线播放张芸熙 | 欧美激情综合 | 日本不卡一区二区在线观看 | 毛茸茸性猛交xxxx | 蜜臀av亚洲一区二区 | 天堂网www资源在线 女同久久另类69精品国产 | 4hu在线| 精品国产乱码久久久久久郑州公司 | 国产av区男人的天堂 | 国产精品久久毛片av大全日韩 | 午夜伦4480yy妇女久久喷潮 | 五月天久久久噜噜噜久久 | 色偷偷亚洲女人的天堂 | 中文字幕人妻中文av不卡专区 | 国产视频在线免费 | 亚洲人成亚洲人成在线观看 | 亚洲欧美性受久久久999 | 成年人黄色免费网站 | 朝鲜女人性猛交 | 欧美双人家庭影院 | 精品国产aⅴ一区二区三区 成人国产精品一区二区视频 | 国产成人精品无码片区在线观看 | 欧洲亚洲视频 | 综合无码成人aⅴ视频在线观看 | 一边摸一边抽搐一进一出口述 | 69式高清视频在线观看 | 一本色道久久88精品综合 | 国产福利拍拍拍 | 婷婷综合在线视频 | 日本少妇高潮喷水xxxxxxx | 国产在线观看你懂得 | 风韵人妻丰满熟妇老熟女 | 日韩中文字幕网站 | 午夜羞羞影院男女爽爽爽 | 欧美激情视频一区二区三区在线播放 | 免费 成 人 黄 色 网 | 亚洲日韩精品无码av海量 | 午夜性刺激免费看视频 | 亚洲精华国产 | 日韩亚av无码一区二区三区 | 亚洲视频导航 | 中文不卡av| 国产又黄又硬又湿又黄的视 | 欧美日韩视频一区二区三区 | 麻豆天美国产一区在线播放 | 国产人妖xxxx做受视频 | 青青操国产视频 | 国产精品白嫩极品美女视频 | 无码福利写真片视频在线播放 | 破了亲妺妺的处免费视频国产 | 少妇高潮久久久久久软件 | 日韩精品午夜 | 欧美性网址 | 毛片免费视频 | 国产精品av一区二区 | 麻豆一区在线观看 | 无码午夜福利免费区久久 | 亚洲激情一区二区 | 愉拍自拍第169页 | 人妻巨大乳一二三区 | 国产亚洲精品久久久久久无 | 四虎4hu永久免费深夜福利 | 不卡午夜| 亚洲欧美高清一区二区三区 | 91免费在线播放 | 免费精品国偷自产在线2020 | 香蕉噜噜噜噜私人影院 | 成人区精品一区二区 | 亚洲中文字幕在线乱码 | 久久蜜桃资源一区二区老牛 | 无码毛片视频一区二区本码 | 色人阁小说 | 成熟人妻av无码专区 | 天天艹天天 | 欧美精品一线 | 99热久久精品免费精品 | 精品国色天香一卡2卡3卡 | 邻居少妇张开腿让我爽了在线观看 | 蜜桃av网站 | 欧美日韩综合久久 | 69亚洲精品久久久蜜桃小说 | 成人亚洲精品久久久久 | 亚洲欧美综合另类自拍 | 国产午夜福利精品久久不卡 | 国产乱码一区二区三区爽爽爽 | 免费无码无遮挡裸体视频在线观看 | 日韩在线一区二区三区四区 | 男人的天堂在线a无码 | 裸体丰满少妇淫交 | 日韩放荡少妇无码视频 | 国产精品自产拍在线观看中文 | 国产又黄又粗又猛又 | 亚洲国产欧洲综合997久久 | 日韩字幕在线观看 | 在线日本国产成人免费不卡 | 精品高潮呻吟99av无码视频 | 国产白袜脚足j棉袜在线观看 | 国产主播99 | 丁香六月天婷婷 | 国产精品99久久99久久久动漫 | 99热精品国产 | 天堂无人区乱码一区二区三区介绍 | 天天综合网天天综合狠狠躁 | 99久免费精品视频在线观78 | 国产一区二区三精品久久久无广告 | 97人妻碰碰碰久久久久禁片 | 无套内谢的新婚少妇 | 日韩人妻无码精品免费shipin | 丰满的亚洲女人毛茸茸 | 成人黄色国产 | 色综合激情 | 欧美日韩亚洲tv不卡久久 | 国产精品久久久久久tv | 少妇性影院爽爽爽爽爽爽 | 亚洲日本中文字幕乱码中文 | 日韩、欧美、亚洲综合在线 | 久久亚洲美女精品国产精品 | 人妻无码全彩里番acg视频 | 一本一道中文字幕无码东京热 | 亚洲国产综合无码一区二区bt下 | 国产亚洲成人av | 亚洲精品av久久久久久久影院 | 国产精品18久久久久vr使用方法 | 国产成av人片久青草影院 | 免费丰满少妇毛片高清视频 | 亚洲图片偷拍区 | 亚洲精品一区二区三区四区五区 | 2018高清日本一道国产-在 | 天天插狠狠干 | 人妻无码中文久久久久专区 | 亚洲欧洲日韩极速播放 | 亚洲成人经典 | 欧美亚色图 | 天天综合网日日夜夜 | 国产在线偷观看免费观看 | 91最新地址永久入口 | 国产女爽爽精品视频天美传媒 | 午夜免费福利视频在线观看 | 亚洲综合无码精品一区二区 | 他掀开裙子把舌头伸进去添视频 | 国产毛片久久久 | 亚洲欧洲av无码专区 | 午夜精品久久久久久中宇69 | 欧美人与动牲交免费观看网 | 国产精品久久久久久久久免费 | 韩国亚洲精品a在线无码 | 成人免费高清在线播放 | 久久成人伊人欧洲精品 | 懂色一区二区三区免费观看 | 国产高清不卡无码视频 | 丰满少妇被猛烈进入 | aaa亚洲精品 | 免费av网站在线 | 日本熟日本熟妇中文在线观看 | 人人妻人人澡人人爽人人精品97 | 91丨国产丨精品白丝 | 国产精品久久久久久久久 | 在线免费观看黄色小视频 | 成人在线精品 | 人人做人人妻人人精 | 国产精品成人精品久久久 | 人人澡人人妻人人爽人人蜜桃 | 欧洲熟妇色xxxx欧美老妇多毛图片 | 一国产一级淫片a免费播放口 | 国产精品麻豆色哟哟av | 黄色av黄色 | 男人午夜影院 | 91丨九色丨91啦蝌蚪老版 | 亚洲国产日韩欧美综合另类bd | 国产精品入口福利 | 免费三级现频在线观看播放 | 国产少妇露脸精品 | 国产99久 | 亚洲高清国产拍精品青青草原 | 国内精品久久久久影院男同志 | 人妻丰满被色诱中文字幕 | 免费xxxxx大片在线观看网站 | 欧洲成人精品 | 国产精品一区二区久久久 | 色欲天天天无码视频 | 勾搭女技师啪啪无套内谢 | 久久免费少妇高潮久久精品99 | 久久99精品久久久久婷婷 | 91性高湖久久久久久久久_久久99 | 国产18在线 | 免费人妻无码不卡中文字幕系 | 久久亚洲精品国产精品777777 | 亚洲综合一区二区三区不卡 | 欧美特级婬片毛多的少妇 | 成人网站亚洲二区乱码 | 精品亚洲国产成人 | 亚洲女教师丝祙在线播放 | 国产成人综合久久亚洲精品 | 综合黄色| 男女裸体影院高潮 | 青青久久国产 | 狂野欧美性猛交xxⅹ李丽珍 | 欧洲美色妇ⅹxxxxx欧美 | 精品深夜av无码一区二区 | 欧美城天堂网址 | 亚洲国产高清在线 | 久久久久久久久久久丰满 | 亚洲精品国产免费无码网站 | 超级碰97 | 香蕉av一区| 狠狠干中文字幕 | 国产av成人精品播放 | 国产无遮挡免费视频 | 少妇又紧又色又爽又刺激视频 | 国产女人天天春夜夜春 | 成人.午夜影院 | 成人福利国产精品视频 | 老司机午夜福利av无码特黄a | 国语自产视频在线 | 亚洲国产精品ⅴa在线观看 国产精品熟女高潮视频 | 人人妻人人澡人人爽偷拍台湾 | 国产白丝护士av在线网站 | 日日草夜夜 | 国产免费1卡2卡 | 韩国理伦片一区二区三区在线播放 | 久久人人爽人人人人爽av | 国产高清色 | 日韩国产网站 | 毛片国产 | 天天操天天插天天干 | 免费无码又爽又刺激高潮虎虎视频 | 四虎国产精品永久地址99 | 一个人看的www日本动漫图片 | 免费国产午夜视频在线观看 | www.狠狠干 | 国产综合色产在线精品 | 欧美日韩一区二区三区在线播放 | 18禁无遮挡羞羞啪啪免费网站 | 成人免费毛片内射美女-百度 | 黑人巨大videos精品 | 亚洲精品午夜理伦不卡在线观看 | 成人三级在线视频 | 国产小视频一区 | 小泽玛利亚一区二区免费 | 满淫电车3动漫在线观看 | 国产精品久久久久久久久久ktv | 国产精品色片 | 日日躁夜夜躁狠狠躁超爽2001 | 成人午夜大片免费看爽爽爽 | 国产熟女出轨做受的叫床声 | 天堂资源中文最新版在线一区 | 激情六月婷 | 一起草视频在线播放 | 欧美日本免费 | 国产特级乱淫免费看 | 国产精品一区二区精品 | 国产精品毛片va一区二区三区 | 日韩精品一区二区在线视频 | 黄色a一级片| 亚洲免费中文字幕 | 日本高清不卡aⅴ免费网站 欧美色综合天天久久综合精品 | 国产美女口爆吞精普通话 | 久久99精品久久久久久久青青日本 | 国产精品私拍 | 张柏芝早期三级在线播放 | 九九在线视频免费观看精彩 | 欧美国产日韩在线观看 | 一个人看的www片免费高清视频 | 日本天天日噜噜噜 | 国产鲁鲁视频在线观看免费 | 一区二区天堂 | 夜夜揉揉日日人人青青 | 国产精品成色www | 久久久久久亚洲精品成人 | 2020精品国产午夜福利在线观看 | 久久嫩草 | 亚洲第一狼人天堂久久 | 午夜免费精品视频 | 日日久| 国产精品毛片 | 欧美在线一区二区 | 国产成人无码精品午夜福利a | 韩日毛片 | 亚洲精品伊人 | 天堂国产一区二区三区 | 色综合久久久久久 | 欧美高清视频在线观看 | 欧美资源 | 日韩一区二区三区av | 亚洲人成电影在线观看青青 | 99视频有精品视频高清 | sm在线看| 99手机在线视频 | 国产欧美综合在线观看第十页 | 色综合色综合 | 国产精品一区二区高清在线 | 日韩美女一级 | 国内精品视频在线观看九九 | 一级少妇淫高潮免费全看 | 在线视频网站www色 亚洲国产欧美日韩在线 | 成人免费ā片在线观看 | 久久www人成免费产片 | 日韩欧美中文在线视频 | 天天爽夜夜爽夜夜爽精品视频 | 欧美一级爽aaaaa大片 | 美女黄网站18禁免费看 | 中文国产乱码在线人妻一区二区 | 国产日韩在线免费观看 | 亚洲黄色在线看 | 天堂国产在线 | 五月婷婷一区 | 97精品亚成在人线免视频 | 北条麻妃一区二区三区在线 | 国产精品专区第1页 | 亚洲色一色噜一噜噜噜 | 亚洲国产精品无码专区影院 | 伊人久久大香线蕉av综合 | 成人黄色小视频 | 狠狠干五月 | 久久久久成人片免费观看 | 国产主播大尺度精品福利免费 | 国产精品女人久久久 | 亚洲国产视频网站 | 久久天天躁狠狠躁夜夜爽蜜月 | 欧美丰满熟妇bbb久久久 | 狠狠狠久久久 | 成人综合影院 | 九色91porny | 国产午夜高清高清在线观看 | 亚洲综合成人婷婷五月在线观看 | 激情小说图片视频 | 色悠久久久久综合网国产 | 亚洲国产拍拍拍拍久久久 | 一级片手机在线观看 | 69精品人人 | 91欧美视频 | 中文无码av在线亚洲电影 | 亚洲精品白浆 | 国产精品亚洲综合一区在线观看 | 四虎福利视频 | 国产成人欧美一区二区三区的 | 九九精品超级碰视频 | 天天爽夜夜爽人人爽曰av | 国产成人国拍亚洲精品 | 亚洲一区免费在线观看 | 国产精品夜夜春夜夜爽久久小说 | 久久夜色精品国产欧美乱 | 老司机午夜福利av无码特黄a | 欧美成人精品欧美一级乱 | 欧美在线brazzers免费视频 | 日本高清免费在线视频 | 无码专区3d动漫精品免费 | 中文精品久久久久人妻不卡 | 国产午夜无码片在线观看影视 | 99国精品午夜福利视频不卡99 | 色网站在线观看 | 精品蜜桃一区二区三区 | 日韩小视频在线 | 久久久男女 | 黄色片网站国产 | 亚洲成熟丰满一区二区三区 | 午夜不卡av免费 | 尤物99国产成人精品视频 | 精品久久久久久久久久中文字幕 | 深夜福利视频免费观看 | 国产又粗又黄 | 国产成人三级 | 91精品国产综合久久蜜臀 | 春药按摩人妻弓中文字幕 | 午夜免费看片 | 精品免费在线 | 欧美成人久久 | 在线看片a | 大地资源在线播放观看mv | 久久伊人网视频 | 在线看片免费人成视频久网下载 | 在线观看免费的成年影片 | 国产精品久久久av | se在线播放 | 视频二区在线 | 久久精品人妻无码专区 | 春宵福利网站 | 国产91影院| 无码专区 丝袜美腿 制服师生 | 疯狂欧美牲乱大交777 | 黄色免费视频在线观看 | 亚洲精品久久久狠狠爱小说 | 国产激情午夜 | 中国丰满少妇xxxxx高潮 | 免费观看中文字幕 | 欧美一区二区高清 | 免费观看又色又爽又黄的按摩视频 | 国内精品伊人久久久久网站 | 精品乱码一区二区三四区 | 亚洲视频中文字幕在线观看 | 亚欧毛片 | 在线成人小视频 | 苍井空亚洲精品aa片在线播放 | 四川丰满妇女毛片四川话 | 男人的天堂成人 | 亚洲欧洲日产国码无码久久99 | 成 人 网 站 免 费 av | 国产精品污| 波多野结衣av在线无码中文18 | 台湾佬av| 国产婷婷亚洲999精品小说 | 国产鲁鲁| 在线成人激情视频 | 精品国产一区二区三区国产区 | 美女露出奶头扒开尿口免费网站 | 久久久夜夜夜 | 青草综合 | 国产精品日韩一区二区三区 | 一本久久知道综合久久 | 日本免费在线看 | 中国女人和老外的毛片 | 日本高清二区视频久二区 | 亚洲第一天堂无码专区 | www.欧美色图.com | 狠狠躁狠狠躁东京热无码专区 | 久久网一区 | 一区二区精品区 | 日韩精品中文字幕一区二区三区 | 久久久久成人免费看a含羞草久色 | 亚洲色偷偷偷鲁精品 | 国产第一页第二页 | 97国产露脸精品国产麻豆 | 国产亚洲精品美女 | 亚洲精品国产av成拍色拍 | 伊人www| 亚洲香蕉av在线一区二区三区 | se在线播放 | 一本一道精品欧美中文字幕 | 中国人妻被两个老外三p | 香蕉久久精品日日躁夜夜躁夏 | av中文字幕第一页 | 亚洲中文久久精品无码1 | 日韩、欧美、亚洲综合在线 | 日韩视频在线一区 | 宅男噜噜噜66国产在线观看 | 免费1级a做爰片观看 | 一级香蕉视频在线观看 | 中文无码天天av天天爽 | 亚洲男人av香蕉爽爽爽爽 | 亚洲精品毛片一区二区三区 | 偷拍精偷拍精品欧洲亚洲网站 | 果冻传媒少妇借种av剧情在线 | 青青青手机在线视频 | 人人爽天天碰天天躁夜夜躁 | 亚洲欧美婷婷 | 伊人久久大香线蕉av一区二区 | 黄视频免费在线看 | 中文字幕,久热精品,视频在线 | yy111111少妇无码影院 | www.国产在线视频 | 97视频总站 | 欧美天天看| 曰本女人与公拘交酡 | 国产精品18久久久久久欧美 | 久久这里只精品热在线18 | 狠狠躁夜夜人人爽天96 | 国内一级大片 | 好紧好爽好湿别拔出来视频男男 | 无码专区heyzo色欲av | 国产操片 | 色一情一伦一区二区三 | 三级女的在洗澡三级 | 亚洲国产成人精品女人久久久野战 | 欧美真人性野外做爰 | 免费无码的av片在线观看 | 8ⅹ8x擦拨擦拨成人免费视频 | 美女夜夜爽 | 国产粗又长又大毛片大开眼戒 | 天天干b| 亚洲日产aⅴ中文字幕无码 青青草网 | 麻豆视传媒官网免费观看 | 乌克兰精品伦理 | 亚洲欧美日韩成人一区在线 | 日日夜夜天天干 | 伊人情人色综合网站 | 中文无码一区二区三区在线观看 | 国产98在线 | 免费 | 欧美丰满熟妇乱xxxxx网站 | 久久精品一区 | 福利视频99 | 91制服丝袜| 成人av无码国产在线一区 | 日韩精品一区二区三区中文 | 黄色资源在线观看 | 国产尤物av尤物在线看 | 毛片无码高潮喷液视频 | 在线精品小视频 | 精品人妻二区中文字幕 | 欧美性欧美巨大黑白大战 | 九九热精品在线播放 | 欧美亚洲福利 | 免费看国产成人无码a片 | 深夜福利在线视频 | 免费观看国产小粉嫩喷水 | 欧美一区不卡 | 国产超碰人人模人人爽人人添 | 国产av永久无码天堂影院 | 97国产露脸精品国产麻豆 | 日韩第九页 | 日韩高清av | 国产视频1区2区3区 久久久久国产精品久久久久 | 国产婷婷vvvv激情久 | 久久图片视频 | 一本大道熟女人妻中文字幕在线 | 国产极品女主播国产区 | 成人在线观看一区 | 日本人成网站18禁止久久影院 | 国产一级免费不卡 | 我要干我要操 | 国产亚洲精品久久久久久老妇小说 | 午夜爱爱免费视频体验区 | 国产精品一区二区无线 | 2020久久国产综合精品swag | 孩交精品xxxx视频视频 | 国产熟女一区二区三区五月婷 | 欧美刺激性大交亚洲丶日韩 | 色偷偷噜噜噜亚洲男人的天堂 | 欧美另类第一页 | 久草资源福利 | 亚洲成a v人片在线观看 | 成人毛片100免费观看 | 中文字幕免费高清在线 | 国产精品无码一区二区三区免费 | 久久精品国产福利国产秒拍 | 国产在线拍偷自揄拍精品 | 日韩中文字幕视频在线观看 | 在线看片免费人成视频久网 | 51区成人一码二码三码是什么 | 久久无码成人影片 | 国产精品美女久久久 | 天天做天天欢摸夜夜摸狠狠摸 | 国精品人妻无码一区二区三区性色 | 国产精品美女 | 国产成人8x人网站视频在线观看 | 中文字幕人妻无码系列第三区 | 久久久精品在线 | 男女做爰猛烈吃奶啪啪喷水网站 | 男人和女人做爽爽视频 | 国产色婷婷精品综合在线手机播放 | 国产成人精品视频ⅴa片软件竹菊 | 老司机福利影院在线观看 | 国产在线观看www | 亚洲精品大片www | 亚洲精品久久久久久久久毛片直播 | 中文字幕丝袜精品久久 | www九色| 夜色网| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲第一无码专区天堂 | 无码日韩人妻精品久久蜜桃 | 亚洲图片小说区 | 日本在线观看a | 爆乳高潮喷水无码正在播放 | 精品国产一区二区三区四区色 | 9lporm自拍视频区九色 | 日韩av女优在线观看 | 乱子真实露脸刺激对白 | 999精品视频在线 | www.日日干 | 国产精品无套粉嫩白浆在线 | 丰满人妻熟妇乱又仑精品 | 国内免费精品视频 | 玖玖在线 | 午夜无码福利伦利理免 | 国产色视频播放网站www | 国产sm调教折磨视频 | 99re思思| 四虎成人欧美精品在永久在线 | 德国老妇激情性xxxx | 黄网站在线免费看 | 国产精品99久久久久久久vr | 成人福利视频导航 | 人妻无码人妻有码中文字幕在线 | 国产亚洲精品久久久久久久 | 调教凌虐羞辱少妇 | 亚洲综合在线中文字幕 | 亚洲精品久久久久久久月慰 | 久热热| 精品国产乱码久久久久久免费 | 精品福利av导航 | 999偷拍精品视频 | 无码精品a∨动漫在线观看 精品国产乱子伦 | 国产性受xxxx白人性爽 | 国产精品1区2区 | 国产亚洲精品久久久久久打不开 | 多人伦交性欧美 | 国产亚洲精品久久久久久入口 | 国产丝袜一区视频在线观看 | 九色综合网 | 丰满女邻居的嫩苞张开视频 | 黄色一级片a| 波多野结衣视频一区 | 青草视频网站 | 国产又色又爽又黄的免费软件 | 一本色道久久综合狠狠躁的推荐 | 日日夜精品欧洲日日噜噜 | 国产香线蕉手机视频在线观看 | 免费无码专区在线视频 | 日韩在线观看中文字幕 | 97av视频在线观看 | 国产一久久 | 久久久久久亚洲国产精品 | 九九热精品视频在线观看 | 99精品视频在线导航 | 天堂一区人妻无码 | 国产中文字字幕乱码无限 | 亚洲另类中文字幕 | 真人做人60分钟啪啪免费看 | 伊人高清影院 | 精品一区二区三 | 国产品无码一区二区三区在线 | 久久精品无码午夜福利理论片 | www..com黄色| 日韩亚洲欧美中文高清在线 | 国产一区二区三区四区五区3d | 亚洲精品国产视频 | 久久精品二区三区 | 高清国产亚洲精品自在久久 | 侵犯の奶水授乳羞羞游戏 | 中文在线日本 | 国产成人亚洲综合a∨ | 激情综合色五月丁香六月欧美 | 亚洲精品爆乳一区二区h | 长腿校花无力呻吟娇喘的视频 | 91一区二区在线 | 在线观看一区二区三区视频 | 婷婷丁香五月六月综合激情啪 | 久久www色情成人免费观看 | 96国产xxxx免费视频 | 国产第一页福利影院 | 亚洲人成绝费网站色www | 日本特黄特色 | 国产麻豆精品传媒av国产 | 欧美v日韩v亚洲v最新在线 | 91精品国产综合久久久久 | 护士脱了内裤让我爽了一夜视频 | 亚洲中文av一区二区三区 | 狠狠亚洲婷婷综合色香五月 | 国产又爽又刺激的视频 | 波多野结衣av一区二区全免费观看 | 亚洲欧洲成人av每日更新 | 国产精品69午夜妇大片 | 男女做爰裸体猛烈吻胸摸 | 老女人av在线 | 亚洲精品免费在线观看视频 | 影音先锋啪啪 | 无遮挡啪啪成人免费网站 | 双乳奶水饱满少妇呻吟免费看 | 亚洲激情视频网站 | 日韩精品视频在线观看网站 | 99九九99九九视频精品 | 极品国产主播粉嫩在线观看 | 大美女100%| 国产精品嫩草影院永久… | 狠狠躁夜夜躁人蜜臀av小说 | 日韩精品久久久久久久软件91 | 手机国产丰满乱子伦免费视频 | 国产精品一卡二卡三卡 | 欧美少妇bbb | 黑人巨大白妞出浆 | 中文字幕第十一页 | av狠狠爱| 求个av网站 | 在线观看日韩视频 | 国产免费拔擦拔擦8x软件大全 | 4hu亚洲人成人无码网www电影首页 | 无码免费的毛片基地 | 久久狠狠爱亚洲综合影院 | 亚洲丰满少妇xxxxx高潮对白 | 日本精品久久久久久久久久 | 久久五| 伊人热热| 成人免费观看毛片 | 国产福利第一视频在线播放 | 久久久久亚洲精品无码网址 | 视频在线你懂的 | 国产午夜无码片在线观看网站 | 西西人体大胆尺度写真 | 国产成人激情视频 | 激情狠狠 | 国外av片免费看一区二区三区 | 日韩在线观看一区二区 | www.日日 | 国产欧美不卡 | 久久www人成免费产片 | 91香焦视频 | 五月久久综合蜜桃一区 | av免费观看网站 | 一区二区三区国 | 色偷偷av男人的天堂京东热 | 中年两口子高潮呻吟 | 在线观看mv的中文字幕网站 | 在厨房拨开内裤进入在线视频 | 国产老熟女老女人老人 | 男女真人后进式猛烈动态图视频 | 印度精品av三级 | 樱花草在线社区www中国中文 | 88av网| 成人网站色52色在线观看 | 人人爽人人澡人人人妻、百度 | 四虎影库在线永久影院免费观看 | 久久亚洲中文字幕伊人久久大 | 亚洲成a人片在线观看无码不卡 | 小sao货cao得你舒服吗国产 | 日日操夜夜爽 | 国产亚洲精品久久情网 | 啊啪啪多水爱爱成人 | 波多野结衣av无码 | 日韩不卡手机视频在线观看 | 亚洲综合一区二区三区无码 | 欧美草b内射在线aaaaaa | 狠狠v欧美v日韩v亚洲ⅴ | 黄色伊人网 | 丰满爆乳无码一区二区三区 | 日插夜插| 日韩国产高清一区二区 | 欧美日韩亚洲中文字幕一区二区三区 | 粗大猛地挺进娇喘呻吟 | 国产成人精品一区二区三区福利 | 欧美成人性色xxxxxx | 东京热无码国产精品 | 人人做人人爽国产视 | 欧美三级手机在线观看 | 午夜亚洲福利在线老司机 | 蜜臀亚洲精品国产aⅴ综合第一 | 在线天堂免费观看.www | 亚洲欧美日韩久久精品第一区 | 18禁免费无码无遮挡不卡网站 | 7777kkkk成人观看 | 五月激情婷婷丁香综合基地 | 婷婷四房播播 | 黄色精品一区二区三区 | av丁香 | 无码丰满熟妇 | 国内精品久久人妻无码网站 | 在线观看的av免费网站 | 亚洲精品美女久久久 | 91最新国产| av综合影院 | 九九九九九少妇爽黄大片 | 色av专区无码影音先锋 | 欧美精品久久久久久久久老牛影院 | 人人网av | 日韩3p| 国产av无码专区国产乱码 | 中文字幕在线视频一区 | 国产天堂网 | 成人久久大片91含羞草 | 欧美日韩精品亚洲精品 | 国产互换人妻hd | 天堂伊人 | 国产av导航大全精品 | 成人无码看片在线观看免费 | 国产高清无av久久 | 国产精品玖玖玖在线资源 | 永久免费在线观看av | 国产成人精品a∨一区二区 午夜精品成人一区二区 | 中文字幕无码av激情不卡 | 日日摸处处碰夜夜爽 | 黑人巨大精品欧美一区二区小视频 | 老熟妇乱子伦牲交视频欧美 | 女人被爽到高潮视频免费国产 | 丁香六月伊人 | 亚洲综合在线第一页 | 国产网红无码精品福利网 | 麻豆aⅴ精品无码一区二区 国产热视频 | 狠狠躁日日躁夜夜躁2022麻豆 | 色视频网站在线观看一=区 人体内射精一区二区三区 伊人伊人伊人伊人 | 特级小箩利无码毛片 | 毛片久久久久久久 | 三上悠亚在线精品二区 | 交视频在线播放 | 国产成人精品日本亚洲11 | 黄床大片免费30分钟国产精品 | 久久久久久国产 | 亚洲欧美日韩国产精品一区 | 国产亚洲情侣一区二区无 | 欧美日韩一区精品 | www.亚洲精品 | 欧美三级午夜理伦三级中视频 | 国产伦精品一区二区三区妓女下载 | 欧美精品一区二区在线播放 | 女人被男人爽到呻吟的视频 | www久久| 日本中文字幕在线观看视频 | 国产成 人 综合 亚洲欧洲 | 久久男人的天堂 | 国产又色又爽无遮挡免费 | 久久精品视频免费 | 日韩大片在线永久免费观看网站 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 国产精品h片在线播放 | av在线官网 | 国产偷v国产偷∨精品视频 啪啪黄色网址 | 国产精品成人在线视频 | 亚洲成人高清 | 亚洲欧美色综合影院 | 欧美韩国日本在线 | 国产亚洲精品久久久久久禁果tv | 久久久久久激情 | 一本一本久久a久久精品综合妖精 | 人人超碰人人超级碰国 | 男女啪啪网站大全免费 | 中文视频在线观看 | 韩日视频在线 | 无码av一区二区大桥久未 | 欧美视频在线免费播放 | 成人无码专区免费播放三区 | 亚洲综合网址 | 在线不卡av片免费观看 | 日本久色 | 日韩精品一区二区三区 | 欧美日韩精品中文字幕 | 国产成人美女视频 | 91免费版网址 | 曰批免费视频播放免费直播 | 国产黄色精品在线观看 | 国内精品乱码卡一卡2卡三卡 | 国产美女口爆吞精普通话 | 男人扒开女人双腿猛进免费视频 | 成人欧美一区 | 波多野一区二区 | 超碰av在线免费观看 | 久久免费偷拍视频 | 免费在线观看你懂的 | 国产suv精品一区二人妻 | 99re6在线观看| 国产69精品对白农村妇女 | 222aaa免费国产在线观看 | 99精品人妻无码专区在线视频区 | 出差的交换夫妇中文字幕 | 香蕉久久一区二区三区 | 中文人妻无码一区二区三区 | 精品免费国产一区二区三区四区介绍 | 伊人色播 | 国产黄色一级片 | 欧美一级性视频 | 看全色黄大色黄女片爽名优 | 欧美大片91 | 国产情侣疯狂作爱系列 | 日本熟妇乱人伦a片免费高清 | 成人亚洲一区无码久久 | 动漫精品久久久久 | 久久久久久免费 | 激情av在线| 无码一卡二卡三卡四卡 | 天堂资源在线www中文最新偷拍 | 日韩精品无码人成视频手机 | 亚洲老妇色熟女老太 | 第九色区av天堂 | 免费无码av片在线观看 | 成年人精品 | 尤物视频网站在线观看 | 91毛片在线观看 | 久久综合九色综合97欧美 | 中文字幕在线亚洲日韩6页 国产日日日 | 狠狠躁夜夜躁av网站中文字幕 | 日韩久久一区 | 国产精品久久久久一区二区三区 | 久久日本 | 日韩精品影视 | 精品久久久久香蕉网 | 日本精品aⅴ一区二区三区 亚洲国产理论片在线播放 999精品 | 九九久久99综合一区二区 | 美女视频黄a视频免费全过程 | 成 人 综合 亚洲另类 | 日本少妇aa特黄毛片亚洲 | 国产精品99久久久久久www | 四虎影视国产精品永久地址 | 嫩草懂你 | 亚洲精品专区 | 性欧美vr高清极品 | 中文字幕人妻伦伦精品 | 女人体1963午夜免费视频软件 | 成在人线av无码免费漫画 | 国产麻豆果冻传媒视频观看 | 少妇被粗大的猛烈进出va视频 | 国产精品国产成人国产三级 | 亚洲特级片 | 国内精品久久久久久中文字幕 | 激情做爰呻吟视频舌吻 | 我想看一级黄色大片 | 女人的天堂网站 | 日日日日 | 成人羞羞国产免费软件小说 | 国产精品疯狂输出jk草莓视频 | 亚洲成av人片乱码色午夜 | 欧美日韩一区二区成人午夜电影 | 国产69久久精品成人看动漫 | 中国偷拍老肥熟露脸视频 | 99久热在线精品 | 日韩精品无码一区二区三区 | 国模精品一区二区三区 | 国产成人综合野草 | 黄色工厂这里只有精品 | 人人插人人插人人爽 | 欧美不卡无线在线一二三区观 | 四虎亚洲中文字幕无码永久 | 黑人专干日本人xxxx | 日韩视频一区二区在线观看 | 亚洲欧美成人一区二区在线 | 亚洲精品成a人在线观看 | 久久精品成人免费国产片小草 | 永久亚洲成a人片777777 | 欧美另类视频 | 十八禁无码免费网站 | 日本黄色毛片 | 亚洲精品911 | 欧美特级黄色大片 | 狠狠操天天操夜夜操 | 在线视频18在线视频4k | 国产又粗又长又黄又猛 | 特级做a爰片毛片免费看无码 | 午夜激情网| 国产精品国产三级国产专区51 | 国产1卡2卡3卡4卡免费 | 亚洲欧美大片 | 超碰成人网 | 亚洲欧美中日精品高清一区二区 | 国产精品久久久久无码av | 丰满熟妇乱又伦在线无码视频 | 欧美日韩成人在线观看 | 国产精品嫩草影院免费观看 | 综合xx网| 日本成夜色爽免费视频 | 亚洲国产精品无码中文在线 | 久久免费久久 | аⅴ天堂中文在线网官网 | 欧美老妇大p毛茸茸 | 亚洲国产精品自在在线观看 | 99久久精品午夜一区二区 | 亚洲精品性视频 | 国产又爽又色 | 亚洲午夜成人久久久久久 | 久久久这里有精品 | 嫩草影院av | 宅男lu666噜噜噜在线观看 | 欧洲少妇性喷潮 | 国产妇女馒头高清泬20p多 | 亚洲com| 亚洲国产成人精品无色码 | 久久6免费视频 | 91久久久久久久久久 | 国产蝌蚪视频一区二区三区 | 国产乱码人妻一区二区三区四区 | 亚洲性bbbbbbbbbbbb| 午夜拍拍视频 | 伊人嫩草久久欧美站 | 久久久久无码精品亚洲日韩 | 久久爱伊人 | 精品黄色网| 一二三四社区在线高清观看8 | 情侣自拍80秒舌吻视频 | 欧美成人精品 一区二区三区 | 免费午夜无码片在线观看影院 | 日日摸夜夜骑 | 久久综合亚洲欧美成人 | 无码熟妇人妻av在线影片免费 | 四虎国产精品永久在线下载 | 深夜视频在线播放 | 精品国产免费一区二区三区香蕉 | 日韩一区二区免费播放 | 伊人久久精品在热线热 | 亚洲区一区二 | 中文字幕乱码亚洲无线码三区 | 一区二区三区四区免费视频 | 日本精品一区二区三区在线观看视频 | 97爱爱视频| 亚洲 精品 制服 校园 无码 | 人妻少妇伦在线麻豆m电影 免费无码又爽又刺激软件下载 | 亚洲卡1卡2卡新区网站 | 黑人巨大精品欧美一区二区 | 韩日视频一区 | 亚洲国产不卡 | 亚洲精品无码ma在线观看 | 国产v亚洲v欧美v精品综合 | 极品主播超大尺度福利视频在线 | 国产交换配乱淫视频a免费 久操综合 | 午夜a视频 | 亚洲欧美综合中文 | 亚洲 另类 在线 欧美 制服 | 中国女人一级片 | 久久精品国产精品亚洲色婷婷 | 国产一级免费av | 琪琪色在线观看 | 国产精品福利在线观看无码卡一 | 精品视频九九 | 天堂网在线观看av | 在线视频久 | 婷婷久久综合九色综合 | 色欲国产精品一区成人精品 | 国产裸体歌舞一区二区 | 国产偷窥熟女精品视频 | 4hu4hu四虎www最新地址884aa | 国产午夜无码片在线观看影院 | av黄色在线看 | 成人二级片 | 91九色丨porny丨肉丝 | 凹凸国产熟女精品视频 | 又色又爽又黄无遮挡的免费观看 | 日韩美av| 亚洲精品国产成人av在线 | 国模丽丽啪啪一区二区 | 国产精品全新69影院在线看 | 综合图区亚洲另类偷窥 | 玩弄丰满熟妇xxxxx性60 | 女人高潮特级毛片 | 欧美黑人疯狂性受xxxxx喷水 | 国产无遮挡又爽又刺激的视频老师 | 婷婷色基地 | 成人高清视频在线 | 国产丝袜美女 | 亚洲 日韩 欧美 有码 在线 | 岛国av噜噜噜久久久狠狠av | 国产又粗又爽 | 中国少妇初尝黑人巨高清 | 国产成人无码免费视频79 | 狠狠操一区二区 | 成人欧美一区二区三区在线观看 | 97视频久久久 | 竹内纱里奈一88av在线 | 又爽又黄又无遮挡的视频 | 日亚韩在线无码一区二区三区 | 精品久久久久久久无码 | 又黄又爽又无遮挡免费的网站 | 国产精品野外av久久久 | 亚洲 欧美 清纯 在线 制服 | 麻豆日产精品卡2卡3卡4卡5卡 | 国产成人精品综合久久久 | 五月婷婷丁香激情 | www91在线| 中文字幕,久热精品,视频在线 | 亚洲欧美另类激情 | 亚洲高清成人av电影网站 | 18禁黄无码免费网站高潮 | 新四虎 | 日本韩国三级在线观看 | 成年人a级片 | 亚洲毛片一区二区 | 亚洲视频在线观看免费的欧美视频 | 日韩欧美高清一区二区 | 欧美中文字幕无线码视频 | 美女网站av | 欧美xxxx做受欧美.88 | 在线成人激情视频 | 日本理论片免费观看在线视频 | 久久久久国产精品一区三寸 | 欧美乱码视频 | 色久网 | 亚洲欧美日韩激情 | 中文字幕国产 | 中国娇小与黑人巨大交 | 国产黄网免费视频在线观看 | 亚洲国产成人一区二区精品区 | jul599hd中文字幕 | 亚洲 中文字幕 日韩 无码 | 国产一区二区在线精品 | 亚洲视频成人在线 | 色啪网站 | 欧美人与物∨ideos另类3 | 97亚洲色欲色欲综合网 | 欧美激情性生活 | 免费午夜网站 | 夜夜躁很很躁日日躁麻豆 | 日本特黄特色大片免费视频 | 亚洲日韩av在线观看 | 日韩欧洲在线高清一区 | 九九九九精品视频在线观看 | 天天做天天爱天天操 | 国产精品久久久久久久不卡 | 日本三级欧美三级人妇英文 | 夜夜躁狠狠躁日日躁aab苏桃 | 亚洲中文字幕精品久久久久久动漫 | 国产猛男猛女52精品视频 | 纯肉无遮挡无码日本动漫 | 黄色免费网站视频 | 羞羞影院成人午夜爽爽在线 | 亚洲s码欧洲m码吹潮 | 日韩美在线观看 | 亚洲欧美综合自拍 | 亚洲乱码尤物193yw最新网站 | 在线观看视频一区二区三区 | 香蕉国产在线观看 | 天天爱夜夜爱 | 成人日韩精品 | 日本蜜桃视频 | 亚洲中文字幕无码久久精品1 | 青娱乐99 | 欧美激情高潮 | 中文字幕不卡高清视频在线 | 狼人亚洲国内精品自在线 | 色吊丝永久性观看网站 | 超碰中文字幕在线 | 99精品国产再热久久无毒不卡 | 国产精品爽爽久久 | 亚洲国产精品不卡av在线 | 欧美最骚最疯日b视频观看 大杳蕉狼人伊人 | 国产亚洲精品久久久久久老妇 | av亚洲精华国产精华精 | 老妇肥熟凸凹丰满刺激 | xxx.www国产 | 日韩精品一区在线视频 | 日本一区二区三区精品福利视频 | 欧洲一区二区三区四区 | 在线 无码 中文字幕 强 乱 | 欧美大片高清免费看 | 中文字幕亚洲高清精品一区在线 | 最新国产亚洲人成无码网站 | 久操香蕉 | 国产又大又粗又爽的毛片 | 四虎影院免费网址 | 四虎影库久免费视频 | 美女扒开腿让男人桶爽揉 | 亚洲图片在线视频 | 久久久久亚洲精品中文字幕 | 少妇娇喘呻吟出水好深一区二区 | 久久综合桃花网 | 久久久亚洲欧洲日产国码606 | 五月激情六月 | 蜜桃91丨九色丨蝌蚪91桃色 | 美女内射视频www网站午夜 | 亚洲宅男精品一区在线观看 | 亚洲另类无码一区二区三区 | 最近中文字幕免费 | 丰满人妻翻云覆雨呻吟视频 | 日本亲近相奷中文字幕 | 久久人人澡| 任你干精品 | 丰满女人裸体淫交视频 | 日本久久久久久久久 | 在线高清理伦片a | 7777色鬼xxxx欧美色妇 | 黄色一二三区 | 91精品欧美| 俄罗斯美女真人性做爰 | 性欧美精品高清 | xxxxxx欧美 | 97久久人人 | 精品少妇爆乳无码aⅴ区 | 国产精品女教师久久二区二区 | 国产9 9在线 | 免费 | 久久久久国产精品人妻aⅴ院 | 国产精品久久毛片 | 久久超碰极品视觉盛宴 | 97小视频| 热99 | av无码制服丝袜国产日韩 | 国产美女极度色诱视频www | 国产a线| 热99re久久精品这里都是精品免费 | 97久久国产成人免费网站 | 中国熟妇内谢69xxxxx | 亚洲狠狠婷婷久久久四季av | 无码少妇一区二区三区浪潮av | 亚洲天堂手机版 | 色一情一区二区 | 亚洲国产日韩欧美一区二区三区 | 美国一级大黄一片免费的网站 | 国产麻豆一精品一男同 | 亚洲欧美偷拍视频一区 | 人人澡人人人人天天夜夜 | 精品女同一区二区三区 | 99久久久国产精品免费蜜臀 | 国产黄色在线 | 国内丰满少妇猛烈精品播 | 精品人妻少妇嫩草av无码专区 | 免费精品一区二区三区视频日产 | 欧乱色国产精品兔费视频 | 欧美性专区 | 天天爽夜夜爽国产精品视频 | 日本一区二区三区在线免费观看 | 欧美激情亚洲激情 | 欧美午夜免费 | 亚洲 另类 小说 国产精品无码 | 亚洲中文字幕乱码电影 | 久久久久久亚洲精品a片成人 | 久久精品久久电影免费理论片 | 久久不见久久见免费视频4 国产天美传媒性色av | 男女av免费 | 免费无码又爽又刺激软件下载直播 | 99久热在线精品 | 亚洲成年 | 自拍偷自拍亚洲精品牛影院 | 国产美女被遭强高潮免费一视频 | 人妻夜夜添夜夜无码av | 精品国产乱码久久久久久天美 | 久久国产精品99国产精 | 久久亚洲道色宗和久久 | 影音先锋新男人av资源站 | 日韩每日更新 | 韩国三级hd中文字幕叫床 | 91久久国产婷婷一区二区 | 伊人色婷婷 | 日产精品久久久久久久 | 免费av在线网站 | 99久久无码一区人妻a片潘金莲 | 国产精品xxxxxx | 岛国av片在线观看 | 亚洲欧美精品在线观看 | 中文字幕av一区二区五区 | 五月丁香啪啪激情综合色九色 | 一起草视频在线播放 | 思思99re6国产在线播放 | 日本免费三片在线观看 | 很黄很黄让你高潮视频 | 日日躁狠狠躁狠狠爱 | 午夜亚洲精品久久一区二区 | 手机在线精品视频 | 永久www成人看片 | 色播在线精品一区二区三区四区 | 久青草国产97香蕉在线影院 | 丁香亚洲| 欧美a一级 | 手机在线观看av网站 | 5566亚洲精华国产精华精华液 | 狠狠色丁香久久综合网 | 精品亚洲一区二区三区 | 强行征服邻居人妻淑敏 | 久久无码喷吹高潮播放不卡 | 精品精品久久 | 欧美自拍三级 | 青青青国产在线观看 | a天堂视频在线观看 | 亚洲偷自拍国综合色帝国 | 男女一边摸一边做爽爽的免费阅读 | 亚洲综合色在线观看一区二区 | 久久人妻少妇嫩草av无码专区 | 久久精品人人做人人爱爱漫画 | 草逼逼视频 | 日韩精品一区二区亚洲 | 正在播放白浆 | 六月婷婷在线观看 | 欧美亚洲另类丝袜综合 | 欧美金妇欧美乱妇xxxx | 无码国产69精品久久久久网站 | 国产精品海角社区在线观看 | 一本久久a久久精品综合 | 亚洲精品成人片在线观看精品字幕 | 国产精品久久久久久影院8一贰佰 | 人妻无码一区二区三区tv | 偷窥国产亚洲免费视频 | 亚洲资源在线播放 | 午夜国产在线观看 | 国产在线精品视频你懂的 | 2020精品国产户外 | 人妻与老人中文字幕 | 国产精品1卡2卡3卡4卡 | 国产伦理久久精品久久久久 | 国产在线精品无码不卡手机免费 | 国产成人精品午夜视频免费 | 性欧美激情aa在线看 | 在线免费看91 | 人妻熟女一区二区aⅴ图片 夜夜狠狠擅视频 | 欧美日韩免费在线 | 亚洲高清成人aⅴ片777 | 97超碰国产精品 | xoxo国产三区精品欧美 | 中国女人内谢69xxxx视频 | 热久久国产欧美一区二区精品 | 日韩欧美国产另类 | 一级片免费 | 色天天干 | 一本久道久久综合久久爱 | 亚洲国产成人精品无码区在线网站 | 英语老师丝袜娇喘好爽视频 | 国产免费无遮挡吸乳视频下载 | 又色又爽又黄的视频软件app | 亚洲色图99p| 亚洲成人手机在线观看 | 黑人精品一区二区 | 免费大香伊蕉在人线国产卡 | 日韩精品久久久久久久玫瑰园 | 夫妻淫语绿帽对白 | 懂色av成人一区二区三区 | 夜夜6699ww爽爽婷婷 | 亚洲第一页综合图片自拍 | 亚洲免费久久 | 国产精品亚洲二区在线播放 | 久操国产在线 | 日本精品网站 | 八个男人躁我一个视频免费 | 日本国产制服丝袜一区 | 人妻少妇边接电话边娇喘 | 久久综合给合综合久久 | 中文字幕乱码亚洲∧v日本 成在人线av无码免费高潮水老板 | 中文字幕日韩视频 | sese国产| 久久66热人妻偷产精品 | 色综合综合| 欧美极品在线播放 | 精品午夜一区二区 | 大rb狠狠地给你这y荡的视频 | 欧美成人免费全部观看 | 亚洲精品无码mⅴ在线观看 农夫色综合 | 蜜桃色永久入口 | 在线观看成人年视频免费 | 91高跟紫色丝袜呻吟在线观看 | 亚洲中文字幕日产乱码高清 | 日韩性生交大片免费看 | 好男人网站 | 亚洲精品自产拍在线观看 | 99国内精品久久久久久久夜夜嗨 | 136av导航| www.xxx亚洲| 欧美一级免费看 | 99国产精品欧美一区二区三区 | 国产日韩久久久久 | 午夜精品福利视频 | 一本精品999爽爽久久久 | av成人精品 | 上床视频在线观看 | 国产美女脱的黄的全免视频 | 精品乱码一区二区三四区视频 | 久久不见久久见免费影院www | 精品丝袜人妻久久久久久 | 午夜激情亚洲 | 国产精品视频网址 | 亚洲伊人久久综合网站 | 国产精品成人久久久久 | 精品国产品香蕉在线 | 中文字幕免费视频观看 | 精品蜜臀av在线天堂 | 人妻少妇精品视频二区 | 不卡一二三| 日韩人妻无码精品专区综合网 | 久久精品一区二区视频 | 亚洲国产欧美在线看片一国产 | 亚洲免费一级 | 97人妻免费公开在线视频 | 久草视频网 | 国产在视频线精品视频 | 性夜久久一区国产9人妻 | 自偷自拍av | 成人淫片免费视频95视频 | 黄色婷婷 | gv天堂gv无码男同在线观看 | 久久综合综合 | 太久av| 欧美另类人妖 | 永久免费精品精品永久-夜色 | 亚洲国产精品久久久天堂麻豆宅男 | 丰满饥渴老女人hd | 国产精品亚洲片在线观看不卡 | 女人18毛片水真多免费视频 | 四虎亚洲精品无码 | 欧美成本人视频免费播放 | 久久久久国产精品 | 黄 色 成 年 人免费观看 | 国内无遮挡18禁无码网站免费 | 深夜福利av | 日本丰满的少妇 | 在线 日本 制服 中文 欧美 | 亚洲精品第一页 | 久久精品国产2020观看福利 | 乱人伦中文无码视频在线观看 | 综合久久久久6亚洲综合 | 男人天堂2018亚洲男人天堂 | 天堂91| 日产欧美国产日韩精品 | 日产亚洲一卡2卡3卡4卡网站 | 欧美亚洲福利 | 国产精品久久久久乳精品爆 | a在线视频播放观看免费观看 | 97视频国产 | 日韩av网页| 综合久久99| 91精品国产综合久久蜜臀 | 无套内射a按摩高潮 | 夜夜添夜夜添夜夜摸夜夜摸 | 色噜噜狠狠狠狠色综合久 | 无码人妻精品一区二区三区在线 | 色图插插 | 九九九九九九精品任你躁 | 无码精品人妻一区二区三区人妻斩 | av狠狠色丁香婷婷综合久久 | 国产一区二区日本欧美精品久久久 | 正在播放国产对白孕妇作爱 | 日韩精品字幕 | 欧美黄色片视频 | 国产亚洲一区二区三区 | 国产尤物人成免费观看 | 久久天天躁夜夜躁狠狠 ds005.com | 天天碰天天碰 | 性xxxx18免费观看视频 | 色 亚洲 日韩 国产 综合 | 欧美一区 | 日日干天天 | 成人精品视频在线观看不卡 | 天天操天天摸天天爽 | 国产午夜精品一区二区三区漫画 | 欧美一性一乱一交一免费视频 | 东京道一本热中文字幕 | 亚洲一区二区三区中文字幕在线 | 亚洲国产精品成人综合色在线婷婷 | 亚洲熟妇无码乱子av电影 | 在办公室被c到呻吟的动态图 | 葵司免费一区二区三区四区五区 | 国产成人综合久久三区 | 日韩城人免费 | 免费看欧美一级特黄a大片 一区二区三区美女 | 亚洲欧洲精品一区二区三区 | 网址色| 德国性xxx与另类重口 | 久久爱九九伊人 | 日韩精品免费一区二区三区四区 | 激情丁香网 | www五月| 人人妻人人添人人爽欧美一区 | 国产无遮挡又爽又黄的视频 | www.97视频| 极品白嫩少妇无套内谢 | 国产精品污www在线观看17c | 亲子性教育中文字幕 | 人人色在线视频播放 | 每日av更新| 99久久99这里只有免费费精品 | 99ee6这里只有精品热 | 亚洲久久久久久中文字幕 | 偷偷做久久久久网站 | 免费观看的av毛片的网站 | 欧美日韩中文国产一区发布 | www.色婷婷.com| 亚洲国产剧情av | 在线免费不卡视频 | 中文字字幕在线乱码视频 | 国内精品一线二线三线黄 | 国产美女口爆吞精普通话 | 中文字幕第一页在线 | 狠狠色婷婷久久综合频道毛片 | 四虎一级片 | 色又黄又爽网站www久久 | 男女做视频md806xyz | 精品国产一区二区三区性色av | 成人国产一区二区三区 | 国产精品亚洲欧美中字 | 提莫影院av毛片入口 | 中文字幕激情小说 | 潮喷无码正在播放 | 国产亚洲无日韩乱码 | 中文字幕在线观看视频地址二 | 色欲久久九色一区二区三区 | 最新日韩在线视频 | 久久成人国产精品入口 | 6699嫩草久久久精品影院竹菊 | 日韩第一视频 | 性欧美丰满熟妇xxxx性仙踪林 | 国产我和子的与子乱视频 | 亚洲 小说 欧美 激情 另类 | 色久婷婷 | 日韩欧美小视频 | 77777亚洲午夜久久多人 | 女人被狂躁c到高潮 | 亚洲精品一区二区三区高潮 | 久久中文字幕人妻熟女少妇 | 一本一道波多野结衣一区二区 | 色噜噜狠狠色综合日日 | 亚洲中文字幕精品久久久久久直播 | 欧美福利在线观看 | 四虎最新免费网站 | 伊人久久伊人 | av中文资源 | 天天干天天搞天天射 | 日韩视频第一页 | 午夜香蕉成视频人网站 | 香蕉中文网 | 国产精品露脸视频 | 免费看毛片的网站 | 日本久久久一区二区三区 | 草草久 | 亚洲久久成人 | 精品国产丝袜自在线拍国语 | 亚洲国产欧美在线 | 噜噜噜狠狠夜夜躁精品仙踩林 | 国产不卡视频在线播放 | 午夜神马久久 | 久久性网站 | 色综合欧美五月俺也去 | 精品国产乱码久久久久乱码 | aⅴ精品无码无卡在线观看 日本熟妇色高清免费视频 曰韩无码二三区中文字幕 日本美女a级片 | jul599hd中文字幕 | 亚洲综合网址 | 亚州少妇无套内射激情视频 | 少妇把腿扒开让我舔18 | 99国产精品久久久久久久成人 | 久久三级精品 | 欧美黑人三级 | 爽爽av | 亚洲日本中文字幕在线 | 欧美一区二区三区久久综合 | 日产日韩亚洲欧美综合在线 | 国内精品无码一区二区三区 | 亚洲妓女综合网99 | 免费人成又黄又爽的视频 | 日本aⅴ在线 | 人人妻久久人人澡人人爽人人精品 | 激情文学另类小说亚洲图片 | 麻豆国产原创中文av网站 | 91网入口 | 久久五十路| 国产精品国产午夜免费看福利 | 久久久久久三区 | 亚洲视频在线观看网站 | 亚洲视频图片小说 | 波多野结衣午夜 | 久热精品在线观看 | 欧美xxxxxhd| 91爱爱网站| 亚洲国产精品一区二区成人片不卡 | 亚洲一区二区三区含羞草 | 国产午夜精品一区 | 日韩午夜在线视频 | 99在线成人精品视频 | 中文无码久久精品 | 亚洲一区二区三区高清av | 日韩在线观看一区二区 | 国产成人亚洲综合青青 | 亚洲美女色视频 | 鲁丝久久久精品av论理电影网 | 久久这里只有精品23 | 国产午夜精品无码一区二区 | 亚州视频一区二区三区 | 国产精品久久久久久欧美 | 国产日韩欧美一区二区久久精品 | 国产无套水多在线观看 | 国产乱子伦三级在线播放 | 67194成l人在线观看线路无码 | 韩国三级中文字幕hd久久精品 | 东京热久久综合久久88 | 亚洲成av人片在线观看香蕉 | 丝袜美腿亚洲一区二区 | 国产免费黄视频 | 亚洲精品国产福利 | 精品国产乱码久久久久软件 | 国产精品久久久久久久白丝制服 | 日本伊人久久 | 日韩精品无码一本二本三本色 | 欧洲色网站 | 亚洲欧美一区二区成人片 | 久久婷婷人人澡人人爽人人爱 | 国内爆初菊对白视频 | 性欧美丰满熟妇xxxx性5 | 毛片一二三区 | 成人国产免费 | 中文字幕无码专区一va亚洲v专区在线 | 99r在线精品视频在线播放 | 黄色大片毛片 | 国产一级一级va | 国产午夜不卡片免费视频 | 精品国产一区二区av片 | 一本大道东京热无码aⅴ | 日韩另类片 | 国产女主播白浆在线看 | 成人精品在线视频 | 熟女乱牛牛视频在线观看 | av国産精品毛片一区二区在线 | 裸体美女无遮挡免费网站 | 欧美生活一级片 | 人人狠狠久久亚洲综合88 | 色综合视频网 | 国产亚洲精品久久久久婷婷瑜伽 | 欧美三级日韩 | 黄色大片观看 | 伊人久久大香线蕉av一区 | 亚洲精品中文在线观看 | 亚洲日韩av无码一区二区三区 | 精品免费人成视频网 | 精品无码久久久久久久久 | 亚洲a∨无码国产精品久久网 | 午夜大片免费男女爽爽影院 | 午夜少妇av | 日本久久综合久久鬼色 | 日韩视频一二三 | 在线看a网站 | 国产亚洲高初学生不卡观看 | 日本黄色免费在线观看 | 国产精品网站在线观看免费传媒 | 国产欧美一区二区三区在线老狼 | 亚洲一区视频网站 | 无码ol丝袜高跟秘书在线观看 | 亚洲香蕉久久 | 视频一区二区中文字幕 | 国内精品视频一区二区三区 | 男人激烈吮乳吃奶视频免费 | 日本丰满熟妇videossexhd 中文在线日本 | 丰满人妻被黑人猛烈进入 | 初欲av| 正在播放一区 | 久久久久爽爽爽爽一区老女人 | 久久精品国产成人av | 东京热人妻丝袜av无码 | 国产欧美综合在线 | 国产乱码一区二区三区免费 | 少妇精品一区二区三区 | 九色视频自拍 | a片在线免费观看 | 日韩精品无码久久久久久 | 仙踪林av | 无码人妻丰满熟妇啪啪区日韩久久 | 手机看片国产av无码 | 50岁退休熟女露脸高潮 | 亚洲国产区男人本色在线观看 | 狠狠伊人 | 日本一本二本在线观看 | 免费黄色国产视频 | 亚洲精品福利 | 天堂在线资源中文在线8 | 国产精品100 | 欧美 国产 亚洲 卡通 综合 | 免费看成年人视频 | 免费成人深夜夜行网站视频 | 欧美性生交大片18禁止 | 午夜私人影院在线观看 | 天天爽 | 蜜桃免费一区二区三区 | 中文乱码免费一区二区 | 国产精品久久久久久久 | 久久久天堂 | 久久人人爽亚洲精品天堂 | 国产午夜精品美女视频明星a级 | www.日韩欧美 | 国产精品99久久久精品无码 | 亚洲成av人片在线观看无 | 国产久久精品 | 亚洲精品污一区二区三区 | 强开乳罩摸双乳吃奶网站 | 五月婷婷激情 | 亚洲а∨天堂久久精品 | 夜夜草视频 | 日韩在线播放一区二区 | bb日韩美女预防毛片视频 | www视频在线观看免费 | 中文字幕在线视频一区 | 中文字幕乱码一区二区三区 | 五月天亚洲综合 | 啪啪小视频网站 | 91久色| 亚洲va久久久噜噜噜久久4399 | 超碰资源总站 | 风韵犹存丰满大屁股熟妇视频 | 黄色成年人网站 | 国产精品一二区 | 欧美三根一起进三p | 亚洲中文无码永久免费 | 日韩成人福利 | 久久精品a亚洲国产v高清不卡 | 日本在线视频一区 | 自拍偷在线精品自拍偷免费 | 成人亚洲欧美丁香在线观看 | 99免费在线播放99久久免费 | 天堂久久影院 | 国产亚洲精品久久久久久久 | 中国女人精69xxxxxx视频 | 欧美亚洲日本国产黑白配 | jizz日本美女 | 日韩特黄色片子看看 | 亚洲综合熟女久久久40p | 另类综合视频 | 乱淫久久 | 午夜手机看片 | 噜噜噜久久久 | 久久亚洲色www成人图片 | 欧美一区在线观看视频 | 天天操夜 | 强制高潮18xxxxhd日韩 | 成人午夜网 | 在线不卡av片免费观看 | 91精品国产高清一区二区三密臀 | 国产成人av性色在线影院色戒 | 丰满岳妇乱一区二区三区 | 成人在线网站观看 | 99久久国产露脸精品国产麻豆 | 超级碰在线视频 | 羞羞色99av | 久久国产高清 | 国产精品亚洲日韩欧美色窝窝色欲 | 亚洲精品国产一区二区 | 亚洲国产av无码男人的天堂 | 色欲一区二区三区精品a片 爱韩av | 中文字幕国产剧情 | 男女羞羞羞视频午夜视频 | 无码国内精品人妻少妇蜜桃视频 | 国产普通话bbwbbwbbw | 久久免费99精品国产自在现线 | 天天干天天操天天摸 | 中文字幕超清在线观看 | 日韩一区二区中文字幕 | 91学生片黄在线观看 | 国产淫语视频 | 伊人久久大香线蕉av网禁呦 | 欧美激情视频在线观看免费 | 亚洲中文av一区二区三区 | 一区二区在线视频 | 国产九一视频 | 国产午夜亚洲精品不卡网站 | 8090yy亚洲精品久久 | 好爽好硬好深高潮视频456 | 老子午夜精品无码不卡 | 欧美日本韩国一二区视频 | 亚洲人午夜色婷婷 | 福利免费观看午夜体检区 | 夜夜躁狠狠躁日日躁2002讲述 | 亚洲成人免费在线播放 | 近伦中文字幕 | 色综合久久久久综合一本到桃花网 | 91av99| 国产自偷亚洲精品页65页 | 色欲aⅴ 无码 | 亚洲精品一区二区三区早餐 | 东京干手机福利 | 伊人网综合在线观看 | 国产精品1卡2卡3卡4卡 | 四色网址 | 性生交大片免费中文 | 韩国主播bj大尺度福利视频 | 天堂狼人mv | 国产成人午夜福利在线播放 | 大地资源中文在线观看官网第二页 | 7m第一福利500精品视频 | 69福利视频 | 午夜污 | 亚洲一级特黄 | 亚洲欧洲日产韩国无码 | 日日夜夜撸啊撸 | 天堂中文8 | 美日韩视频 | 在线观看免费日本 | 成人性生交大片100部 | 福利视频一二三区 | 毛片完整版的免费观看 | 丁香婷婷综合久久来来去 | 高潮的毛片激情久久精品 | 久久99网站 | a4yy午夜 | 人妻精品久久久久中文字幕 | 乱淫久久 | 性与爱午夜视频免费看 | 欧美性白人极品1819hd | 91九色porny蝌蚪 | 国产手机在线精品 | 国产成人欧美日本在线观看 | 亚洲另类无码专区首页 | 精品人妻系列无码专区久久 | 人妻人人看人妻人人添 | 老师粉嫩小泬喷水视频90 | 欧美xxxx少妇 | 高清国产视频 | 欧美午夜精品一区二区三区电影 | 最新国产精品剧情在线ss | 国产999精品久久久久久 | 无码国产偷倩在线播放老年人 | 欧美成人午夜精品久久久 | 女厕厕露p撒尿八个少妇 | 亚洲一区爱区精品无码 | 久久久久免费精品国产小说色大师 | 欧美热热| 色翁荡息又大又硬又粗又爽电影 | 嫩草影院你懂的 | 爽爽精品dvd蜜桃成熟时电影院 | 一少妇挑战三个黑人内谢 | 亚洲成人三级 | 伊人avav | 中国亚州女人69内射少妇 | 久99视频精品免费观看福利 | 国产精品久久久久久婷婷 | 国产在线观看成人 | 97免费在线观看视频 | 人妻少妇精品无码专区动漫 | 高清不卡亚洲日韩av在线 | 天天操夜夜想 | 欧美性站 | 亚洲巨大乳bbw | 国产精品国产三级国产有见不卡 | 国产一区二区三区自产周晓琳 | 国产桃色无码视频在线观看 | 99久久久国产精品免费无卡顿 | 久久精品国产免费观看三人同眠 | 色欲色香天天天综合vvv | 亚洲aⅴ欧洲av国产综合图片 | 国产第3页 | 香蕉视频二区 | 国产麻豆精品精东影业av网站 | 精品亚洲国产成人蜜臀av | 国产女人的高潮大叫毛片 | 亚洲色成人网站www永久四虎 | 久久综合伊人 | 午夜三级网站 | 天天综合网久久综合免费人成 | 国产精品久久久久久欧美 | 99久久综合狠狠综合久久 | 国产成人精品怡红院在线观看 | 久久成人免费观看 | 妇女伦子伦视频高清在线 | 欧美美女视频网站 | 国产高清无套内谢 | 婷婷综合缴情亚洲狠狠小说 | 久草视频在线免费 | 国产精品夜夜春夜夜爽久久老牛 | 国产亚洲精品无码不卡 | 国产成人无码a区在线观看视频app | 久草加勒比 | 亚洲一区综合 | 亚洲2022国产成人精品无码区 | 青青久在线视频免费观看 | 极品少妇在线观看 | 特大巨黑吊xxxx高潮 | 泄欲的丰满少妇激情 | 亚洲伊人久久大香线蕉av | 日韩va亚洲va欧美va久久 | 国产精品一区在线观看你懂的 | 伊人宗合 | 尤物视频在线播放 | eeuss日韩 | 国产免费av片在线 | se333se亚洲精品 | 人妻三级日本香港三级极 | 欧美高清熟妇啪啪内射不卡自拍 | 欧美资源网 | 久久天天躁狠狠躁夜夜2020 | 亚洲国产美女精品久久久 | 日日夜夜撸啊撸 | 黑人太粗太深了太硬受不了了 | 精品第一国产综合精品aⅴ 亚洲免费视频观看 | 激情欧美在线观看 | 又黄又猛又爽大片免费 | 2021年国产精品专区丝袜 | 国产福利视频一区二区三区 | 体内排精日本人 | 秋霞鲁丝片一区二区三区 | 久久黑丝 | 亚洲欲妇| 欧美制服丝袜亚洲另类在线 | 国产精品天美传媒沈樵 | www.色播| 欧美久久久久久久高潮 | 一区二区三区毛片 | 亚洲欧美国产精品 | 久久国产乱子伦免费精品无码 | 午夜资源站 | 无码国模大尺度视频在线观看 | 色综合久久久无码中文字幕波多 | 日本一级黄色毛片 | 日本怡红院视频www色 | 精东影业毛片 | 日本国产欧美 | 精品国产乱码久久久久久果冻传媒 | 97黄色片 | 国产色自拍 | 2019nv天堂香蕉在线观看 | 一本色道久久综合亚洲 | 国产乱码精品一区二区三区四川人 | 天天操夜操| 国产欧美一区二区三区不卡视频 | 欧美成人午夜影院 | 丰满迷人的少妇特级毛片 | 亚洲女久久久噜噜噜熟女 | 一级国产特黄bbbbb | 亚洲av片毛片成人观看兔费 | 欧美国产亚洲精品 | 99久久夜色精品国产亚洲1000部 | 欧美日日夜夜 | 日韩人妻无码精品专区 | 青青视频二区 | 久久99久久久 | 青春草在线免费视频 | 成年网站免费在线观看 | 国产真实交换配乱淫视频, 日韩欧美无 | 日本一区二区三区高清无卡 | 亚洲一区二区三区无码影院 | 99久久夜色精品国产亚洲96 | 日日操影院 | 婷婷午夜天 | 欧洲av一区二区三区 | 毛片手机在线观看 | 国产成人美女视频网站 | 俄罗斯少妇性xxxx另类 | 在线观看www | 男女午夜激情视频 | 亚洲另类丝袜综合网 | 日韩每日更新 | 免费国产a级片 | 日本一区二区三区在线观看 | 青草av.久久免费一区 | 久久久av男人的天堂 | 亚洲色av影院久久无码 | 免费男人下部进女人下部视频 | 六月丁香综合在线视频 | 97精品亚成在人线免视频 | 国产乱人伦av麻豆网 | 成人在线观看污 | 亚洲性线免费观看视频成熟 | 永久免费无码国产 | 欧美h在线观看 | 亚洲天堂婷婷 | 一个人看的视频www在线 | 欧美综合亚洲图片综合区 | 欧美日韩免费一区中文 | 国产精品视频啪啪 | 性网站在线观看 | 三年中国中文在线观看视频 | 国产好爽又高潮了毛片91 | 久久伊人少妇熟女大香线蕉 | 免费毛片在线 | 在线a网 | 医院人妻闷声隔着帘子被中出 | 国产三级久久久久 | 乱子伦av无码中文字 | 久久午夜夜伦鲁鲁片免费无码影视 | 日韩三级不卡 | 宅男噜噜噜66网站高清 | 国语女技师按摩服务对白 | 亚洲伊人久久综合影院 | 青视频在线 | 免费无码毛片一区二区app | 香蕉1024| 五月在线 | 国模杨依粉嫩蝴蝶150p | 午夜精品久久久久久久传媒 | 亚洲国产成人熟透妇女 | 红桃视频国产 | 欧美激情 亚洲 | 亚洲国产欧美一区点击进入 | 小黄鸭精品密入口导航 | 免费三片在线视频 | 欧美亚洲色欲色一欲www | 亚洲国产制服丝袜先锋 | 国产人成看黄久久久久久久久 | 4444亚洲人成无码网在线观看 | 中国一级特黄毛片大片久久 | 无码精品国产dvd在线观看久9 | 国产专业剧情av在线 | 老司机导航亚洲精品导航 | 娇妻玩4p被三个男人伺候电影 | 中文字幕人妻偷伦在线视频 | 国产一区二区网站 | 粉嫩被粗大进进出出视频 | 国产啪精品视频网站丝袜 | 欧美三日本三级少妇三99r | 人人干日日操 | 黄色α片| 亚洲欧美国产制服图片区 | 欧美久草 | 97se亚洲国产综合自在线不卡 | 800av在线播放| 多毛丰满日本熟妇 | 伊人3 | 骚动漫十八禁在线观看 | 国产成人精品午夜2022 | 日韩第一页在线 | 免费国产a国产片高清网站 午夜精品成人一区二区视频 | 18禁无遮挡无码网站免费 | 性xxxx欧美老妇胖老太269 | 欧美激情小说视频 | 日本成人在线免费视频 | 色香欲天天影视综合网 | 国产麻豆精品在线观看 | 精品国产一区二区三区四区精华液 | 亚洲精品久久久久中文第一暮 | 午夜爽爽爽男女免费观看一区二区 | 性猛交xxxxx富婆免费视频 | 久色91蜜桃tv | 夜久久 | 色婷婷综合久久中文字幕雪峰 | 午夜伦理影视 | 中文字幕少妇在线三级hd | 成人永久免费网站在线观看 | 成人午夜片av在线看 | 黄网站成人片免费视频 | 国产精品高清网站 | 久久久鲁鲁鲁 | 中文字幕人妻被公上司喝醉在线 | 欧美天堂久久 | 精品无码中文视频在线观看 | 国产裸体美女视频全黄扒开 | 国产精品无套内射迪丽热巴 | 日韩福利影院 | 欧美aaaaa喷水| 国产精品成人嫩草影院 | 日韩午夜久久 | 人人爽人人草 | 久久久亚洲精品一区二区三区浴池 | 97se亚洲国产综合自在线尤物 | 人妻少妇乱孑伦无码专区蜜柚 | 国产成a人亚洲精v品在线观看 | 人与禽性视频77777 | 成人性生交大片免费看在线播放 | 久久网站免费看 | 色在线免费 | 国产亚洲成年网址在线观看 | 免费无码又爽又刺激高潮虎虎视频 | 黄色成年人 | 中文字幕久久精品波多野结百度 | 久久日本片精品aaaaa国产 | 亚洲中文字幕日本在线观看 | 不卡欧美 | 天天干干 | 国产日韩在线精品av | 亚洲人成在线免费观看 | 欧美人善z0zo性伦交高清 | 日本久操 | 性高朝大尺度少妇大屁股 | 国产欧洲亚洲 | 青青视频免费在线观看 | 欧美人与性动交a欧美精品 琪琪午夜伦埋影院77 | 男女啪啪十八 | 99精品国产福利一区二区 | 日本aa大片| 无码东京热一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 国产一区二区免费 | 收集最新中文国产中文字幕 | 欧美日韩色图 | 久久精品国产福利一区二区 | 一区二区三区四区高清视频 | 欧美日韩成人一区 | 国产一区二区中文字幕 | 伊人黄色 | 噜噜色.com | 久久99精品久久久久久秒播九色 | 亚洲肥妇| 一区二区精品久久 | 国产综合av在线 | 国偷自产一区二区免费视频 | 伊人网亚洲 | 久热亚洲| 久久人人97超碰国产公开 | 精品无人区卡卡二卡三乱码 | 香蕉久草在线 | 各种少妇正面着bbw撒尿视频 | 国产免费乱淫av | 天海翼视频在线观看 | 国产精品青草综合久久久久99 | 国产欧美亚洲精品第1页 | 四虎影院免费视频 | 91免费黄视频 | 国产亚洲精久久久久久无码77777 | 制服国产欧美亚洲日韩 | 天天射天天干天天爽 | 国产成人午夜福利在线小电影 | 国产一级a毛片视频爆浆 | 国产精品亚洲五月天高清 | 夜av| 欧美一及片 | 国产成人无码免费视频97 | 成人性视频在线播放 | 久久久久久久久久久久久女国产乱 | 日韩色图视频 | 久久福利影院 | 欧美激情图区 | 欧美三日本三级少妇三99 | 天堂精品在线 | 免费国产在线精品一区不卡 | 亚洲多毛妓女毛茸茸的 | 国产成人免费视频精品含羞草妖精 | 女女同性av片在线播放免费 | 久久亚洲国产成人精品无码区 | 色综合99久久久无码国产精品 | 极品少妇av | 日韩一区观看 | 国内少妇高潮嗷嗷叫正在播放 | 亚洲第一天堂av | 日韩、欧美、亚洲综合在线 | 成人两性视频 | 午夜裸体性播放 | 999久久久免费精品播放 | 国产精品99久久久久人中文网介绍 | 中文字幕黄色片 | 成在人线av无码免观看午夜网 | 色偷偷av亚洲男人的天堂 | 国产一级二级av | 一本大道在线观看无码一区 | 亚洲成av人片天堂网久久 | 久久人人爽人人爽人人片av麻烦 | 大香伊蕉在人线国产最新75 | 亚洲国产清纯 | 亚洲精品久久久久久下一站 | 国产亚洲欧美视频 | 搡国产老太xxx网站 第一福利在线视频 | 无码专区一ⅴa亚洲v专区在线 | 自拍三区 | 国产又爽又黄又湿免费99 | 天天躁夜夜躁狠狠久久 | 国产视频亚洲一区 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 91看片在线观看 | 精产嫩模国品一二三区 | www.av88| 丝袜足脚交在线播放 | 国产成人涩涩涩视频在线观看 | 黑人巨大精品欧美 | 国产区第一页 | 色综合久久88色综合天天6 | 天堂最新版在线www 岛国av在线免费观看 | 精品韩国一级久久 | 国产精品第一国产精品 | 人人爽天天碰狠狠添 | 我想看一级黄色毛片 | 亚洲成年人av | 一级片国产 | 视频精品一区 | 欧美性吧| 91美女精品 | 色涩av| 成人精品免费视频在线观看 | 久久久久久美女 | 草草影院发布页 | 真实国产乱子伦对白在线播放 | 亚洲成av人在线播放无码 | 欧美一区二区三区在线观看 | 日本道二区免费v | 国产福利视频 | 小婷性开放肉日记高h视频 国产黑丝一区二区 | 欧美丝袜丝交video | 成人免费精品网站 | 五月天丁香视频 | 99riav在线| 国产精品乱码一区二区三区视频 | 国产1区2 | 美女少妇网站 | 亚洲亚洲熟妇色l图片20p | 亚洲美女高清aⅴ视频免费 91五月色国产在线观看 | 欧美巨鞭大战丰满少妇 | 亚洲乱色 | 最新av网址在线观看 | 一区=区三区乱码 | 99久久久99久久国产片鸭王 | 成人三级在线 | 熟女少妇a性色生活片毛片 玩弄丰满少妇xxxxx性多毛 | 免费人妻无码不卡中文字幕系 | 日日噜噜夜夜爽 | 亚洲精品久久蜜桃站 | 内射气质御姐视频在线播放 | 五月婷婷丁香色 | 久久理论片午夜琪琪电影院 | 99免费在线视频 | 国产一区二区三区免费播放 | 伊人天天久大香线蕉av色 | 欧美理论片在线观看 | 日韩欧美卡一卡二卡新区 | 俄罗斯做爰性xxx | 日本91在线 | 久久99精品久久久久久秒播放器 | 国产精品三级一区二区 | 亚洲中文字幕无码久久2017 | 无码av无码天堂资源网 | 少妇影院在线观看 | 波多野结衣免费一区视频 | 永久免费无码国产 | 国产在线aaa片一区二区99 | 天干夜天干天天天爽视频 | 亚洲熟妇自拍无码区 | 欧美色偷拍 | 性ⅹⅹxxx瑜伽| 色婷婷香蕉在线一区 | 一二三四日本中文在线 | 亚洲综合久久成人a片 | av片免费看 | 日日草| 国产看黄网站又黄又爽又色 | 免费在线观看日本 | 日本毛片在线 | 欧美日韩一级二级 | 亚洲精品高潮呻吟久久av | 黄色不卡 | 国产在线xxxx | 日日嗨av一区二区三区四区 | 欧美成人一区二区三区 | 亚洲成年电人电影 | 麻豆国产va免费精品高清在线 | av手机版 | 亚洲精品久久久蜜桃网尤妮丝 | 精品www久久久久奶水 | 国产精品视频一区二区三区无码 | 狠狠躁18三区二区一区张津瑜 | 青青草原综合久久大伊人精品 | 成人无码av片在线观看 | 久久亚洲欧美日韩精品专区 | 超碰中文在线 | 四库影院永久国产精品地址 | 天天摸天天 | 7777久久久国产精品 | 男人扒开女人双腿猛进免费视频 | 中日韩乱码一二新区 | 97精产国品一二三产区在线 | 日本不卡视频在线播放 | 国产乱人伦偷精品视频下 | 成人午夜高潮免费视频在线观看 | 欧美日韩在线免费播放 | 人人爽久久涩噜噜噜丁香 | 在线视频观看你懂的 | аⅴ天堂最新版在线中文 | 久久精品亚洲综合专区 | 狠狠色狠狠综合久久 | 日韩色一区 | 欧美潮喷少妇100 | 久国产| 国产在线拍揄自揄拍免费下载 | 久久不卡区 | 狠狠色噜噜狠狠狠狠五月婷 | 国产成本人片无码免费 | 国内一级大片 | 国产一二三四ts人妖 | 天天av在线播放 | 香蕉在线网站 | 伊人久久大香线蕉av专区性呦 | 久久国产激情 | 中文字幕福利片 | 日本猛少妇xxxxx猛叫爽 | 欧洲vi一区二区三区 | 影音先锋在线视频 | 国产乱肥老妇国产一区二 | 成人无码视频97免费 | www插插插无码免费视频网站 | 一二三区在线视频 | 国产成人无码a区在线观看导航 | 三级免费网站 | 精品国产一区二区三区久久久 | 国产色视频一区二区三区 | 日本欧美在线观看视频 | 欧美a√在线 | 午夜福利试看120秒体验区 | 男女啪啦猛视频免费 | 国产精品国产三级在线专区 | 天天插日日干 | 久久精品国产99国产精品严洲 | 99久久免费国产精品四虎 | 欧美成人精品二区三区99精品 | 老外的一级大黄色毛片 | 伊人久久九 | 日韩欧美一区二区三区四区 | 丁香色欲久久久久久综合网 | 天天操导航| 一本色道婷婷久久欧美 | 青青草针对华人 | 亚洲欧美精品伊人久久 | 一本色道久久综合亚洲 | 国产精品无码综合区 | 一本一道久久综合久久 | 国产成a人亚洲精品无码久久网 | 色噜噜亚洲男人的天堂 | 亚洲色欲av无码成人专区 | 亚洲人成电影在线播放 | 亚洲成人动漫在线观看 | 亚洲国产成人精品女人 | 少妇高潮久久久久久潘金莲 | 国产高清精品软件丝瓜软件 | 欧美乱妇无乱码大黄a片 | 亚洲制服丝袜中文字幕在线 | 国产猛男猛女超爽免费视频网站 | 色视频久久 | 亚洲精品视频免费 | 人人妻人人澡人人爽曰本 | 麻豆精品一区二区三区在线观看 | 黄色片在线观看视频 | 天天爽夜夜爽夜夜爽精品视频红桃 | 国内大量偷窥精品视频 | 色拍拍国产精品视频免费观看 | 亚洲最大av网站 | 亚洲人成人77777网站 | 亚洲免费人成视频观看 | 久久久嫩草 | 国产美女色诱视频又又酱 | 国产精品自拍视频一区 | 国产日本精品视频 | 男女爽爽午夜18污污影院 | 卡一1卡2卡三卡4卡精品网站 | 大香交伊人 | 日韩欧美在线一区 | 国产成人a在线视频免费 | 久久久久综合精品福利啪啪 | 肥臀浪妇太爽了快点再快点 | 精品九九视频 | 99超碰在线观看 | 91人人澡人人爽人人精品 | 乱中年女人伦av二区 | 黄色一级视频网 | 久久久久77777人人人人人 | 西川结衣av | 国产又粗又猛又爽又黄的视频一 | 国产精品久久久久9999鸭 | 国产精品久久国产三级国不卡顿 | 强制中出しバス痴汉在线观看 | 亚洲第一影视 | 婷婷色综合aⅴ视频 | 日韩中文字幕在线视频观看 | 18禁真人抽搐一进一出免费 | 久久精品毛片免费观看 | 久久影院午夜伦手机不四虎卡 | 国产女人叫床高潮大片 | 日韩欧美性视频 | 日韩欧美精品有码在线洗濯屋 | 人人澡 人人澡 人人看欧美 | 亚洲精品成人网站在线 | 97亚洲欧美国产网曝97 | 性夜影院午夜看片 | 人妻中文字幕无码专区 | 女同志亚洲人在狂欢 | 亚洲 欧美 中文字幕 | 久久国产免费直播 | 91精品国产91久久久 | 日韩欧美黄色 | 一级黄色片子免费看 | 韩国一区二区在线观看 | 玖玖玖精品 | 国产成人片无码免费视频软件 | 久久亚洲天堂 | 人人爱天天操 | 成人黄色在线观看 | 中文字幕高清免费日韩视频在线 | 狠狠操夜夜爽 | 91九色蝌蚪 | 亚洲 欧美 国产 日韩 中文字幕 | 日本三级视频在线 | 亚洲中文字幕无码专区 | 天天爽夜夜爽人人爽从早干到睌 | av色欲无码人妻中文字幕 | 乱人伦人成品精国产在线 | 亚洲v天堂v手机在线 | 曰本女人牲交高潮视频 | 欧美日韩a级片 | 欧美亚洲福利 | 国产午夜亚洲精品午夜鲁丝片 | 亚在线第一国产州精品99 | 免费在线观看你懂的 | 亚洲精品国产精品乱码不97 | 女同性恋毛片 | www国产一区| 一区二区精彩视频 | 中文版在线乱码在线看 | 国色天香婷婷综合网 | 无码人妻丰满熟妇啪啪欧美 | 免费看男女做羞羞的事网站 | 久久国产精品-国产精品 | 国产精品h | 亚洲无卡| 免费看女人与善牲交 | 亚洲欧洲日产国码av系列天堂 | 人妻无二区码区三区免费 | 尤物精品国产第一福利网站 | 黄色91在线观看 | 亚洲日韩欧美国产高清αv 欧美成人一区在线 | 亚洲国产精品无码久久一区二区 | 精品毛片一区二区免费看 | 久久久天堂 | 亚欧美无遮挡hd高清在线视频 | 四虎精品一区二区免费 | 国产亚洲精品久久久久婷婷图片 | 日本黄色特级片 | 91免费黄视频 | 操婷婷 | 99久在线国内在线播放免费观看 | 熟睡人妻被讨厌的公侵犯 | 在线 国产 欧美 亚洲 天堂 | 欧美成人免费在线观看视频 | 人妻熟妇乱又伦精品视频中文字幕 | 欧美熟妇性xxx交潮喷 | 日韩精品少妇 | 乌克兰少妇xxxx做受野外 | 国产精品热| 99re免费视频国产在线播放 | 亚洲欧美日韩一区二区三区四区 | 天海翼一区二区三区四区在线观看 | 男人扒开女人腿桶到爽免费 | 国产一极内射視颍一 | 亚洲男人天堂网 | 香蕉视频在线免费播放 | 国产拍揄自揄免费观看 | 日本精品视频在线播放 | 久久人人97超碰人人澡爱香蕉 | 国产高清一区二区三区 | 偷窥自拍五月天 | 免费999精品国产自在现线 | 精品国产一区二区三区久久久久久 | 精品国产肉丝袜久久首页 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 一本色道久久亚洲综合精品蜜桃 | 亚洲国产日产无码精品 | 亚洲九九 | 人妻与老人中文字幕 | 亚洲欧美激情在线一区 | 葵司有码中文字幕二三区 | 色94色欧美sute亚洲线路一 | 激情综合婷婷丁香五月俺来也 | 色欲av无码无在线观看 | 国产欧美日韩va另类影音先锋 | 国产精品 人妻互换 | 中文字幕精品在线 | 国产精品18久久久久久久网站 | 欧美,日韩,国产精品免费观看 | 亚洲综合激情五月丁香六月 | 丰满少妇高潮惨叫久久久一 | 久久舔 | 亚洲国产精品久久久久网站 | 国产成人精品自在钱拍 | www.夜夜操 | 亚洲欧美日韩v在线观看不卡 | 日日日日做夜夜夜夜无码 | 成年在线观看免费视频 | 免费在线观看的av | 日韩亚洲精品视频 | 亚洲在线激情 | 6080yyy午夜理论片中无码 | 日韩精品人妻av一区二区三区 | 日本免费精品一区二区三区 | 久色tv | 国产tv在线 | 精品国产乱码久久久人妻 | 亚洲欧美人色综合婷婷久久 | 色香欲天天影视综合网 | 在线不卡aⅴ片免费观看 | 人人妻人人插视频 | 4hu最新地址 | 丰满少妇被粗大的猛烈进出视频 | 毛片一二三区 | 少妇精品偷拍高潮白浆 | 91久久人澡人人添人人爽欧美 | 中文国产乱码在线人妻一区二区 | 一区二区三区高清视频一 | 国产精品久久久久久久久久久久午夜片 | 狠狠亚洲超碰狼人久久 | 国产人成网线在线播放va | 日日躁夜夜躁狠狠久久av | 久久中文精品无码中文字幕 | 毛片自拍 | 国产成人无码精品久久二区三区 | 夜夜嗨av一区二区三区免费区 | 人妻少妇无码精品视频区 | 无码被窝影院午夜看片爽爽jk | 艳妇荡女欲乱双飞两中年熟妇 | 天堂中文а√在线 | 国产精品人妻在线观看 | 风韵犹存丰满大屁股熟妇 | 久久99这里只有是精品6 | 欧美三级少妇高潮 | 人妻精品久久久久中文字幕69 | 欧美色综合久久 | 天干天干啦夜天干天2017 | 99久久婷婷| 日日噜噜夜夜狠狠久久波多野 | 又大又黄又粗又爽的免费视频 | 日本天堂在线 | 无码毛片视频一区二区本码 | 久久亚洲色图 | av网址网站 | 色一欲一性一乱—区二区三区 | 久久伊人精品影院一本到综合 | 99爱色| 日韩avwww | 国产精品天天看特色大片 | 一本一道av无码中文字幕 | 无码少妇a片一区二区三区 999久久久国产999久久久 | 特级毛片在线 | av片网址 | 成人在线不卡视频 | 亚洲国产精品久久久久婷婷图片 | 男人j进女人p免费视频 | 狠狠躁夜夜躁人人爽天天天天97 | 亚洲大胆人体 | 少妇精品噜噜噜噜噜av | 成年美女黄网站色奶头大全 | 狠狠摸狠狠澡 | 亚洲成年人 | 人人插人人插人人爽 | 亚洲精品一区二区三区新线路 | 国产成人综合在线女婷五月99播放 | 亚洲另类激情小说 | 18禁h免费动漫无码网站 | 精品含羞草免费视频观看 | 哺乳溢出羽月希中文字幕 | 韩国黄色片网站 | 秋葵视频成人 | 日韩欧美精品中文字幕 | 一区二区在线观看免费视频 | 东京热人妻丝袜无码av一二三区观 | 欧美a在线观看 | 日韩午夜理论片 中文字幕 国产乱码卡二卡三卡4 | 欧美高清v | 欧美一级理论片 | 在线观看中文字幕视频 | 欧美国产一区二区三区 | 成人免费毛片内射美女app | 性欧美在线视频 | 亚洲美女奶水好多 | 亚洲中文字幕日本无线码 | 久久综合精品国产一区二区三区无码 | 99久久久99久久国产片鸭王 | 男女又色又爽又爽视频 | 色诱视频在线观看 | 亚洲国产精品va在线观看香蕉 | 国产一级自拍视频 | 深夜国产一区二区三区在线看 | 国产精品aⅴ免费视频 | 久久躁狠狠躁夜夜av麻豆 | 夜夜躁很很躁日日躁2020铜川 | 亚洲精品久久久久久久久久久捆绑 | 夜色av网站 | 蜜桃麻豆www久久国产sex | 欧美丰满一区二区免费视频 | 日日摸天天摸爽爽狠狠97 | 日韩网红少妇无码视频香港 | www.五月婷 | 97精品国产91久久久久久久 | 国产精品卡1卡2卡三卡四 | 艹逼逼污视频 | 亚洲va久久久噜噜噜久久男同 | 欧日韩无套内射变态 | 亚洲成a人片在线观看中文无码 | 午夜神马影院dy888亚洲精品 | 精品无码国产不卡在线观看 | 欧美浪妇xxxx高跟鞋交 | 中文字幕第56页 | 久久免费看少妇a高潮一片黄特 | 亚洲午夜一区二区 | 国产精品乱子乱xxxx | 婷婷97狠狠成人免费视频 | 欧美91看片特黄aaaa | 夫妻啪啪呻吟x一88av | 91精品国产一二三 | 欧美大片在线观看 | 九九久久99 | 国产成人精品亚洲日本在线观看 | 日本肉体xxⅹ裸体交 | 久久九九精品国产综合喷水 | 久热re这里精品视频在线6 | 日本九九热在线观看官网 | 最近中文字幕在线观看 | 一区二区三区国产在线观看 | www.男人天堂 | 99久久精品6在线播放 | 久久wwww| 日韩欧美国产三级 | 国产精品久久久久aaaa | 8090yy成人免费看片 | 在线成人一区 | 少妇丰满日韩偷拍欧美 | 亚洲春色在线 | 国产精品成人影院在线观看 | 亚洲欧美成人中文日韩电影网站 | 99精品欧美一区二区三区视频 | 亚洲熟妇无码一区二区三区 | 88xx成人精品视频 | 成人免费毛片偷拍 | 免费在线播放黄色 | 国产亚洲精品久久久久久武则天 | q2002日韩午夜伦高清 | 亚洲二区一区 | 天天槽夜夜槽槽不停 | 青青草成人免费视频在线观看 | 国产全国探花系列 | 67194欧洲少妇午夜啪啪 | av边做边流奶水无码免费 | 国产女人高潮视频在线观看 | 丰满岳妇乱中文字幕 | 亚洲三级小说 | 欧美激情xxxx性bbbb | 男人和女人上床的视频 | 亚洲蜜臀av乱码久久精品 | 天天综合网天天综合狠狠躁 | 亚洲欧美日韩精品一区二区 | 色老板精品无码免费视频 | 欧美女人性生活视频 | 国产精品国产自产拍高清av王其 | 久久久国产一级片 | 亚洲国产精品无码一区二区三区 | 国产一区二区三区久久久久久久久 | 精品国产乱码久久久久久影片 | 亚洲 欧美 中文 日韩aⅴ手机版 | 国产欧美精品一区二区三区-老狼 | 亚洲免费av一区二区 | 1000部拍拍拍18勿入免费视频 | 国产欧美高清视频 | 欧美黑人又粗又大高潮喷水 | 精品国产乱码久久久久久虫虫 | 天天狠天天插 | 97精品久久 | 超碰cao草棚gao进入蜜桃 | 国产精品18久久久久久欧美 | 色国产在线视频 | 秋霞国产精品一区二区 | 国产精品久久久久久不卡盗摄 | 国产三级在线视频 一区二区三区 | 久草久草久草久草 | 国产又色 | 亚洲国产另类久久久精品网站 | 好吊色在线| 亚洲第一无码精品一区 | 一本久久a久久免费精品不卡 | аⅴ资源天堂资源库在线 | 亚洲男人天堂2023 | 伊人久久大香线蕉综合中文字幕 | 看一级黄色片 | 一本色道a无线码一区v | 久久久久久久9999 | 青草视频在线观看免费 | 成人自拍视频在线观看 | 97免费人妻无码视频 | 免费av中文字幕 | 国产日产欧产精品精品app | 人妻被按摩到潮喷中文字幕 | 2019久久久高清456 | 黄色天天影视 | 在线看日本 | 色悠久久久久久久综合网伊人 | 另类欧美亚洲 | 久久久久成人片免费观看r 亚洲一区 国产 | 动漫美女h黄动漫在线观看 亚洲精品久久久日韩美女图片 | 狠狠色丁香久久综合婷婷 | 91嫩草国产露脸精品国产 | 欧美日韩免费在线观看 | 熟女少妇色综合图区 | 亚洲色大成网站www看下面 | 日本久久久 | 国内揄拍国产精品人妻电影 | www.操| 成年无码按摩av片在线观看 | 天堂av2019| 毛片无码一区二区三区a片视频 | 亚洲wwwww | 欧美老熟妇乱大交xxxxx | 国产不卡免费视频 | 亚洲精品无码mv在线观看 | 久久黄色小说 | 人妻精品人妻无码一区二区三区 | 国产又粗又猛又大爽又黄老大爷视频 | 美女国产精品视频 | 午夜精品久久久久久久久 | 午夜视频91 | 北条麻妃在线一区二区 | 国模欣谣大尺度啪啪人体 | 久久精品国产99国产精品导航 | 在线播放侵犯新任女学生 | 国产毛片一区二区精品 | 乱码精品一卡二卡无卡 | 国内精品久久久久久久小说 | 精品一区不卡 | 亚洲精品成人无码影院 | 亚洲熟女乱色综合一区小说 | 亚洲xxxxxxxxx | 亚洲国产日韩在线人高清 | 成人毛片av免费 | 国产精品亚洲一区二区 | 影音先锋中文无码一区 | 精品国产一区二区三区在线 | 欧美大喷水吹潮合集在线观看 | 国产精品综合久久久精品综合蜜臀 | 日本无遮挡吸乳呻吟免费视频网站 | 18成人免费观看视频 | 国产欧美日韩高清在线不卡 | 久草色香蕉 | 好爽…又高潮了毛片免费看 | 日本久久综合网 | 九九久久精品国产波多野结衣 | 天天av天天翘 | 欧美日本国产精品 | 日日日日做夜夜夜夜无码 | 亚洲精品午夜一区人人爽 | av在线男人天堂 | 粗大的内捧猛烈进出看视频 | 香蕉超碰 | 90后极品粉嫩小泬20p | 欧美日韩国产中文高清视频 | 日本免费一二区 | 亚洲九九在线 | 午夜爽爽爽男女免费观看hd | 亚洲全国最大的人成网站 | 热99精品视频 | 天天拍天天爽 | 久久久青草青草免费看 | 无码av中文一区二区三区 | 美女视频黄a是视频大全国产 | 日韩中文字幕无砖 | 亚洲中文字幕无码中文字 | 中国娇小与黑人巨大交 | 国产仑乱无码内谢 | 最爽free性欧美人妖 | 99精品欧美一区二区三区视频 | 免费爆乳精品一区二区 | 国产农村妇女精品一区 | 国产精品无码专区第一页 | 99久| 日本一区二区三区视频在线观看 | 国产精品福利在线观看无码卡一 | 午夜三级理论 | 免费观看潮喷到高潮大叫网站 | 看全色黄大色黄大片大学生 | 国产精品30p| 久久黄色网址 | 在线观看欧美激情 | 99精品久久久中文字幕 | 五月天激情综合网 | 久久人人97超碰国产精品 | 在线观看国产三级 | 免费午夜视频在线观看 | 久操网在线 | 99热久久精品免费精品 | 午夜dy888国产精品影院 | 色噜噜狠狠色综合久 | 亚洲美女撒尿毛茸茸 | 五月婷婷久久久 | 欧洲女人牲交视频免费 | 亚欧洲精品在线视频免费观看 | 色先锋资源网 | 国产精品一区二区无线 | 青草青草久热国产精品 | 日韩精品a片一区二区三区妖精 | 国产免费人成视频在线播放播 | 超碰色偷偷 | 日韩高清亚洲日韩精品一区二区三区 | 欧美www| 国产美女精品视频线免费播放软件 | 久久久免费无码成人影片 | 色婷婷av一区二区三区软件 | 午夜免费啪视频在线观看区 | 亚洲欭美日韩颜射在线 | 色视频免费| 又粗又色又爽一区二区三区 | 爆乳2把你榨干哦ova在线观看 | 丁香激情婷婷 | 青青福利视频 | 日韩视频导航 | 久久这里有精品国产电影网 | 久久婷婷亚洲 | 亚洲a在线观看无码 | 黄色一级视频在线 | 国产三级在线看 | 开心激情站 | 色综合国产| 三级男人添奶爽爽爽视频 | 成人国产精品入口免费视频 | 免费观看黄a片在线观看 | 亚洲色帝国综合婷婷久久 | 亚洲精品乱码久久久久久 | 国内精品少妇在线播放 | 中国大陆精品视频xxxx | 人妻无码中文久久久久专区 | 国产日韩一区二区三免费高清 | 日本肉体做爰猛烈高潮全免费 | 50岁熟妇大白屁股真爽 | 超碰成人97 | 久久婷婷是五月综合色 | 久久久久av无码免费网 | 大人和孩做爰av | 欧美交换乱淫粗大 | 国产精品成人av在线观看 | 97色精品视频在线观看 | 国产在线视频你懂的 | 九久久久久 | 成人精品一区日本无码网站 | 在线成人激情视频 | 最新av片 | 在线观看日韩中文字幕 | 成人高潮片免费网站 | 国产做a爰片久久毛片a片 | 午夜精品视频在线无码 | 国产∨亚洲v天堂无码久久久 | 性色av香蕉一区二区 | 色欧美88888久久久久久影院 | 6080yy伦理亚洲第一区 | 婷婷网站天天婷婷网站 | 开心五月综合亚洲 | 99re66热这里只有精品8 | 蜜臀av无码精品人妻色欲 | 丰满妇女毛茸茸刮毛 | 伊人97 | 亚洲高潮av | 熟女丝袜潮喷内裤视频网站 | 亚洲va欧美va天堂v国产综合 | 尹人av| 国产精东天美av影业传媒 | 亚洲精品久久久久久久久毛片直播 | 国产成人av三级在线观看按摩 | 久久天天躁狠狠躁夜夜躁app | 色综合天天天天做夜夜夜夜做 | 超碰九九 | 久久精品亚 | 91精品系列| 亚洲最大天堂无码精品区 | 成人免费久久 | 色噜噜色噜噜 | 国产一道本 | 亚洲影视在线观看 | 丰满岳跪趴高撅肥臀尤物在线观看 | 欧美激情在线观看视频 | 天天射天天日本一道 | 91九色最新| 亚洲国产综合无码一区 | 狠狠躁夜夜躁人爽 | 欧美一区二区三区成人片在线 | 五月婷婷小说 | 亚洲成在人线av中文字幕喷水 | 亚洲人成在线播放 | 精品国产偷窥一区二区 | 天天碰天天碰 | 朝鲜美女黑毛bbw | 国产第一草草影院 | 免费在线观看不卡av | 亚洲人成网线在线播放va | 欧洲精品码一区二区三区免费看 | 日韩一级特黄aa大片99视频 | 午夜激情在线观看视频 | 一级女人18片毛片蜜桃av | 亚洲人成网站999久久久综合 | 欧美成人精品一区二区综合 | 老司机伊人 | 精品国产一区二区三区四区vr | www.在线视频| 亚洲一级免费在线观看 | 中文字幕aⅴ在线视频 | 欧美国产日韩a欧美在线观看 | 国产chinesehdxxx宾 | 久草原精品资源视频 | 97自拍偷拍 | 成人aaa片一区国产精品 | 欧美成人一区二区三区片免费 | 乱码精品国产成人观看免费 | 精品国产乱码久久久久久夜深人妻 | 99久久精品费精品国产一区二区 | 亚洲乱亚洲乱妇在线观看 | 亚洲综合av网 | 亚洲a图| 久久国产乱子伦精品免费女人 | 深夜福利小视频在线观看 | 成人毛片18女人毛片免费 | 午夜男人网 | 一区二区视频网 | 黑人3p波多野结衣在线观看 | 99久久er热在这里只有精品15 | 精产国品一区二区三产区 | 精品久久久中文字幕二区 | 人人色在线视频播放 | 亚洲国产精品色一区二区 | 国产老妇伦国产熟女老妇视频 | 亚洲aⅴ精品一区二区三区91 | 国产精品www视频 | 成人激情视频网站 | 精品无码一区二区三区不卡 | 国产午夜在线视频 | 国产热re99久久6国产精品 | 亚洲精品久久久久久久久久久捆绑 | 一区二区三区在线 | 欧洲 | 成人影片在线播放 | 91嫩草影视 | 国产午夜亚洲精品一区 | 春药玩弄少妇高潮吼叫 | 久久婷婷色综合老司机 | 日韩欧美激情兽交 | 成人无码特黄特黄av片在线 | 中文字幕一二三区有限公司 | 亚洲线精品一区二区三区八戒 | 激情欧美成人 | 欧美日韩在线亚洲综合国产人 | 日韩偷拍一区二区 | 在线中文一区 | 中字在线 | 日韩精品在线免费播放 | 成在人线av无码免费看 | 蜜桃av麻豆av果冻传媒 | 国内精品久久久久久久日韩 | 久久久久人妻一区视色 | 免费无码成人av在线播放不卡 | 夜夜躁日日躁狠狠久久av | 亚洲高潮喷水无码av电影 | av性色在线乱叫 | 视频一区二区三区视频 | 日日操日日干 | 熟女乱中文字幕熟女熟妇 | 国产真实乱对白精彩久久小说 | 国产熟妇搡bbbb搡bb七区 | 国产欧美高清在线观看 | 无码aⅴ精品一区二区三区 高清一区二区三区四区 | 久久久综合视频 | 国产另类ts人妖高潮 | 哺乳媛交吃奶在线播放 | 国产日本精品 | 人人狠狠综合久久亚洲婷婷 | 久久中文字幕无码专区 | 国产亲子乱了中文 | 久久无码专区国产精品s | 无码国产玉足脚交极品网站 | 99在线精品视频免费观看20 | 国产无套粉嫩白浆内谢在线 | 亚洲国产字幕 | 欧洲熟妇性色黄在线观看免费 | 国产又粗又猛又黄 | 三级全黄做爰视频在线手机观看 | 一区二区三区在线视频免费观看 | 亚洲美女自拍偷拍 | 亚洲精品久久久久午夜aⅴ 色妞精品av一区二区三区 | 精品一区二区三区免费毛片爱 | 九热精品视频 | 人人玩人人添人人澡免费 | 91国内在线播放 | 欧美大浪妇猛交饥渴大叫 | 青青久草在线 | 国产经典三级av在线播放 | 欧美无人区码suv | 午夜性生活片 | 国产激情视频一区二区三区 | 三级黄色一级片 | 国产成人一区二区三区在线播放 | 国产成人欧美一区二区三区八 | 久久国产精品影院 | 操婷婷| 亚洲成国产人片在线观看 | 欧美激情视频一区二区三区 | av永久免费网站 | 亚洲成色在线综合网站2018 | 97精品超碰一区二区三区 | 色欲精品国产一区二区三区av | 国产成人黄色 | 亚洲成a人片在线观看高清 东方av正在进入 | 天堂网wwww| 国产亚洲欧美一区二区三区 | 一级免费看 | 女人高潮流白浆视频 | 国产猛男猛女无套av | 国产一区二区精品在线 | 欲香欲色天天天综合和网 | 國产一二三内射在线看片 | 亚洲熟妇无码乱子av电影 | 四虎国产精 | 一本久久a久久精品vr综合 | 丰满无码人妻热妇无码区 | av在线地址 | 欧美成人性生活视频 | www.麻豆视频 | 久伊人网 | 日韩人妻中文无码一区二区七区 | 能看的毛片网站 | 国产凹凸在线一区二区 | 7777精品伊人久大香线蕉软件 | 亚洲综合色站 | 天天综合视频 | 91爱爱影院 | 中文在线免费视频 | 国产黄网免费视频在线观看 | 亚洲三级在线视频 | 超清无码熟妇人妻av在线电影 | 最新中文字幕在线观看视频 | 日本九九热在线观看官网 | 91影音 | 日韩精品在线视频免费观看 | 中文字幕在线网址 | a狠狠久久蜜臀婷色中文网 天天干天天射天天舔 | 福利姬国产精品一区在线 | 欧美精品亚洲精品日韩精品 | 999久久久久久久久6666 | 业余 自由 性别 成熟视频 视频 | 国产成人精品999在线观看 | 国产欲妇 | 欧美日产欧美日产国产精品 | 色狠久久av北条麻妃081 | 欧美jiizzhd精品欧美 | 国产男人天堂 |