3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【无标题】数仓实战之亚马逊全球跨境电商分析平台

發布時間:2024/3/24 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【无标题】数仓实战之亚马逊全球跨境电商分析平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Sqoop框架
?--1. 驗證sqoop
cd /export/server/sqoop-1.4.7

bin/sqoop list-databases \
--connect jdbc:mysql://node1:3306/ \
--username root --password 123456


二、拉鏈表-Demo
-- 1、MySQL創建商品表
-- 創建數據庫?
CREATE DATABASE demo; -- 創建商品表?
create table if not exists demo.product(?
goods_id varchar(50), -- 商品編號?
goods_status varchar(50), -- 商品狀態?
createtime varchar(50), -- 商品創建時間?
modifytime varchar(50) -- 商品修改時間?
) ;?

--2、Hive-ODS層建表
-- 創建表
create database if not exists demo;

-- 創建ods層表
create table if not exists demo.ods_product(
? goods_id string, ? ? ? ?-- 商品編號
? goods_status string, ? ?-- 商品狀態
? createtime string, ? ? ?-- 商品創建時間
? modifytime string ? ? ? -- 商品修改時間
)
partitioned by (dt string) ? --按照天分區
row format delimited fields terminated by '\t';

--3、Hive dw層創建拉鏈表
-- 創建拉鏈表
create table if not exists demo.dw_product(
? goods_id string, ? ? ? ?-- 商品編號
? goods_status string, ? ?-- 商品狀態
? createtime string, ? ? ?-- 商品創建時間
? modifytime string, ? ? ? -- 商品修改時間
? dw_start_date string, ? -- 生效日期
? dw_end_date string ? ? ?-- 失效日期
)
row format delimited fields terminated by '\t';

--4、MySQL數據庫導入12月20日數據(4條數據)
insert into demo.product(goods_id, goods_status, createtime, modifytime) values
('001', '待審核', '2020-12-18', '2020-12-20'),
('002', '待售', '2020-12-19', '2020-12-20'),
('003', '在售', '2020-12-20', '2020-12-20'),
('004', '已刪除', '2020-12-15', '2020-12-20');

--5、使用sqoop進行全量同步MySQL數據到Hive ods層表,創建Hive分區,并導入mysql的數據
-- 創建分區
alter table demo.ods_product ?add ?partition (dt='2020-12-20');

--將mysql數據導入Hive
/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/demo \
--username root \
--password 123456 \
--table product \
--m 1 ?\
--delete-target-dir \
--fields-terminated-by '\t' \
--target-dir /user/hive/warehouse/demo.db/ods_product/dt=2020-12-20

--6 編寫SQL從ods導入dw當天最新的數據

-- 從ods層導入dw當天最新數據
insert overwrite table demo.dw_product
select
? goods_id, ? ? ? ? ? ? ? ?-- 商品編號
? goods_status, ? ? ? ? ? ?-- 商品狀態
? createtime, ? ? ? ? ? ? ?-- 商品創建時間
? modifytime, ? ? ? ? ? ? ?-- 商品修改時間
? modifytime as dw_start_date, ? ?-- 生效日期
? ?'9999-12-31' as dw_end_date ? ? -- 失效日期
from
? demo.ods_product
where
? dt = '2020-12-20';

--7、增量導入2019年12月21日數據- MySQL數據庫導入12月21日數據(6條數據)
--模擬更新數據
UPDATE demo.product SET goods_status = '待售', modifytime = '2020-12-21' WHERE goods_id = '001';
INSERT INTO demo.product(goods_id, goods_status, createtime, modifytime) VALUES
('005', '待審核', '2020-12-21', '2020-12-21'),
('006', '待審核', '2020-12-21', '2020-12-21');

--8、使用sqoop開發增量同步MySQL數據到Hive ods層表
--Hive創建分區
alter table demo.ods_product add ?partition (dt='2020-12-21');
--增量導入
/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/demo \
--username root \
--password 123456 \
--target-dir /user/hive/warehouse/demo.db/ods_product/dt=2020-12-21 \
--query "select * from product where modifytime = '2020-12-21' and \$CONDITIONS" \
--delete-target-dir \
--fields-terminated-by '\t' \
--m 1?

--8、編寫SQL處理dw層歷史數據,重新計算之前的dw_end_date

?app 層
?dw ?層 ?(2020-12-20) ? dw_product
?ods 層 ?(2020-12-20 、 2020-12-21)
-- 重新計算dw層拉鏈表中的失效時間
select
? t1.goods_id, ? ? ? ? ? ? ? ?-- 商品編號
? t1.goods_status, ? ? ? ? ? ?-- 商品狀態
? t1.createtime, ? ? ? ? ? ? ?-- 商品創建時間
? t1.modifytime, ? ? ? ? ? ? ?-- 商品修改時間
? t1.dw_start_date, ? ? ? ? ? -- 生效日期(生效日期無需重新計算)
? case when (t2.goods_id is not null and t1.dw_end_date > '2020-12-21')
? then '2020-12-21'
? else t1.dw_end_date
? end as dw_end_date ? ? ? -- 更新生效日期(需要重新計算)
from
? demo.dw_product t1
? left join
? (select * from demo.ods_product where dt='2020-12-21') t2
? ?on t1.goods_id = t2.goods_id

--9、合并當天最新的數據和歷史數據

insert overwrite table demo.dw_product
select
? t1.goods_id, ? ? ? ? ? ? ? ?-- 商品編號
? t1.goods_status, ? ? ? ? ? ?-- 商品狀態
? t1.createtime, ? ? ? ? ? ? ?-- 商品創建時間
? t1.modifytime, ? ? ? ? ? ? ?-- 商品修改時間
? t1.dw_start_date, ? ? ? ? ? -- 生效日期(生效日期無需重新計算)
? case when (t2.goods_id is not null and t1.dw_end_date > '2020-12-21')
? then '2020-12-21'
? else t1.dw_end_date
? end as dw_end_date ? ? ? -- 更新生效日期(需要重新計算)
from
? demo.dw_product t1
? left join
? (select * from demo.ods_product where dt='2020-12-21') t2
? ?on t1.goods_id = t2.goods_id
union all
select?
? goods_id, ? ? ? ? ? ? ? ?-- 商品編號
? goods_status, ? ? ? ? ? ?-- 商品狀態
? createtime, ? ? ? ? ? ? ?-- 商品創建時間
? modifytime, ? ? ? ? ? ? ?-- 商品修改時間
? modifytime as dw_start_date, ?-- 生效日期
? ?'9999-12-31' as dw_end_date ? -- 失效日期
from
? demo.ods_product where dt='2020-12-21'
order by dw_start_date, goods_id;

--10、拉鏈表查詢
-- 查詢2020-12-20數據
?select * from dw_product where dw_start_date <= ?'2020-12-20' and dw_end_date >= '2020-12-20' order by goods_id;
-- 查詢當前訂單的最新狀態

?select * from dw_product where dw_end_date = '9999-12-31' order by goods_id ;

三、業務數據分析
--1、項目環境初始化-導入Mysql業務數據
mysql -uroot –p

mysql>source /export/data/hivedatas/10tables.sql;

--2、項目環境初始化-Hive創建分層數據庫和表
--使用zeppelin連接Hive,并執行以下語句
create database if not exists itcast_ods;
create database if not exists itcast_dw;
create database if not exists itcast_app;

--3、創建ods層數據表
hive -f /export/data/hive_sql/ods_create_table.hql

--4、?在訂單表中創建?2021-01-09分區
alter table itcast_ods.itcast_orders ?add partition(dt='2021-01-09');

--5、導入itcast_orders表數據,這里我們先只導入修改時間為2021-01-09日以及之前的數據,后期我們再增量導入其他數據
/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_orders/dt=2021-01-09 \
--query "select * from itcast_orders WHERE modifiedTime <= '2021-01-09 23:59:59' and \$CONDITIONS" \
--delete-target-dir \
--fields-terminated-by '\t' \
--m 1?

--6、ODS層數據采集-其他事實表采集
--?? ?訂單明細事實表采集
/export/server/sqoop-1.4.7/bin/sqoop import ?\
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_order_goods ?\
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_order_goods/ \
--delete-target-dir \
--fields-terminated-by '\t' \
--m 1

--訂單退貨表數據采集
/export/server/sqoop-1.4.7/bin/sqoop import ?\
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_order_refunds \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_order_refunds \
--delete-target-dir \
--fields-terminated-by '\t' \
--m 1


--7、ODS層數據采集-維度表數據采集
/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_goods \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_goods \
--delete-target-dir \
--fields-terminated-by '\t' \
--m 1

/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_goods_cats \
--delete-target-dir \
--fields-terminated-by '\t' \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_goods_cats \
--m 1 ?


/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_org \
--delete-target-dir \
--fields-terminated-by '\t' \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_org \
--m 1 ?


/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_payments \
--delete-target-dir \
--fields-terminated-by '\t' \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_payments \
--m 1 ?


/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_shops \
--delete-target-dir \
--fields-terminated-by '\t' \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_shops \
--m 1 ?


/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_user_address \
--delete-target-dir \
--fields-terminated-by '\t' \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_user_address \
--m 1 ?


/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_users \
--delete-target-dir \
--fields-terminated-by '\t' \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_users \
--m 1

--8、測試數據是否都正確被加載
select * from itcast_ods.itcast_orders limit 10;
select * from itcast_ods.itcast_goods limit 10;
select * from itcast_ods.itcast_order_goods limit 10;
select * from itcast_ods.itcast_shops limit 10;
select * from itcast_ods.itcast_goods_cats limit 10;
select * from itcast_ods.itcast_org limit 10;
select * from itcast_ods.itcast_order_refunds limit 10;
select * from itcast_ods.itcast_users limit 10;
select * from itcast_ods.itcast_user_address limit 10;
select * from itcast_ods.itcast_payments limit 10;


-----------------------------------業務數據分析-DW層數據加載-------------------------------
--訂單事實表數據加載-拉鏈表
--1、創建dw層訂單拉鏈表
-- 創建dw層訂單事實表--帶有分區字段
DROP TABLE IF EXISTS itcast_dw.dw_fact_orders;
create ?table itcast_dw.dw_fact_orders (
? orderId ? ? ? ? ? ?bigint,
? orderNo ? ? ? ? ? string,
? userId ? ? ? ? ? ? bigint,
? orderStatus ? ? ? ?bigint,
? goodsMoney ? ? ? ? double,
? deliverType ? ? ? ?bigint,
? deliverMoney ? ? ? double,
? totalMoney ? ? ? ? double,
? realTotalMoney ? ? double,
? payType ? ? ? ? ? ?bigint,
? isPay ? ? ? ? ? ? ?bigint,
? areaId ? ? ? ? ? ? bigint,
? userAddressId ? ? ?bigint,
? areaIdPath ? ? ? ? string,
? userName ? ? ? ? ? string,
? userAddress ? ? ? string,
? userPhone ? ? ? ? string,
? orderScore ? ? ? ? bigint,
? isInvoice ? ? ? ? ?bigint,
? invoiceClient ? ? string,
? orderRemarks ? ? ? string,
? orderSrc ? ? ? ? ? bigint,
? needPay ? ? ? ? ? ?double,
? payRand ? ? ? ? ? ?bigint,
? orderType ? ? ? ? ?bigint,
? isRefund ? ? ? ? ? bigint,
? isAppraise ? ? ? ? bigint,
? cancelReason ? ? ? bigint,
? rejectReason ? ? ? bigint,
? rejectOtherReason string,
? isClosed ? ? ? ? ? bigint,
? goodsSearchKeys ? string,
? orderunique ? ? ? string,
? isFromCart ? ? ? ?, ?
? receiveTime ? ? ? string,
? deliveryTime ? ? ? string,
? tradeNo ? ? ? ? ? string,
? dataFlag ? ? ? ? ? bigint,
? createTime ? ? ? ? string,
? settlementId ? ? ? bigint,
? commissionFee ? ? ?double,
? scoreMoney ? ? ? ? double,
? useScore ? ? ? ? ? bigint,
? orderCode ? ? ? ? string,
? extraJson ? ? ? ? string,
? orderCodeTargetId ?bigint,
? noticeDeliver ? ? ?bigint,
? invoiceJson ? ? ? string,
? lockCashMoney ? ? ?double,
? payTime ? ? ? ? ? string,
? isBatch ? ? ? ? ? ?bigint,
? totalPayFee ? ? ? ?bigint,
? modifiedTime ? ? ? string,
? dw_start_date ? ? ? string,
? dw_end_date ? ? ? ? string
)
partitioned by (dt string) --按照天分區
row format delimited fields terminated by '\t';

--2、第一次全量數據導入dw層拉鏈表
?--訂單表數據:ods層導入dw層
insert overwrite table itcast_dw.dw_fact_orders ?partition(dt='2021-01-09')
select
orderId, ? ? ? ? ?
orderNo, ? ? ? ? ?
userId, ? ? ? ? ??
orderStatus, ? ? ?
goodsMoney, ? ? ??
deliverType, ? ? ?
deliverMoney, ? ??
totalMoney, ? ? ??
realTotalMoney, ??
payType, ? ? ? ? ?
isPay, ? ? ? ? ? ?
areaId, ? ? ? ? ??
userAddressId, ? ?
areaIdPath, ? ? ??
userName, ? ? ? ??
userAddress, ? ? ?
userPhone, ? ? ? ?
orderScore, ? ? ??
isInvoice, ? ? ? ?
invoiceClient, ? ?
orderRemarks, ? ??
orderSrc, ? ? ? ??
needPay, ? ? ? ? ?
payRand, ? ? ? ? ?
orderType, ? ? ? ?
isRefund, ? ? ? ??
isAppraise, ? ? ??
cancelReason, ? ??
rejectReason, ? ??
rejectOtherReason,
isClosed, ? ? ? ??
goodsSearchKeys, ?
orderunique, ? ? ?
isFromCart, ? ? ??
receiveTime, ? ? ?
deliveryTime, ? ??
tradeNo, ? ? ? ? ?
dataFlag, ? ? ? ??
createTime, ? ? ??
settlementId, ? ??
commissionFee, ? ?
scoreMoney, ? ? ??
useScore, ? ? ? ??
orderCode, ? ? ? ?
extraJson, ? ? ? ?
orderCodeTargetId,
noticeDeliver, ? ?
invoiceJson, ? ? ?
lockCashMoney, ? ?
payTime, ? ? ? ? ?
isBatch, ? ? ? ? ?
totalPayFee, ? ? ?
modifiedTime,
--增加開始時間
date_format(modifiedTime,'yyyy-MM-dd') as dw_start_date,
--增加結束時間
'9999-12-31' as dw_end_date
from itcast_ods.itcast_orders where dt="2021-01-09";

--3、模擬新增和修改數據
--在mysql中添加模擬增量數據,修改orderId=1的訂單狀態,添加新訂單數據
--將資料中的itcast_orders_append_update.sql腳本上傳到/export/data/hive_sql/目錄

mysql -uroot -p
source /export/data/hive_sql/itcast_orders_append_update.sql

--4、Sqoop抽取增量數據導入ods層
-- 在訂單表中創建 2020-09-10分區
alter table itcast_ods.itcast_orders ?add partition(dt='2021-01-10');

/export/server/sqoop-1.4.7/bin/sqoop import \
--connect jdbc:mysql://node1:3306/itcast_shop \
--username root \
--password 123456 \
--table itcast_orders \
--target-dir /user/hive/warehouse/itcast_ods.db/itcast_orders/dt=2021-01-10 \
--check-column modifiedTime \
--incremental lastmodified \
--last-value "2021-01-10 00:00:00" \
--fields-terminated-by '\t' \
--m 1 \
--append?

--5、ods層數據合并到dw層拉鏈表中
--開啟動態分區,解釋一下動態分區,比如我需要將A表查詢到的數據插入到B表,而A表是分區表,如果開啟了自動分區功能,則查詢到的A表數據原來在哪個分區,則添加到B表字后,B表會自動創建對應的分區。
set hive.exec.dynamici.partition=true; ?
set hive.exec.dynamic.partition.mode=nonstrict;

--合并歷史數據和最新數據到拉鏈表sql
insert overwrite ?table itcast_dw.dw_fact_orders
select
dw.orderId ? ? ? ? ? ?,
dw.orderNo ? ? ? ? ? ?,
dw.userId ? ? ? ? ? ? ,
dw.orderStatus ? ? ? ?,
dw.goodsMoney ? ? ? ? ,
dw.deliverType ? ? ? ?,
dw.deliverMoney ? ? ? ,
dw.totalMoney ? ? ? ? ,
dw.realTotalMoney ? ? ,
dw.payType ? ? ? ? ? ?,
dw.isPay ? ? ? ? ? ? ?,
dw.areaId ? ? ? ? ? ? ,
dw.userAddressId ? ? ?,
dw.areaIdPath ? ? ? ? ,
dw.userName ? ? ? ? ? ,
dw.userAddress ? ? ? ?,
dw.userPhone ? ? ? ? ?,
dw.orderScore ? ? ? ? ,
dw.isInvoice ? ? ? ? ?,
dw.invoiceClient ? ? ?,
dw.orderRemarks ? ? ? ,
dw.orderSrc ? ? ? ? ? ,
dw.needPay ? ? ? ? ? ?,
dw.payRand ? ? ? ? ? ?,
dw.orderType ? ? ? ? ?,
dw.isRefund ? ? ? ? ? ,
dw.isAppraise ? ? ? ? ,
dw.cancelReason ? ? ? ,
dw.rejectReason ? ? ? ,
dw.rejectOtherReason ?,
dw.isClosed ? ? ? ? ? ,
dw.goodsSearchKeys ? ?,
dw.orderunique ? ? ? ?,
dw.isFromCart ? ? ? ? ,
dw.receiveTime ? ? ? ?,
dw.deliveryTime ? ? ? ,
dw.tradeNo ? ? ? ? ? ?,
dw.dataFlag ? ? ? ? ? ,
dw.createTime ? ? ? ? ,
dw.settlementId ? ? ? ,
dw.commissionFee ? ? ?,
dw.scoreMoney ? ? ? ? ,
dw.useScore ? ? ? ? ? ,
dw.orderCode ? ? ? ? ?,
dw.extraJson ? ? ? ? ?,
dw.orderCodeTargetId ?,
dw.noticeDeliver ? ? ?,
dw.invoiceJson ? ? ? ?,
dw.lockCashMoney ? ? ?,
dw.payTime ? ? ? ? ? ?,
dw.isBatch ? ? ? ? ? ?,
dw.totalPayFee ? ? ? ?,
dw.modifiedTime ,
dw.dw_start_date,
--修改end_date
case when ods.orderid is not null and dw.dw_end_date ='9999-12-31'
then '2021-01-10'
else dw.dw_end_date
end as dw_end_date,
--動態分區需要的字段
dw.dt
from?
itcast_dw.dw_fact_orders ?dw?
left join?
(select * from itcast_ods.itcast_orders where dt ='2021-01-10') ods
on dw.orderid=ods.orderid?
union all
--今天新增數據的插入動作
select
orderId ? ? ? ? ? ?,
orderNo ? ? ? ? ? ?,
userId ? ? ? ? ? ? ,
orderStatus ? ? ? ?,
goodsMoney ? ? ? ? ,
deliverType ? ? ? ?,
deliverMoney ? ? ? ,
totalMoney ? ? ? ? ,
realTotalMoney ? ? ,
payType ? ? ? ? ? ?,
isPay ? ? ? ? ? ? ?,
areaId ? ? ? ? ? ? ,
userAddressId ? ? ?,
areaIdPath ? ? ? ? ,
userName ? ? ? ? ? ,
userAddress ? ? ? ?,
userPhone ? ? ? ? ?,
orderScore ? ? ? ? ,
isInvoice ? ? ? ? ?,
invoiceClient ? ? ?,
orderRemarks ? ? ? ,
orderSrc ? ? ? ? ? ,
needPay ? ? ? ? ? ?,
payRand ? ? ? ? ? ?,
orderType ? ? ? ? ?,
isRefund ? ? ? ? ? ,
isAppraise ? ? ? ? ,
cancelReason ? ? ? ,
rejectReason ? ? ? ,
rejectOtherReason ?,
isClosed ? ? ? ? ? ,
goodsSearchKeys ? ?,
orderunique ? ? ? ?,
isFromCart ? ? ? ? ,
receiveTime ? ? ? ?,
deliveryTime ? ? ? ,
tradeNo ? ? ? ? ? ?,
dataFlag ? ? ? ? ? ,
createTime ? ? ? ? ,
settlementId ? ? ? ,
commissionFee ? ? ?,
scoreMoney ? ? ? ? ,
useScore ? ? ? ? ? ,
orderCode ? ? ? ? ?,
extraJson ? ? ? ? ?,
orderCodeTargetId ?,
noticeDeliver ? ? ?,
invoiceJson ? ? ? ?,
lockCashMoney ? ? ?,
payTime ? ? ? ? ? ?,
isBatch ? ? ? ? ? ?,
totalPayFee ? ? ? ?,
modifiedTime ? ? ? ,
--增加開始時間
date_format(modifiedTime,'yyyy-MM-dd') as dw_start_date,
--增加結束時間
'9999-12-31' as dw_end_date,
--指定動態分區使用的字段,動態分區的用法:就是查詢字段的最后一個字段hive表進行解析然后存入指定分區
--此次數據分區按照訂單的修改時間
date_format(modifiedTime,'yyyy-MM-dd')?
from itcast_ods.itcast_orders where dt="2021-01-10";


--6、驗證數據查詢拉鏈表數據
select * from itcast_dw.dw_fact_orders limit 15;


--7、其他事實表的加載
-- 創建dw層訂單明細表
drop table if exists itcast_dw.dw_fact_order_goods;
create ?table itcast_dw.dw_fact_order_goods(
? ? ogId ? ? ? ? ? ?bigint,
? ? orderId ? ? ? ? bigint,
? ? goodsId ? ? ? ? bigint,
? ? goodsNum ? ? ? ?bigint,
? ? goodsPrice ? ? ?double,
? ? payPrice ? ? ? ?double,
? ? goodsSpecId ? ? bigint,
? ? goodsSpecNames ?string,
? ? goodsName ? ? ? string,
? ? goodsImg ? ? ? ?string,
? ? extraJson ? ? ? string,
? ? goodsType ? ? ? bigint,
? ? commissionRate ?double,
? ? goodsCode ? ? ? string,
? ? promotionJson ? string,
? ? createtime ? ? ?string
)
row format delimited fields terminated by '\t';

--將ods層的數據全部加載到dw層
insert overwrite table itcast_dw.dw_fact_order_goods select * from itcast_ods.itcast_order_goods;

-- 創建dw層訂單退貨表
drop table if exists itcast_dw.itcast_order_refunds;
create ?table itcast_dw.dw_fact_order_refunds(
? ? id ? ? ? ? ? ? ? ?bigint,
? ? orderId ? ? ? ? ? bigint,
? ? goodsId ? ? ? ? ? bigint,
? ? refundTo ? ? ? ? ?bigint,
? ? refundReson ? ? ? bigint,
? ? refundOtherReson ?string,
? ? backMoney ? ? ? ? double,
? ? refundTradeNo ? ? string,
? ? refundRemark ? ? ?string,
? ? refundTime ? ? ? ?string,
? ? shopRejectReason ?string,
? ? refundStatus ? ? ?bigint,
? ? createTime ? ? ? ?string,
? ? modifiedTime ? ? ? ?string
)
row format delimited fields terminated by '\t';

--將ods層的數據全部加載到dw層
insert overwrite table itcast_dw.dw_fact_order_refunds select * from itcast_ods.itcast_order_refunds;

------------APP層指標開發-指標開發1-時間維度分析業務開發------------------------------
--1、創建app層數據表
drop table if exists itcast_app.app_order_date;
create table itcast_app.app_order_date(
? date_type string, ? -- 時間維度類型
? date_val string, ? ?-- 時間維度值
? order_count bigint, -- 訂單筆數
? order_money double ?-- 訂單交易額
)
row format delimited fields terminated by '\t' ;

--2、創建日期維度表
DROP TABLE IF EXISTS itcast_dw.dw_dim_date;
CREATE TABLE itcast_dw.dw_dim_date(
? date_key string,
? date_value string,
? day_in_year string,
? day_in_month string,
? is_first_day_in_month string,
? is_last_day_in_month string,
? weekday string,
? week_in_month string,
? is_first_day_in_week string,
? is_dayoff string,
? is_workday string,
? is_holiday string,
? date_type string,
? month_number string, ? ? ? ? ? ? ? ? ? ? ? ?
? year string,
? year_month_number string,
? quarter_name string,
? quarter_number string,
? year_quarter string
)
row format delimited fields terminated by '\t';

--給表加載數據
load data local inpath '/export/data/hivedatas/dim_holiday.txt' into table itcast_dw.dw_dim_date;


--3、統計2020年期間每個季度的銷售訂單筆數、訂單總額
insert overwrite table itcast_app.app_order_date?
select
?'1' as date_type, ? ? ? ? ? ? ?-- 時間維度類型,1表示季度
? t1.year_quarter as date_val, ?-- 季度名稱
? count(orderid), ? ? ? ? ? ? ? -- 訂單總數
? sum(totalMoney) ? ? ? ? ? ? ? -- 訂單總額
from?
? itcast_dw.dw_dim_date t1
? left join
? (select * from itcast_dw.dw_fact_orders ?where dt >='2020-01-01' and dw_end_date='9999-12-31') t2
? ?on t1.date_value = date_format(createtime, 'yyyy-MM-dd')
group by t1.year_quarter
order by t1.year_quarter;

-- 測試
select * from itcast_app.app_order_date where dt='2021-01-09' and date_type = '1';

--4、統計2020年期間每個月的銷售訂單筆數、訂單總額
insert into table itcast_app.app_order_date
select
? ?'2' as date_type, --2表示月類型
? t1.year_month_number as date_val,
? ?count(orderid), ? ? ? ? ? ? ? ? ?-- 訂單總數
? ?if(sum(totalMoney) is NULL,0,sum(totalMoney)) ? ? ? ? ? ? ? ? ? ? ? ? -- 訂單總額
from
? itcast_dw.dw_dim_date t1
? left join
? ? (select * from itcast_dw.dw_fact_orders ?where dt >='2020-01-01' and dw_end_date='9999-12-31') t2
? ? on t1.date_value = date_format(createtime, 'yyyy-MM-dd')
group by?
? t1.year_month_number
order by t1.year_month_number;

---- 測試
select * from itcast_app.app_order_date where date_type = '2';

--5、統計2020年期間每周一到周日的銷售訂單筆數、訂單總額
insert into table itcast_app.app_order_date
select
? ?'3' as date_type,
? ?t1.weekday as date_val,
? ? count(orderid), ? ? ? ? ? ? ? ? ?-- 訂單總數
?if(sum(totalMoney) is NULL,0,sum(totalMoney)) ? ? ? ? ? ? ? ? ? ? ? ? ? ?-- 訂單總額
from?
? itcast_dw.dw_dim_date t1
? left join
? (select * from itcast_dw.dw_fact_orders ?where dt >='2020-01-01' and dw_end_date='9999-12-31') t2
? ? on t1.date_value = date_format(createtime, 'yyyy-MM-dd')
group by
? t1.weekday
order by t1.weekday;

-- 測試
select * from itcast_app.app_order_date where ?date_type = '3';


-- 統計2020年期間國家法定節假日、休息日、工作日的訂單筆數、訂單總額

insert into table itcast_app.app_order_date?
select
? ?'4' as date_type,
? t1.date_type as date_val,
? ?count(orderid) as order_count, ? ? ? ? ? ? ? ? ?-- 訂單總數
?if(sum(totalMoney) is NULL,0,sum(totalMoney)) ?-- 訂單總額
from?
? itcast_dw.dw_dim_date t1
? left join
? (select * from itcast_dw.dw_fact_orders ?where dt >='2020-01-01' and dw_end_date='9999-12-31') t2
? ? on t1.date_value = date_format(createtime, 'yyyy-MM-dd')
group by
? t1.date_type
order by t1.date_type;

-- 測試
select * from itcast_app.app_order_date where date_type = '4';

------------APP層指標開發-指標開發2-訂單分析地域、分類維度分析業務開發------------------------------
--1、創建app(數據集市層)訂單分析表
DROP TABLE IF EXISTS itcast_app.app_trade_order;
create table if not exists itcast_app.app_trade_order(
? area_type string, ? ? ? ? ? ? ? -- 區域范圍:區域類型(全國、大區、城市)
? region_name string, ? ? ? ? ? ? -- 區域名稱
? city_name string, ? ? ? ? ? ? ? -- 城市名稱
? category_type string, ? ? ? ? ? --分類類型(一級、二級)
? category_1st_name string, ? ? ? -- 一級分類名稱
? category_2d_name string, ? ? ? ?-- 二級分類名稱
? payment_name string, ? ? ? ? ? ?-- 支付方式(所有、微信、支付寶、...)
? total_count bigint, ? ? ? ? ? ? -- 訂單數量
? total_goods_num bigint, ? ? ? ? -- 商品數量
? total_money double ? ? ? ? ? ? ?-- 支付金額
)
row format delimited fields terminated by '\t';


--2、商品分類維度數據表操作
? -- 1:表創建
? DROP TABLE IF EXISTS itcast_dw.dw_dim_goods_cats;
? create table if not exists itcast_dw.dw_dim_goods_cats(
? ? cat_3d_id string, ? ? ? ? ? ? ? ? ? -- 三級商品分類id
? ? cat_3d_name string, ? ? ? ? ? ? ? ? -- 三級商品分類名稱
? ? cat_2d_id string, ? ? ? ? ? ? ? ? ? ?-- 二級商品分類Id
? ? cat_2d_name string, ? ? ? ? ? ? ? ? ?-- 二級商品分類名稱
? ? cat_1t_id string, ? ? ? ? ? ? ? ? ? -- 一級商品分類id
? ? cat_1t_name string ? ? ? ? ? ? ? ? ?-- 一級商品分類名稱
? )
? row format delimited fields terminated by '\t' ;
-- 2. 加載商品分類維度表數據
insert overwrite table itcast_dw.dw_dim_goods_cats
select?
? t3.catid as cat_3d_id, ? ? ? ? ?-- 三級分類id
? t3.catname as cat_3d_name, ? ? ?-- 三級分類名稱
? t2.catid as cat_2d_id, ? ? ? ? ?-- 二級分類id
? t2.catname as cat_2d_name, ? ? ?-- 二級分類名稱
? t1.catid as cat_1t_id, ? ? ? ? ?-- 一級分類id
? t1.catname as cat_1t_name ? ? ? -- 一級分類名稱
from?
? (select catid, catname, parentid from itcast_ods.itcast_goods_cats where cat_level=3) t3 -- 商品三級分類數據
? left join
? (select catid, catname, parentid from itcast_ods.itcast_goods_cats where cat_level=2) t2 -- 商品二級分類數據
? ?on t3.parentid = t2.catid
? left join
? (select catid, catname, parentid from itcast_ods.itcast_goods_cats where cat_level=1) t1 -- 商品一級分類數據
? ?on t2.parentid = t1.catid;
? ?
-- 測試數據
select * from itcast_dw.dw_dim_goods_cats limit 5;

--3、支付方式維度數據表操作
-- 1. 創建支付方式維度表
drop table if exists itcast_dw.dw_dim_payments;
create table if not exists itcast_dw.dw_dim_payments(
? payment_id string, ? ? ? ? ?-- 支付方式id
? payment_name string ? ? ? ? -- 支付方式名稱
)
row format delimited fields terminated by '\t' ;
?
-- 2. 加載支付方式維度數據
-- 需要額外添加一行數據 0 -> 其他
insert overwrite table itcast_dw.dw_dim_payments?
select?
? t1.id as payment_id, ? ? ? ?-- 支付方式id
? t1.payName as payment_name ?-- 支付方式名稱
from?
? itcast_ods.itcast_payments ?t1 ;
?
? ?-- 測試查詢支付方式維度數據
select * from itcast_dw.dw_dim_payments limit 5;

--4、訂單明細事實表拉寬
-- 4.1. 創建訂單明細事實表
DROP TABLE IF EXISTS itcast_dw.dw_fact_order_goods_wide;
create table if not exists itcast_dw.dw_fact_order_goods_wide(
? order_id string, ? ? ? ? ? ?-- 訂單id
? goods_cat_3d_id string, ? ? -- 商品三級分類id
? shop_id string, ? ? ? ? ? ? -- 店鋪id
? payment_id string, ? ? ? ? ?-- 訂單支付方式
? goods_num bigint, ? ? ? ? ? -- 商品數量
? pay_money double, ? ? ? ? ? -- 訂單明細金額
? paytime string ? ? ? ? ? ? ?-- 訂單時間
)
row format delimited fields terminated by '\t' ;
-- 4.2、加載數據
insert overwrite table itcast_dw.dw_fact_order_goods_wide?
select
? t1.orderid as order_id,
? t3.goodscatid as goods_cat_3d_id,
? t3.shopid as shop_id,
? t1.paytype as payment_id,
? t2.goodsnum as goods_num,
? t2.goodsnum*t2.payprice ?as pay_money,
? t1.paytime as paytime
from
? (select orderid, paytype, paytime from itcast_dw.dw_fact_orders ?) t1 ? ? ? ? ? ? ? ? ? ? -- 訂單表數據
?join
? (select orderid, goodsid, goodsnum, payprice from itcast_ods.itcast_order_goods) t2 ? ? -- 訂單明細數
? ?on t1.orderid = t2.orderid
?join
? (select goodsid, shopid, goodscatid from itcast_ods.itcast_goods ) t3 ? ? ? ? ? -- 商品數量
? ?on t2.goodsid = t3.goodsid;
? ?
-- 測試數據
select * from itcast_dw.dw_fact_order_goods_wide limit 5;


--5、指標計算匯總計算-全國、一級商品分類維度交易信息
-- 獲取全國、一級商品分類維度的分支付類型數據
-- 5.1 獲取全國、一級商品分類維度的不分支付類型數據
insert into table itcast_app.app_trade_order?
select
? ?'全國' as area_type,
? ?'' as region_name,
? ?'' as city_name,
? ?'一級分類' as category_type,
? t1.cat_1t_name as category_1st_name,
? ?'' as category_2d_name,
? ?'所有' as payment_name,
? ?count(distinct t2.order_id) as total_count,
? sum(case when t2.goods_num is null
? ? ? then 0
? ? ? else t2.goods_num
? ? ? end
? ? ? ) as total_goods_num,
? sum(case when t2.pay_money is null
? ? ? then 0
? ? ? else t2.pay_money
? ? ? end
? ? ? ) as total_money
from
? (select * from itcast_dw.dw_dim_goods_cats) t1
? left join?
? (select * from itcast_dw.dw_fact_order_goods_wide) t2
? ?on t1.cat_3d_id = t2.goods_cat_3d_id
group by t1.cat_1t_name;

-- 測試
select * from itcast_app.app_trade_order where category_type = '一級分類' and payment_name = '所有';

-- 5、全國、二級商品分類維度的分支付類型數據

insert into table itcast_app.app_trade_order
select
? ?'全國' as area_type,
? ?'' as region_name,
? ?'' as city_name,
? ?'二級分類' as category_type,
? t3.cat_1t_name as category_1st_name,
? t3.cat_2d_name as category_2d_name,
? t1.payment_name as payment_name,
? ?count(distinct t2.order_id) as total_count,
? sum(t2.goods_num) as total_goods_num,
? sum(t2.pay_money) as total_money
from
? (select * from itcast_dw.dw_dim_payments ) t1
? left join
? (select * from itcast_dw.dw_fact_order_goods_wide ) t2
? ?on t1.payment_id = t2.payment_id
? left join
? (select * from itcast_dw.dw_dim_goods_cats) t3
? ?on t2.goods_cat_3d_id = t3.cat_3d_id
group by t1.payment_name, t3.cat_1t_name, t3.cat_2d_name;
?
-- 測試查詢數據
select * from itcast_app.app_trade_order where ?area_type = '全國' and category_type = '二級分類' limit 10;


------------APP層指標開發-指標開發3-用戶訂單指標業務開發------------------------------
--1、創建APP表
drop table if exists itcast_app.user_order_measure;
create table itcast_app.user_order_measure(
? userid string, ? ? ? ? ? ? ? ? ? ? ? ? ?-- 用戶id
? username string, ? ? ? ? ? ? ? ? ? ? ? ?-- 用戶名稱
? first_paytime string, ? ? ? ? ? ? ? ? ? -- 第一次消費時間
? lastest_paytime string, ? ? ? ? ? ? ? ? -- 最近一次消費時間
? first_day_during_days bigint, ? ? ? ? ? -- 首單距今時間
? lastest_day_durning_days bigint, ? ? ? ?-- 尾單距今時間
? min_paymoney double, ? ? ? ? ? ? ? ? ? ?-- 最小消費金額
? max_paymoney double, ? ? ? ? ? ? ? ? ? ?-- 最大消費金額
? total_count_without_back bigint, ? ? ? ?-- 累計消費次數(不含退拒)
? total_money_without_back double, ? ? ? ?-- 累計消費金額(不含退拒)
? total_count_without_back_30 bigint, ? ? -- 近30天累計消費次數(不含退拒)
? total_money_without_back_30 double, ? ? -- 近30天累計消費金額(不含退拒)
? total_count_30 bigint, ? ? ? ? ? ? ? ? ?-- 近30天累計消費次數(含退拒)
? total_money_30 double, ? ? ? ? ? ? ? ? ?-- 近30天累計消費金額(含退拒)
? atv double, ? ? ? ? ? ? ? ? ? ? ? ? ? ? -- 客單價(含退拒)
? atv_withoutback double, ? ? ? ? ? ? ? ? -- 客單價(不含退拒)
? atv_60 double, ? ? ? ? ? ? ? ? ? ? ? ? ?-- 近60天客單價(含退拒)
? atv_60_withoutback double, ? ? ? ? ? ? ?-- 近60天客單價(不含退拒)
? school_order_count bigint, ? ? ? ? ? ? ?-- 學校下單總數
? company_order_count bigint, ? ? ? ? ? ? -- 單位下單總數
? home_order_count bigint, ? ? ? ? ? ? ? ?-- 家里下單總數
? am_order_count bigint, ? ? ? ? ? ? ? ? ?-- 上午下單總數
? pm_order_count bigint, ? ? ? ? ? ? ? ? ?-- 下午下單總數
? night_order_count bigint, ? ? ? ? ? ? ? -- 晚上下單總數
? most_usual_address string, ? ? ? ? ? ? ?-- 常用收貨地址
? most_usual_paytype string ? ? ? ? ? ? ? -- 常用支付方式
)
row format delimited fields terminated by '\t';


--2、創建用戶維度表:itcast_dw.dw_dim_user

drop table if exists itcast_dw.dw_dim_users;
create table itcast_dw.dw_dim_users(
? userId ? ? ? ? ?bigint,
? loginName ? ? ? string,
? userSex ? ? ? ? bigint
)
row format delimited fields terminated by '\t';

--3、加載數據
insert overwrite table itcast_dw.dw_dim_users
select?
? userId, ??
? loginName,
? userSex ?
from
? itcast_ods.itcast_users ;
? ?
--驗證
select * from itcast_dw.dw_dim_users limit 10;


--4、創建dw層dim_user_address表
drop table if exists itcast_dw.dw_dim_user_address;
create table itcast_dw.dw_dim_user_address(
? addressId ? ?bigint,
? userId ? ? ? bigint,
? userName ? ? string,
? otherName ? string,
? userPhone ? string,
? areaIdPath ? string,
? areaId ? ? ? bigint,
? userAddress string,
? isDefault ? ?bigint,
? dataFlag ? ? bigint,
? createTime ? string
)
row format delimited fields terminated by '\t';

--5、從ods層itcast_user_address導出數據到dim_user_address表
insert overwrite table itcast_dw.dw_dim_user_address?
select?
addressId, --用戶地址id
userId, --用戶id
userName, --用戶名
otherName, --地址類型
userPhone, --用戶聯系方式
areaIdPath, --地址id路徑
areaId, ? ? --區域ID
userAddress, --用戶地址
isDefault, ?--是否默認地址
dataFlag, ? --數據狀態
createTime ?--創建時間
from itcast_ods.itcast_user_address;


--6、創建訂單時間標志、地址標志寬表 fact_order_wide
drop table if exists itcast_dw.dw_fact_order_wide;
create table itcast_dw.dw_fact_order_wide(
? orderId bigint, --訂單id
? orderStatus bigint, --訂單狀態
? payType bigint, --支付類型
? userId bigint, --用戶id
? userAddressId bigint, --用戶地址id
? payTime string, --支付時間
? payMoney double, --支付金額
? createtime string, --創建時間
? flag30 bigint, --最近30天標記
? flag60 bigint, --最近60天標記
? flag90 bigint, --最近90天筆記
? flag180 bigint,--最近180天筆記
? flagTimeBucket string, --一天時間段標志(凌晨、早晨、上午.
? othername string --地址標志(家里、學校、工作單位..)
)
row format delimited fields terminated by '\t';


--7、加載數據
insert overwrite table itcast_dw.dw_fact_order_wide
select
? t1.orderId,
? t1.orderStatus,
? t1.payType,
? t1.userId,
? t1.userAddressId,
? t1.payTime,
? t1.totalMoney,
? t1.createtime,
? ?--近30天
? case when datediff(current_timestamp, t1.createtime) <= 30
? ? ? then 1
? else 0
? end as flag_30,
? ? --近60天
? case when datediff(current_timestamp, t1.createtime) <= 60
? ? ? then 1
? else 0
? end as flag_60,
? ? --近90天
? case when datediff(current_timestamp, t1.createtime) <= 90
? ? ? then 1
? else 0
? end as flag_90,?
? ? --近180天
? case when datediff(current_timestamp, t1.createtime) >= 180
? then 1
? else 0
? end as flag_180,
? ?--所屬時間段
? case when hour(t1.createtime) >= 0 and hour(t1.createtime) < 6
? ? ? then '凌晨'
? when hour(t1.createtime) >= 6 and hour(t1.createtime) < 12
? ? ? then '上午'
? when hour(t1.createtime) >= 12 and hour(t1.createtime) < 14
? ? ? then '中午'
? when hour(t1.createtime) >= 14 and hour(t1.createtime) < 18
? ? ? then '下午'
? else '晚上'
? end as flag_time_bucket,
? ?--家里、單位、學校
? t2.othername
from?
? (select orderId,orderStatus,payType,userId,userAddressId,payTime,totalMoney,createtime from itcast_dw.dw_fact_orders?
where dw_end_date ='9999-12-31') t1 ?
left join
? (select * from itcast_dw.dw_dim_user_address) t2
? ?on t1.userAddressId = t2.addressId;
? ? ? ?
-- 測試語句
select * from itcast_dw.dw_fact_order_wide limit 5;?


--1、指標開發一
select
? t1.userid, --用戶id
? t1.loginname, --登錄名字
? MIN(t2.payTime) as first_paytime, --首次下單時間
? MAX(t2.payTime) as lastest_paytime, --尾單時間
? DATEDIFF(CURRENT_TIMESTAMP, MIN(t2.payTime)) as first_day_during_days,--首單距今
? DATEDIFF(CURRENT_TIMESTAMP, MAX(t2.payTime)) as lastest_day_durning_days, --尾單距今
? MIN(t2.paymoney) as min_paymoney, --最小支付金額
? MAX(t2.paymoney) as max_paymoney ?--最大支付金額
from
? (select * from itcast_dw.dw_fact_order_wide) as t2
? left join
? ? (select * from itcast_dw.dw_dim_users) as t1
? ?on t1.userId = t2.userId
group by t1.userid,t1.loginname;

--2、指標開發二
select
? t2.userid,
? t2.loginname,
? MIN(t1.payTime) as first_paytime,
? MAX(t1.payTime) as lastest_paytime,
? DATEDIFF(CURRENT_TIMESTAMP, MIN(t1.payTime)) as first_day_during_days,
? DATEDIFF(CURRENT_TIMESTAMP, MAX(t1.payTime)) as lastest_day_durning_days,
? MIN(t1.paymoney) as min_paymoney,
? MAX(t1.paymoney) as max_paymoney,
sum(
case when t1.orderstatus !=10 and t1.orderstatus !=11
? then 1
? else 0
? end
) as total_count_without_back,--累計消費次數不含退拒,
sum(case when t1.orderstatus !=10 and t1.orderstatus !=11
? then t1.paymoney
? else 0
? end
? ) as total_money_without_back, --累計消費金額不含退拒

sum(case when t1.flag30 =1 and t1.orderstatus !=10 and t1.orderstatus !=11
? then 1
? ? else 0
? ? end
? ) as total_count_without_back_30, ? --累計近30天消費次數不含退拒

? sum(case when t1.flag30 =1 and t1.orderstatus !=10 and t1.orderstatus !=11
? then t1.paymoney
? ? else 0
? ? end
? ) as total_money_without_back_30,-- 累計近30天消費金額不含退拒
sum(case when t1.flag30 =1?
? then 1
? ? else 0
? ? end
? ) as total_count_without_30, ? ?--累計近30天消費次數含退拒
? sum(case when t1.flag30 =1?
? then t1.paymoney
? ? else 0
? ? end
? ) as total_money_with_back_30 ? ?--累計近30天消費金額含退拒
? ??
from?
(select * from itcast_dw.dw_fact_order_wide) t1?
left join ?
(select * from itcast_dw.dw_dim_users) t2 on?
t1.userid=t2.userid
group by t2.userid,t2.loginname limit 5;

---------------------------------------------------
select
? t2.userid,
? t2.loginname,
? MIN(t1.payTime) as first_paytime,
? MAX(t1.payTime) as lastest_paytime,
? DATEDIFF(CURRENT_TIMESTAMP, MIN(t1.payTime)) as first_day_during_days,
? DATEDIFF(CURRENT_TIMESTAMP, MAX(t1.payTime)) as lastest_day_durning_days,
? MIN(t1.paymoney) as min_paymoney,
? MAX(t1.paymoney) as max_paymoney,
sum(
case when t1.orderstatus !=10 and t1.orderstatus !=11
? then 1
? else 0
? end
) as total_count_without_back,--累計消費次數不含退拒,
sum(case when t1.orderstatus !=10 and t1.orderstatus !=11
? then t1.paymoney
? else 0
? end
? ) as total_money_without_back, --累計消費金額不含退拒

sum(case when t1.flag180 =1 and t1.orderstatus !=10 and t1.orderstatus !=11
? then 1
? ? else 0
? ? end
? ) as total_count_without_back_180, ? --累計近30天消費次數不含退拒
??
? sum(case when t1.flag180 =1 and t1.orderstatus !=10 and t1.orderstatus !=11
? then t1.paymoney
? ? else 0
? ? end
? ) as total_money_without_back_180,-- 累計近30天消費金額不含退拒
sum(case when t1.flag180 =1?
? then 1
? ? else 0
? ? end
? ) as total_count_without_180, ? ?--累計近30天消費次數含退拒
? sum(case when t1.flag180 =1?
? then t1.paymoney
? ? else 0
? ? end
? ) as total_money_with_back_180 ? ?--累計近30天消費金額含退拒
? ??
from?
(select * from itcast_dw.dw_fact_order_wide) t1?
left join ?
(select * from itcast_dw.dw_dim_users) t2 on?
t1.userid=t2.userid
group by t2.userid,t2.loginname limit 5


--3、指標開發三
select
? t2.userid,
? t2.loginname,
SUM(case when t1.otherName = '學校'
? ? ? then 1
? ? ? else 0
? ? ? end) as school_order_count, ? ? ?-- 學校下單總數
? SUM(case when t1.otherName = '單位'
? ? ? then 1
? ? ? else 0
? ? ? end) as company_order_count, ? ?-- 單位下單總數
? SUM(case when t1.otherName = '家里'
? ? ? then 1
? ? ? else 0
? ? ? end) as home_order_count, ? ? ? ?-- 家里下單總數
? SUM(case when t1.flagTimeBucket = '上午'
? ? ? then 1
? ? ? else 0
? ? ? end) as am_order_count, ? ? ? ? ?-- 上午下單總數
? SUM(case when t1.flagTimeBucket = '下午'
? ? ? then 1
? ? ? else 0
? ? ? end) as pm_order_count, ? ? ? ? ?-- 下午下單總數
? SUM(case when t1.flagTimeBucket = '晚上'
? ? ? then 1
? ? ? else 0
? ? ? end) as night_order_count-- 晚上下單總數
from
(select * from itcast_dw.dw_fact_order_wide) t1?
left join ?
(select * from itcast_dw.dw_dim_users) t2 on?
t1.userid=t2.userid
group by t2.userid,t2.loginname limit 5;


--4、指標數據加載
insert overwrite table itcast_app.user_order_measure?
select
?t2.userid,
? t2.loginname,
? MIN(t1.payTime) as first_paytime,
? MAX(t1.payTime) as lastest_paytime,
? DATEDIFF(CURRENT_TIMESTAMP, MIN(t1.payTime)) as first_day_during_days,
? DATEDIFF(CURRENT_TIMESTAMP, MAX(t1.payTime)) as lastest_day_durning_days,
? MIN(t1.paymoney) as min_paymoney,
? MAX(t1.paymoney) as max_paymoney,
sum(
case when t1.orderstatus !=10 and t1.orderstatus !=11
? then 1
? else 0
? end
) as total_count_without_back,--累計消費次數不含退拒,
sum(case when t1.orderstatus !=10 and t1.orderstatus !=11
? then t1.paymoney
? else 0
? end
? ) as total_money_without_back, --累計消費金額不含退拒

sum(case when t1.flag30 =1 and t1.orderstatus !=10 and t1.orderstatus !=11
? then 1
? ? else 0
? ? end
? ) as total_count_without_back_30, ? --累計近30天消費次數不含退拒

? sum(case when t1.flag30 =1 and t1.orderstatus !=10 and t1.orderstatus !=11
? then t1.paymoney
? ? else 0
? ? end
? ) as total_money_without_back_30,-- 累計近30天消費金額不含退拒
sum(case when t1.flag30 =1?
? then 1
? ? else 0
? ? end
? ) as total_count_without_30, ? ?--累計近30天消費次數含退拒
? sum(case when t1.flag30 =1?
? then t1.paymoney
? ? else 0
? ? end
? ) as total_money_with_back_30, ? ?--累計近30天消費金額含退拒
? ? ? 0 as ?atv,
? ? ? 0 as atv_withoutback,
? ? ? 0 as total_count_without_60,
? ? ? 0 as total_money_with_back_60,
? ? SUM(case when t1.otherName = '學校'
? ? then 1
? ? else 0
? ? end) as school_order_count, ? ? ?-- 學校下單總數
SUM(case when t1.otherName = '單位'
? ? then 1
? ? else 0
? ? end) as company_order_count, ? ?-- 單位下單總數
SUM(case when t1.otherName = '家里'
? ? then 1
? ? else 0
? ? end) as home_order_count, ? ? ? ?-- 家里下單總數
SUM(case when t1.flagTimeBucket = '上午'
? ? then 1
? ? else 0
? ? end) as am_order_count, ? ? ? ? ?-- 上午下單總數
SUM(case when t1.flagTimeBucket = '下午'
? ? then 1
? ? else 0
? ? end) as pm_order_count, ? ? ? ? ?-- 下午下單總數
SUM(case when t1.flagTimeBucket = '晚上'
? ? then 1
? ? else 0
? ? end) as night_order_count,-- 晚上下單總數
? ? ? --最常用地址
? ? '' most_usual_address,
--常用的支付方式
? ? '' most_usual_paytype
from?
(select * from itcast_dw.dw_fact_order_wide) t1?
left join ?
(select * from itcast_dw.dw_dim_users) t2 on?
t1.userid=t2.userid
group by t2.userid,t2.loginname

-------------------------結果表導出----------------------------------
--1、在Mysql中創建目標數據庫
create database hive_app_result;
--2、導出時間維度分析業務指標數據、
?--2.1 創建Mysql目標表
? create table hive_app_result.app_order_date(
? ? date_type varchar(20), ? -- 時間維度類型
? ? date_val varchar(20), ? ?-- 時間維度值
? ? order_count bigint, -- 訂單筆數
? ? order_money double ?-- 訂單交易額
? );
--2.2 數據導出
? /export/server/sqoop-1.4.7/bin/sqoop export \
? --connect jdbc:mysql://192.168.88.100:3306/hive_app_result \
? --username root \
? --password 123456 \
? --table app_order_date \
? --input-fields-terminated-by '\t' \
? --export-dir /user/hive/warehouse/itcast_app.db/app_order_date

--3、導出地域和商品分類維度指標數據
?--3.1 創建Mysql目標表
? DROP TABLE IF EXISTS hive_app_result.app_trade_order;
? CREATE TABLE IF NOT EXISTS hive_app_result.app_trade_order(
? ? area_type VARCHAR(20), ? ? ? ? ? ? ? -- 區域范圍:區域類型(全國、大區、城市)
? ? region_name VARCHAR(20), ? ? ? ? ? ? -- 區域名稱
? ? city_name VARCHAR(20), ? ? ? ? ? ? ? -- 城市名稱
? ? category_type VARCHAR(20), ? ? ? ? ? --
? ? category_1st_name VARCHAR(20), ? ? ? -- 一級分類名稱
? ? category_2d_name VARCHAR(20), ? ? ? ?-- 二級分類名稱
? ? payment_name VARCHAR(20), ? ? ? ? ? ?-- 支付方式(所有、微信、支付寶、...)
? ? total_count BIGINT, ? ? ? ? ? ? -- 訂單數量
? ? total_goods_num BIGINT, ? ? ? ? -- 商品數量
? ? total_money DOUBLE ? ? ? ? ? ? ?-- 支付金額
? );
--3.2 數據導出
? /export/server/sqoop-1.4.7/bin/sqoop export \
? --connect jdbc:mysql://192.168.88.100:3306/hive_app_result \
? --username root \
? --password 123456 \
? --table app_trade_order \
? --input-fields-terminated-by '\t' \
? --input-null-string '\\N' --input-null-non-string '\\N' \
? --export-dir /user/hive/warehouse/itcast_app.db/app_trade_order

? --4、導出用戶訂單指標數據
? --4.1 創建Mysql目標表
? CREATE TABLE hive_app_result.user_order_measure(
? ? userid VARCHAR(50), ? ? ? ? ? ? ? ? ? ? ? ? ?-- 用戶id
? ? username VARCHAR(50), ? ? ? ? ? ? ? ? ? ? ? ?-- 用戶名稱
? ? first_paytime VARCHAR(50), ? ? ? ? ? ? ? ? ? -- 第一次消費時間
? ? lastest_paytime VARCHAR(50), ? ? ? ? ? ? ? ? -- 最近一次消費時間
? ? first_day_during_days BIGINT, ? ? ? ? ? -- 首單距今時間
? ? lastest_day_durning_days BIGINT, ? ? ? ?-- 尾單距今時間
? ? min_paymoney DOUBLE, ? ? ? ? ? ? ? ? ? ?-- 最小消費金額
? ? max_paymoney DOUBLE, ? ? ? ? ? ? ? ? ? ?-- 最大消費金額
? ? total_count_without_back BIGINT, ? ? ? ?-- 累計消費次數(不含退拒)
? ? total_money_without_back DOUBLE, ? ? ? ?-- 累計消費金額(不含退拒)
? ? total_count_without_back_30 BIGINT, ? ? -- 近30天累計消費次數(不含退拒)
? ? total_money_without_back_30 DOUBLE, ? ? -- 近30天累計消費金額(不含退拒)
? ? total_count_30 BIGINT, ? ? ? ? ? ? ? ? ?-- 近30天累計消費次數(含退拒)
? ? total_money_30 DOUBLE, ? ? ? ? ? ? ? ? ?-- 近30天累計消費金額(含退拒)
? ? atv DOUBLE, ? ? ? ? ? ? ? ? ? ? ? ? ? ? -- 客單價(含退拒)
? ? atv_withoutback DOUBLE, ? ? ? ? ? ? ? ? -- 客單價(不含退拒)
? ? atv_60 DOUBLE, ? ? ? ? ? ? ? ? ? ? ? ? ?-- 近60天客單價(含退拒)
? ? atv_60_withoutback DOUBLE, ? ? ? ? ? ? ?-- 近60天客單價(不含退拒)
? ? school_order_count BIGINT, ? ? ? ? ? ? ?-- 學校下單總數
? ? company_order_count BIGINT, ? ? ? ? ? ? -- 單位下單總數
? ? home_order_count BIGINT, ? ? ? ? ? ? ? ?-- 家里下單總數
? ? am_order_count BIGINT, ? ? ? ? ? ? ? ? ?-- 上午下單總數
? ? pm_order_count BIGINT, ? ? ? ? ? ? ? ? ?-- 下午下單總數
? ? night_order_count BIGINT, ? ? ? ? ? ? ? -- 晚上下單總數
? ? most_usual_address VARCHAR(50), ? ? ? ? ? ? ?-- 常用收貨地址
? ? most_usual_paytype VARCHAR(50) ? ? ? ? ? ? ? -- 常用支付方式
? );

?--4.2 數據導出
?/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/hive_app_result \
--username root \
--password 123456 \
--table user_order_measure \
--input-fields-terminated-by '\t' \
--export-dir /user/hive/warehouse/itcast_app.db/user_order_measure

---------------數據可視化------------------------------------------------------
--1、啟動superset
superset run -h 192.168.88.100 -p 8099 --with-threads --reload --debugger
--2、訪問superset
?http://192.168.88.100:8099
? 用戶名:admin
? 密碼: 123456
--3、連接Mysql數據庫
?mysql+pymysql://root:123456@192.168.88.100/hive_app_result?charset=utf8


--4、指標可視化?
?--4.1、2020年期間每個季度的銷售訂單筆數、訂單總額可視化
? ?select * from hive_app_result.app_order_date where date_type = '1';

--4.2、2020年期間每個月的銷售訂單筆數可視化
-- 2020-01-1 00:00:00
?SELECT STR_TO_DATE(concat(date_val,"-01"),'%Y-%m-%d') AS TIMESTAMP, order_count,order_money?
?FROM hive_app_result.app_order_date?
?WHERE ?date_type = '2'

--4.3、2020年期間周一到周日的訂單金額可視化
SELECT?
date_val,
CASE WHEN ?date_val = '1' THEN '周一'
?WHEN ?date_val = '2' THEN '周二'
?WHEN ?date_val = '3' THEN '周三'
?WHEN ?date_val = '4' THEN '周四'
?WHEN ?date_val = '5' THEN '周五'
?WHEN ?date_val = '6' THEN '周六'
?WHEN ?date_val = '7' THEN '周日'
END AS week_val,
order_count,
order_money
FROM `app_order_date`
WHERE date_type = '3'
ORDER BY date_val ASC?

--4.4、全國一級商品分類維度的不分支付類型數據可視化
select * from hive_app_result.app_trade_order where category_type = '一級分類' and payment_name = '所有';

--4.5、全國二級商品分類維度的不分支付類型數據可視化
SELECT * FROM hive_app_result.app_trade_order WHERE ?area_type = '全國' AND category_type = '二級分類';


四、業務數據分析
--1、現將日志數據采集到HDFS上.
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

a1.sources.r1.type = TAILDIR
a1.sources.r1.positionFile = /var/log/flume/taildir_position.json
a1.sources.r1.filegroups = f1
a1.sources.r1.filegroups.f1 = /usr/local/nginx/logs/access*.log


# Describe the sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = /flume/web_log/2021-02-03
a1.sinks.k1.hdfs.filePrefix = events-

a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = minute

a1.sinks.k1.hdfs.rollInterval = 0
a1.sinks.k1.hdfs.rollSize = 4194304
a1.sinks.k1.hdfs.rollCount = 1000000
a1.sinks.k1.hdfs.idleTimeout= 10
a1.sinks.k1.hdfs.batchSize = 100
a1.sinks.k1.hdfs.useLocalTimeStamp = true
#生成的文件類型,默認是Sequencefile,可用DataStream,則為普通文本
a1.sinks.k1.hdfs.fileType = DataStream

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1


--2、啟動flume采集
?/export/server/flume-1.8.0/bin/flume-ng agent -c /export/server/flume-1.8.0/conf ?-f /export/server/flume-1.8.0/conf/web_log.conf -n a1 ?-Dflume.root.logger=INFO,console


--3、數據預處理?

?hadoop jar /export/data/mapreduce/web_log.jar cn.itcast.bigdata.weblog.pre.WeblogPreProcess ??

?源文件路徑:/flume/web_log/2021-02-03
?目標路徑:/output/web_log/pre_web_log

--原始日志數據
163.177.71.12 - - [01/Nov/2020:08:31:39 +0000] "HEAD / HTTP/1.1" 200 20 "-" "DNSPod-Monitor/1.0"
163.177.71.12 - - [01/Nov/2020:08:31:42 +0000] "HEAD / HTTP/1.1" 200 20 "-" "DNSPod-Monitor/1.0"
60.247.77.253 - - [01/Nov/2020:08:31:41 +0000] "GET /wp-content/uploads/2020/09/Hadoop-mahout-roadmap.png HTTP/1.1" 200 178536 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1"

--預處理之后的日志數據
true163.177.71.12-2020-11-01 08:28:43/20020"-""DNSPod-Monitor/1.0"
true163.177.71.12-2020-11-01 08:28:46/20020"-""DNSPod-Monitor/1.0"
true60.247.77.253-2020-11-01 08:31:34/wp-content/uploads/2020/09/Hadoop-mahout-roadmap.png200178528"-""Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.1(KHTML,likeGecko)Chrome/21.0.1180.89Safari/537.1"

--pageviews模型
4e7f9897-fc23-4307-93cf-94c97ce1feea163.177.71.12-2020-11-01 08:28:43/13"-""DNSPod-Monitor/1.0"20200
4e7f9897-fc23-4307-93cf-94c97ce1feea163.177.71.12-2020-11-01 08:28:46/2173"-""DNSPod-Monitor/1.0"20200

4e7f9897-fc23-4307-93cf-94c97ce1aaaa163.177.71.12-2020-11-01 15:28:46/14"-""DNSPod-Monitor/1.0"20200
4e7f9897-fc23-4307-93cf-94c97ce1aaaa163.177.71.12-2020-11-01 15:28:50/260"-""DNSPod-Monitor/1.0"20200

0772cabd-5da2-47f7-95fc-484dce095ca360.247.77.253-2020-11-01 08:30:09/category/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98/18"http://blog.fens.me/category/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98/""Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.1(KHTML,likeGecko)Chrome/21.0.1180.89Safari/537.1"17504200
0772cabd-5da2-47f7-95fc-484dce095ca360.247.77.253-2020-11-01 08:30:17/hadoop-mahout-roadmap/21"http://blog.fens.me/category/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98/""Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.1(KHTML,likeGecko)Chrome/21.0.1180.89Safari/537.1"10336200

--得到pageviews模型
hadoop jar /export/data/mapreduce/web_log.jar ?cn.itcast.bigdata.weblog.clickstream.ClickStreamPageView ??


--visits模型
00ebcd4c-9443-4112-828b-582b2e4e3c03183.60.9.2172020-11-01 07:10:572018-11-01 07:10:57/hadoop-hive-intro//hadoop-hive-intro/"-"12
0c371b1b-ccc7-4658-9c71-496e0ffc0f94115.236.11.1942020-11-01 12:25:572018-11-01 12:25:57/hadoop-mahout-roadmap//hadoop-mahout-roadmap/"http://f.dataguru.cn/thread-177375-1-1.html"8

--得到visits模型
hadoop jar /export/data/mapreduce/web_log.jar cn.itcast.bigdata.weblog.clickstream.ClickStreamVisit ? ?

---4、數據庫創建
create database if not exists ?web_log_ods;
create database if not exists ?web_log_dw;
create database if not exists ?web_log_app;

--5、創建ods層表

? --創建清洗后的原始日志表
? drop table if exists web_log_ods.ods_weblog_origin;
? create table web_log_ods.ods_weblog_origin(
? valid string , --有效標記
? remote_addr string, --訪客ip
? remote_user string, --訪客用戶信息
? time_local string, --請求時間
? request string, ?--請求url
? status string, --響應狀態碼
? body_bytes_sent string, --響應字節數
? http_referer string, --來源url
? http_user_agent string --訪客終端信息
? )?
? partitioned by (dt string)
? row format delimited fields terminated by '\001';

? --創建點擊流模型pageviews表
drop table if exists web_log_ods.ods_click_pageviews;
create table ?web_log_ods.ods_click_pageviews(
session string, --會話id
remote_addr string, --訪客ip
remote_user string, --訪客用戶信息
time_local string, --請求時間
request string, --請求url
visit_step string, --訪問步長
page_staylong string, --頁面停留時間(秒)
http_referer string, --來源url
http_user_agent string,--訪客終端信息
body_bytes_sent string,--響應字節數
status string --響應狀態碼
)
partitioned by (dt string)
row format delimited fields terminated by '\001';

--創建點擊流visits模型表
drop table if exists web_log_ods.ods_click_stream_visits;
create table web_log_ods.ods_click_stream_visits(
session ? ? string, --會話id
remote_addr string, --訪客ip
inTime ? ? ?string, --會話訪問起始時間
outTime ? ? string, --會話訪問離開時間
inPage ? ? ?string, --會話訪問起始頁面
outPage ? ? string, --會話訪問離開頁面
referal ? ? string, --來源url
pageVisits ?int --會話頁面訪問數量
)
partitioned by (dt string)
row format delimited fields terminated by '\001';

--表數據加載

load data inpath '/output/web_log/pre_web_log' overwrite into table ?web_log_ods.ods_weblog_origin partition(dt='2021-02-01');
?
load data inpath '/output/web_log/pageviews'overwrite into table web_log_ods.ods_click_pageviews partition(dt='2021-02-01');
?
load data inpath '/output/web_log/visits' overwrite into table web_log_ods.ods_click_stream_visits partition(dt='2021-02-01');

--明細表(寬表)實現
drop table web_log_dw.dw_weblog_detail;
create table web_log_dw.dw_weblog_detail(
valid ? ? ? ? ? string, --有效標識
remote_addr ? ? string, --來源IP
remote_user ? ? string, --用戶標識
time_local ? ? ?string, --訪問完整時間
daystr ? ? ? ? ?string, --訪問日期
timestr ? ? ? ? string, --訪問時間
month ? ? ? ? ? string, --訪問月
day ? ? ? ? ? ? string, --訪問日
hour ? ? ? ? ? ?string, --訪問時
request ? ? ? ? string, --請求的url
status ? ? ? ? ?string, --響應碼
body_bytes_sent string, --傳輸字節數
http_referer ? ?string, --來源url
ref_host ? ? ? ?string, --來源的host
ref_path ? ? ? ?string, --來源的路徑
ref_query ? ? ? string, --來源參數query
ref_query_id ? ?string, --來源參數query的值
http_user_agent string --客戶終端標識
)
partitioned by(dt string)
row format delimited fields terminated by '\001';

--明細表加載數據
2020-11-01 08:28:43

insert into table web_log_dw.dw_weblog_detail partition(dt='2021-02-01')
select c.valid,c.remote_addr,c.remote_user,c.time_local,
substring(c.time_local,1,10) as daystr, --2020-11-01
substring(c.time_local,12) as tmstr, --08:28:43
substring(c.time_local,6,2) as month, --11
substring(c.time_local,9,2) as day, ?---01
substring(c.time_local,12,2) as hour, --08
c.request,c.status,c.body_bytes_sent,c.http_referer,c.ref_host,c.ref_path,c.ref_query,c.ref_query_id,c.http_user_agent
from
(
? ? SELECT
? a.valid,a.remote_addr,a.remote_user,a.time_local,
? a.request,a.status,a.body_bytes_sent,a.http_referer,a.http_user_agent,b.ref_host,b.ref_path,b.ref_query,b.ref_query_id
? FROM web_log_ods.ods_weblog_origin a LATERAL VIEW
? parse_url_tuple(regexp_replace(http_referer, "\"", ""), 'HOST', 'PATH','QUERY', 'QUERY:id') b as ref_host, ref_path, ref_query,
? ref_query_id
?) c;

-- http://www.baidu.com/email/info/a.jpg?id=val1&key2=val2 ? www.baidu.com ? /email/info/a.jpg id=val1&key2=val2 ?val1


--執行sql
hive -f '/export/data/hive_sql/web_log_detail.sql'1


--6、基礎指標分析
192.168.88.5:
? 8:00 ?a.html
? 8:15 ?b.html
? 8:50 ?c.html
? 18:15 d.html

192.168.88.6:
? 8:00 ?c.html
? 8:15 ?d.html
? 8:50 ?e.html
? 18:15 f.html


?web_log_dw.dw_weblog_detail
?select * from ?web_log_dw.dw_weblog_detail limit 10
?--瀏覽頁面次數(pv) ?--->6
?select count(*) as pvs from ?web_log_dw.dw_weblog_detail where valid = true and dt='2021-02-01';

?--獨立訪客(uv) ----->2
?select count(distinct remote_addr) as uvs from ?web_log_dw.dw_weblog_detail where valid = true and dt='2021-02-01';

?--訪問次數(vv) ----->6
select count(session) from ods_click_stream_visits where ?dt='2021-02-01'?

--基礎指標入庫
drop table if exists web_log_app.app_webflow_basic_info;
create table web_log_app.app_webflow_basic_info(date_val string,pvs bigint,uvs bigint,vvs bigint) partitioned by(dt string);
?
--允許笛卡爾積
set spark.sql.crossJoin.enabled=true;
?
insert into table web_log_app.app_webflow_basic_info partition(dt='2021-02-01')
select '2021-02-01',a.*,b.* from
(?
? ?select count(*) as pvs,count(distinct remote_addr) as uvs from web_log_dw.dw_weblog_detail ?where dt='2021-02-01'
) a?
join?
(
?select count(session) as vvs from web_log_ods.ods_click_stream_visits where dt='2021-02-01'
) b;

--基礎指標多維度統計分析:注意gruop by語句的語法
?
1、多維度統計PV總量
--多維度統計分析:注意gruop by語句的語法
?
1.1. 多維度統計PV總量
--第一種方式:直接在web_log_dw.dw_weblog_detail 單表上進行查詢
1.1.1 計算該處理批次(一天)中的各小時pvs
drop table if exists web_log_app.app_pvs_everyhour_oneday;
create table web_log_app.app_pvs_everyhour_oneday(month string,day string,hour string,pvs bigint) partitioned by(dt string);
?
insert into table web_log_app.app_pvs_everyhour_oneday partition(dt='2021-02-01')
select a.month as month,a.day as day,a.hour as hour,count(*) as pvs from web_log_dw.dw_weblog_detail ?a
where ?a.dt='2021-02-01' group by a.month,a.day,a.hour;
?
--計算每天的pvs
drop table if exists web_log_app.app_pvs_everyday;
create table web_log_app.app_pvs_everyday(pvs bigint,month string,day string);
?
insert into table web_log_app.app_pvs_everyday
select count(*) as pvs,a.month as month,a.day as day from web_log_dw.dw_weblog_detail ?a
group by a.month,a.day;

--7、符合指標分析」

--復合指標統計分析
?
--人均瀏覽頁數(平均訪問深度)
?--需求描述:統計今日所有來訪者平均請求的頁面數。
?--總頁面請求數pv/去重總人數uv
?
drop table if exists web_log_app.app_avgpv_user_everydayy;
create table web_log_app.app_avgpv_user_everyday(day string, avgpv string);
? ? ? ??
?
--方式一:
insert into table web_log_app.app_avgpv_user_everyday
select '2021-02-01',pvs/uvs from web_log_app.app_webflow_basic_info;
?
--方式二:
?
insert ?into table web_log_app.app_avgpv_user_everyday
select '2021-02-01',sum(b.pvs)/count(b.remote_addr) from
(select remote_addr,count(*) as pvs from web_log_dw.dw_weblog_detail where dt='2021-02-01' group by remote_addr) b;


--平均訪問時長
?
? ? --平均每次訪問(會話)在網站上的停留時間。
? ? --體現網站對訪客的吸引程度。
? ? --平均訪問時長=訪問總時長/訪問次數。
?
--先計算每次會話的停留時長
?
select session, sum(page_staylong) as web_staylong from web_log_ods.ods_click_pageviews where dt='2021-02-01'
group by session;
?
?
--計算平均訪問時長
select
sum(a.web_staylong)/count(a.session)
from?
(select session, sum(page_staylong) as web_staylong from web_log_ods.ods_click_pageviews where dt='2021-02-01'
group by session) a;

--跳出率
? ? --跳出率是指用戶到網站上僅瀏覽了一個頁面就離開的訪問次數與所有訪問次數的百分比。
? ? --是評價網站性能的重要指標。
?
--/hadoop-mahout-roadmap/ 頁面跳出率
?
--總的訪問次數vv
select vvs from app_webflow_basic_info where dt='2021-02-01';
?
--瀏覽/hadoop-mahout-roadmap/一個頁面 并且離開的人數
select count(*) from web_log_ods.ods_click_stream_visits where dt='2021-02-01'
and pagevisits = 1 and outpage = "/hadoop-mahout-roadmap/";
?
?
--合并計算結果:
select
(b.nums/a.vvs)*100
from web_log_app.app_webflow_basic_info a join (select count(*) as nums from web_log_ods.ods_click_stream_visits where dt='2021-02-01'
and pagevisits = 1 and outpage = "/hadoop-mahout-roadmap/") b;

--熱門頁面統計
--統計最熱門的頁面top10
?
drop table if exists web_log_app.app_hotpages_everyday;
create table web_log_app.app_hotpages_everyday(day string,url string,pvs string);
?
--方式1
insert into table web_log_app.app_hotpages_everyday
select '2021-02-01',a.request,a.request_counts from
(select request as request,count(request) as request_counts?
from web_log_dw.dw_weblog_detail where dt='2021-02-01' group by request having request is not null
) a
order by a.request_counts desc limit 10;

--方式2
insert into table web_log_app.app_hotpages_everyday
select * from
(
SELECT?
? '2021-02-01',a.request,a.request_counts,
? RANK() OVER( ORDER BY a.request_counts desc) AS rn?
? FROM?
? (
? ? select request as request,count(request) as request_counts?
? ? from web_log_dw.dw_weblog_detail where dt='2021-02-01' group by request having request is not null
? )a
)b
where b.rn <= 10
?;


--漏斗模型
--添加模擬數據

load data local inpath '/export/data/hivedatas/click-part-r-00000' overwrite into table web_log_ods.ods_click_pageviews partition(dt='2021-02-01');
?
----------------------------------------------------------
---1、查詢每一個步驟的總訪問人數
--UNION All將多個SELECT語句的結果集合并為一個獨立的結果集
?
create table web_log_app.app_oute_numbs as?
select 'step1' as step,count(distinct remote_addr) ?as numbs from web_log_ods.ods_click_pageviews where dt='2021-02-01' and request like '/item%'
union all
select 'step2' as step,count(distinct remote_addr) ?as numbs from ?web_log_ods.ods_click_pageviews where dt='2021-02-01' and request like '/category%'
union all
select 'step3' as step,count(distinct remote_addr) ?as numbs from ?web_log_ods.ods_click_pageviews where dt='2021-02-01' and request like '/order%'
union all
select 'step4' as step,count(distinct remote_addr) ?as numbs from ?web_log_ods.ods_click_pageviews where dt='2021-02-01' and request like '/index%';


--2、查詢每一步驟相對于路徑起點人數的比例
--級聯查詢,自己跟自己join
?
select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs ?from web_log_app.app_oute_numbs rn
inner join?
web_log_app.app_oute_numbs rr;


--每一步的人數/第一步的人數==每一步相對起點人數比例
select tmp.rnstep,tmp.rnnumbs/tmp.rrnumbs * 100 as abs_rate
from
(
select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs ?from web_log_app.app_oute_numbs rn
inner join?
web_log_app.app_oute_numbs rr) tmp
where tmp.rrstep='step1'


--3、查詢每一步驟相對于上一步驟的漏出率
--首先通過自join表過濾出每一步跟上一步的記錄
select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs ?from web_log_app.app_oute_numbs rn
inner join?
web_log_app.app_oute_numbs rr
where cast(substr(rn.step,5,1) as int)=cast(substr(rr.step,5,1) as int)-1;
?
--然后就可以非常簡單的計算出每一步相對上一步的漏出率
select tmp.rrstep as step,tmp.rrnumbs/tmp.rnnumbs as leakage_rate
from
(
select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs ?from web_log_app.app_oute_numbs rn
inner join?
web_log_app.app_oute_numbs rr) tmp
where cast(substr(tmp.rnstep,5,1) as int)=cast(substr(tmp.rrstep,5,1) as int)-1;

--4、匯總以上兩種指標
drop table if exists web_log_app.app_bounce_rate;
create table web_log_app.app_bounce_rate?
(
?step_num string,
?numbs bigint,
?abs_rate double,
?leakage_rate double
);
insert into table web_log_app.app_bounce_rate?
select abs.step,abs.numbs,abs.rate as abs_rate,rel.leakage_rate as leakage_rate
from?
(
select tmp.rnstep as step,tmp.rnnumbs as numbs,tmp.rnnumbs/tmp.rrnumbs * 100 as rate
from
(
select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs ?from web_log_app.app_oute_numbs rn
inner join?
web_log_app.app_oute_numbs rr) tmp
where tmp.rrstep='step1'
) abs
left outer join
(
select tmp.rrstep as step,tmp.rrnumbs/tmp.rnnumbs * 100 as leakage_rate
from
(
select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs ?from web_log_app.app_oute_numbs rn
inner join?
web_log_app.app_oute_numbs rr) tmp
where cast(substr(tmp.rnstep,5,1) as int)=cast(substr(tmp.rrstep,5,1) as int)-1
) rel
on abs.step=rel.step;


--8、結果表導出------------------------

--創建mysql結果表
CREATE DATABASE web_log_result;
drop table if exists web_log_result.app_webflow_basic_info;
CREATE TABLE web_log_result.app_webflow_basic_info(MONTH VARCHAR(50),DAY VARCHAR(50),pv BIGINT,uv BIGINT,ip BIGINT,vv BIGINT);

/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/web_log_result \
--username root \
--password 123456 \
--table app_webflow_basic_info \
--input-fields-terminated-by '\001' \
--export-dir /user/hive/warehouse/web_log_app.db/app_webflow_basic_info/dt=2021-02-01

CREATE TABLE web_log_result.app_avgpv_user_everyday(
DAY VARCHAR(50),
avgpv VARCHAR(50)
);


/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/web_log_result \
--username root \
--password 123456 \
--table app_avgpv_user_everyday \
--input-fields-terminated-by '\001' \
--export-dir /user/hive/warehouse/web_log_app.db/app_avgpv_user_everyday

DROP TABLE IF EXISTS web_log_result.app_hotpages_everyday;
CREATE TABLE web_log_result.app_hotpages_everyday(
?day_value VARCHAR(20),
?url VARCHAR(100),
?pvs BIGINT
);


/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/web_log_result \
--username root \
--password 123456 \
--table app_hotpages_everyday \
--input-fields-terminated-by '\001' \
--export-dir /user/hive/warehouse/web_log_app.db/app_hotpages_everyday \
--input-null-string '\\N' --input-null-non-string '\\N'

drop table web_log_result.app_pvs_everyhour_oneday;
create table web_log_result.app_pvs_everyhour_oneday
(
month varchar(20),
day varchar(20),
hour varchar(20),
pvs bigint
);

/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/web_log_result \
--username root \
--password 123456 \
--table app_pvs_everyhour_oneday \
--input-fields-terminated-by '\001' \
--export-dir /user/hive/warehouse/web_log_app.db/app_pvs_everyhour_oneday/dt=2021-02-01 \
--input-null-string '\\N' --input-null-non-string '\\N'


drop table if exists web_log_result.app_bounce_rate;
create table web_log_result.app_bounce_rate?
(
?step_num varchar(50),
?numbs bigint,
?abs_rate double,
?leakage_rate double
);


/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/web_log_result \
--username root \
--password 123456 \
--table app_bounce_rate \
--input-fields-terminated-by '\001' \
--export-dir /user/hive/warehouse/web_log_app.db/app_bounce_rate \
--input-null-string '\\N' --input-null-non-string '\\N'


--9、數據可視化
--啟動superset
superset run -h 192.168.88.100 -p 8099 --with-threads --reload --debugger
--mysql的url地
? mysql+pymysql://root:123456@192.168.88.100/web_log_result?charset=utf8


--總pv量
? SELECT pv FROM web_log_result.app_webflow_basic_info
--一天各小時pvs的趨勢
SELECT STR_TO_DATE(CONCAT('2020-',MONTH,'-',DAY,HOUR,':00:00'),'%Y-%m-%d %H:%i:%s') AS date_val ,pvs?
FROM app_pvs_everyhour_oneday WHERE MONTH='11' AND DAY = '01';


--統計每日最熱門的頁面top10
SELECT * FROM web_log_result.app_hotpages_everyday;

--漏斗模型
SELECT * FROM web_log_result.app_bounce_rate ORDER BY step_num;

總結

以上是生活随笔為你收集整理的【无标题】数仓实战之亚马逊全球跨境电商分析平台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲中文字幕在线无码一区二区 | 色婷婷av一区二区三区之红樱桃 | 午夜福利电影 | 亚洲欧美日韩综合久久久 | 亚洲国产精品一区二区第一页 | 国产一区二区三区精品视频 | 在线精品亚洲一区二区 | 亚洲中文无码av永久不收费 | 久久久精品456亚洲影院 | 无码一区二区三区在线观看 | 亚洲男人av天堂午夜在 | ass日本丰满熟妇pics | 国产精品久久福利网站 | 中文精品无码中文字幕无码专区 | 日本欧美一区二区三区乱码 | 夜夜影院未满十八勿进 | 久久久中文久久久无码 | 国产精品香蕉在线观看 | 无码中文字幕色专区 | 最近中文2019字幕第二页 | 色情久久久av熟女人妻网站 | 人人妻人人澡人人爽欧美一区九九 | 亚洲性无码av中文字幕 | 国产无套粉嫩白浆在线 | 丰满肥臀大屁股熟妇激情视频 | 蜜桃视频插满18在线观看 | 日本护士xxxxhd少妇 | 在线欧美精品一区二区三区 | 精品国精品国产自在久国产87 | 国产精品久久久一区二区三区 | 婷婷丁香五月天综合东京热 | 少妇被粗大的猛进出69影院 | 日欧一片内射va在线影院 | 亚洲精品久久久久久久久久久 | 国产特级毛片aaaaaa高潮流水 | 狠狠色丁香久久婷婷综合五月 | 欧美xxxx黑人又粗又长 | a片免费视频在线观看 | 免费无码午夜福利片69 | 大乳丰满人妻中文字幕日本 | 对白脏话肉麻粗话av | 亚洲色无码一区二区三区 | 国内揄拍国内精品少妇国语 | 国产精品高潮呻吟av久久4虎 | 国产成人综合色在线观看网站 | 国产成人综合美国十次 | 丰腴饱满的极品熟妇 | 男女作爱免费网站 | 亚洲综合无码一区二区三区 | 久久无码中文字幕免费影院蜜桃 | 久久精品人人做人人综合 | 国产做国产爱免费视频 | 亚洲日本va午夜在线电影 | 国产成人综合美国十次 | 国产97在线 | 亚洲 | 精品熟女少妇av免费观看 | 国精产品一区二区三区 | 国内丰满熟女出轨videos | 亚洲一区二区三区 | 在线欧美精品一区二区三区 | 欧美性生交xxxxx久久久 | 色一情一乱一伦一视频免费看 | 狠狠色色综合网站 | 67194成是人免费无码 | 国产又粗又硬又大爽黄老大爷视 | 亚洲国产成人av在线观看 | 中文字幕 亚洲精品 第1页 | 牲欲强的熟妇农村老妇女 | 久久亚洲精品中文字幕无男同 | 强开小婷嫩苞又嫩又紧视频 | 久久久国产一区二区三区 | 日韩欧美中文字幕在线三区 | 久久五月精品中文字幕 | 亚洲毛片av日韩av无码 | 国产性生交xxxxx无码 | 老司机亚洲精品影院 | 任你躁在线精品免费 | 欧美日本日韩 | 国产极品美女高潮无套在线观看 | 乱码av麻豆丝袜熟女系列 | 免费人成在线观看网站 | aa片在线观看视频在线播放 | 精品偷自拍另类在线观看 | 99久久婷婷国产综合精品青草免费 | 黑森林福利视频导航 | 最近中文2019字幕第二页 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲精品国产精品乱码不卡 | 国产激情精品一区二区三区 | 国产精品国产自线拍免费软件 | 丰满人妻精品国产99aⅴ | a片在线免费观看 | 国产午夜精品一区二区三区嫩草 | 国内精品人妻无码久久久影院 | 一本大道伊人av久久综合 | 国产精品久久久av久久久 | 美女毛片一区二区三区四区 | 领导边摸边吃奶边做爽在线观看 | 国产手机在线αⅴ片无码观看 | 宝宝好涨水快流出来免费视频 | 婷婷丁香六月激情综合啪 | 伊在人天堂亚洲香蕉精品区 | 中文字幕日产无线码一区 | 天堂亚洲免费视频 | 粗大的内捧猛烈进出视频 | 日本免费一区二区三区最新 | 扒开双腿疯狂进出爽爽爽视频 | 少妇性俱乐部纵欲狂欢电影 | 又大又黄又粗又爽的免费视频 | 久久精品国产一区二区三区肥胖 | 日韩 欧美 动漫 国产 制服 | 欧美三级a做爰在线观看 | 人人澡人人透人人爽 | 性欧美牲交在线视频 | 无套内谢的新婚少妇国语播放 | 天干天干啦夜天干天2017 | 日本一区二区三区免费高清 | 国产香蕉尹人综合在线观看 | 久久午夜无码鲁丝片午夜精品 | 无码精品国产va在线观看dvd | 日韩人妻无码一区二区三区久久99 | 久久亚洲日韩精品一区二区三区 | 网友自拍区视频精品 | 日本又色又爽又黄的a片18禁 | 国产综合在线观看 | 国产亲子乱弄免费视频 | 永久黄网站色视频免费直播 | 久久久国产一区二区三区 | 国产精品久久国产三级国 | 日日碰狠狠丁香久燥 | 欧美xxxx黑人又粗又长 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲欧洲日本无在线码 | 少妇高潮一区二区三区99 | 欧美35页视频在线观看 | 久热国产vs视频在线观看 | 奇米影视7777久久精品人人爽 | 97色伦图片97综合影院 | 精品一区二区不卡无码av | 国产精品久免费的黄网站 | 日本欧美一区二区三区乱码 | 狠狠亚洲超碰狼人久久 | 中文字幕乱码亚洲无线三区 | 国产精品.xx视频.xxtv | 国产农村乱对白刺激视频 | 无套内谢的新婚少妇国语播放 | 国产人妖乱国产精品人妖 | 久久久久免费精品国产 | 日韩无套无码精品 | 国产真实乱对白精彩久久 | 噜噜噜亚洲色成人网站 | 精品久久久无码中文字幕 | 最近的中文字幕在线看视频 | 无码人妻精品一区二区三区下载 | 欧美真人作爱免费视频 | 亚洲乱码中文字幕在线 | 精品夜夜澡人妻无码av蜜桃 | 久久99精品久久久久久动态图 | 无码人妻丰满熟妇区毛片18 | 99视频精品全部免费免费观看 | 人人妻人人澡人人爽人人精品浪潮 | 国产美女精品一区二区三区 | 一本久道高清无码视频 | 人妻少妇精品视频专区 | 国产av一区二区三区最新精品 | 精品人妻人人做人人爽 | 久久精品女人天堂av免费观看 | 亚洲精品国产精品乱码不卡 | 亚洲va欧美va天堂v国产综合 | 88国产精品欧美一区二区三区 | 色欲人妻aaaaaaa无码 | 亚洲人成网站在线播放942 | 丝袜人妻一区二区三区 | 疯狂三人交性欧美 | 精品国产一区二区三区四区在线看 | 国产熟女一区二区三区四区五区 | 超碰97人人做人人爱少妇 | 国产精品va在线观看无码 | 久久精品视频在线看15 | 精品久久久无码中文字幕 | 5858s亚洲色大成网站www | 欧美肥老太牲交大战 | 国产极品视觉盛宴 | 人人爽人人澡人人人妻 | 日欧一片内射va在线影院 | 欧美精品免费观看二区 | 亚洲精品综合五月久久小说 | 中文精品无码中文字幕无码专区 | 黑人大群体交免费视频 | 国产69精品久久久久app下载 | 精品国产国产综合精品 | 曰本女人与公拘交酡免费视频 | 国产一区二区三区四区五区加勒比 | 亚洲成av人片在线观看无码不卡 | 精品一区二区不卡无码av | 久久综合给合久久狠狠狠97色 | 爆乳一区二区三区无码 | 又粗又大又硬毛片免费看 | 精品国精品国产自在久国产87 | 国产农村乱对白刺激视频 | 国产人妻久久精品二区三区老狼 | 在线成人www免费观看视频 | yw尤物av无码国产在线观看 | 日韩人妻无码一区二区三区久久99 | 久久国产精品_国产精品 | 无码人妻黑人中文字幕 | 无遮挡啪啪摇乳动态图 | 亚洲爆乳大丰满无码专区 | 强伦人妻一区二区三区视频18 | 88国产精品欧美一区二区三区 | 高潮喷水的毛片 | 少妇高潮一区二区三区99 | 亚洲大尺度无码无码专区 | 成人av无码一区二区三区 | 国产成人无码a区在线观看视频app | 亚洲爆乳精品无码一区二区三区 | 任你躁在线精品免费 | 自拍偷自拍亚洲精品10p | 久久99精品国产麻豆蜜芽 | 55夜色66夜色国产精品视频 | 久久午夜夜伦鲁鲁片无码免费 | 3d动漫精品啪啪一区二区中 | 亚洲va中文字幕无码久久不卡 | 在线观看免费人成视频 | 5858s亚洲色大成网站www | 亚洲熟妇色xxxxx欧美老妇y | 亚洲一区二区三区无码久久 | 丰满人妻翻云覆雨呻吟视频 | 狠狠色欧美亚洲狠狠色www | 国精品人妻无码一区二区三区蜜柚 | 亚洲成色在线综合网站 | 2019nv天堂香蕉在线观看 | 日韩无套无码精品 | 国产成人精品必看 | 欧美日本免费一区二区三区 | 亚洲精品成人福利网站 | 精品国产精品久久一区免费式 | 亚洲精品www久久久 | 成人无码视频在线观看网站 | 亚洲乱亚洲乱妇50p | 亚洲综合在线一区二区三区 | 国产成人精品视频ⅴa片软件竹菊 | 天天躁夜夜躁狠狠是什么心态 | 午夜福利试看120秒体验区 | 人人妻人人澡人人爽欧美一区 | 久久久中文字幕日本无吗 | 亚洲男人av天堂午夜在 | 狂野欧美性猛xxxx乱大交 | 人人妻人人澡人人爽人人精品 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产精品久久久久9999小说 | 国产精品无码永久免费888 | 日本高清一区免费中文视频 | 国产另类ts人妖一区二区 | 色诱久久久久综合网ywww | 特黄特色大片免费播放器图片 | 久在线观看福利视频 | 欧美人与动性行为视频 | 丰满肥臀大屁股熟妇激情视频 | 真人与拘做受免费视频一 | 无码福利日韩神码福利片 | 牲欲强的熟妇农村老妇女视频 | 国产免费久久久久久无码 | 人妻体内射精一区二区三四 | 久久综合久久自在自线精品自 | 福利一区二区三区视频在线观看 | 纯爱无遮挡h肉动漫在线播放 | 国产成人综合美国十次 | 日韩欧美中文字幕在线三区 | 欧美人与物videos另类 | 日韩少妇内射免费播放 | 久久亚洲中文字幕无码 | 极品尤物被啪到呻吟喷水 | 成人三级无码视频在线观看 | 日韩av激情在线观看 | 国产麻豆精品一区二区三区v视界 | 奇米影视7777久久精品人人爽 | 色婷婷av一区二区三区之红樱桃 | 国产精品亚洲综合色区韩国 | 正在播放老肥熟妇露脸 | 粉嫩少妇内射浓精videos | 国产成人无码一二三区视频 | 美女极度色诱视频国产 | 人妻少妇精品无码专区动漫 | 综合人妻久久一区二区精品 | 粗大的内捧猛烈进出视频 | 午夜成人1000部免费视频 | 国产成人无码av片在线观看不卡 | 亚洲 日韩 欧美 成人 在线观看 | 无码av最新清无码专区吞精 | 十八禁视频网站在线观看 | 国产精品成人av在线观看 | 1000部啪啪未满十八勿入下载 | 亚洲一区二区三区在线观看网站 | 在线精品亚洲一区二区 | 熟妇人妻激情偷爽文 | 美女张开腿让人桶 | 亚洲乱亚洲乱妇50p | 国产办公室秘书无码精品99 | 亚洲春色在线视频 | 国产偷自视频区视频 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 成人一区二区免费视频 | 夜夜躁日日躁狠狠久久av | 小鲜肉自慰网站xnxx | 精品无码国产自产拍在线观看蜜 | 日日摸夜夜摸狠狠摸婷婷 | 国产人妻精品一区二区三区不卡 | 丁香啪啪综合成人亚洲 | 黑人粗大猛烈进出高潮视频 | 国产日产欧产精品精品app | 性欧美牲交在线视频 | 99国产欧美久久久精品 | 美女扒开屁股让男人桶 | 国产成人无码av片在线观看不卡 | 国产高清不卡无码视频 | 97精品国产97久久久久久免费 | 国产亚洲精品久久久ai换 | 久久精品国产99精品亚洲 | 沈阳熟女露脸对白视频 | 亚洲欧美国产精品久久 | 成人性做爰aaa片免费看不忠 | 久久国产精品萌白酱免费 | 午夜福利不卡在线视频 | 日韩成人一区二区三区在线观看 | 性史性农村dvd毛片 | 欧美一区二区三区视频在线观看 | 亚洲成av人片天堂网无码】 | 久久久久久a亚洲欧洲av冫 | 4hu四虎永久在线观看 | 免费网站看v片在线18禁无码 | 在线观看欧美一区二区三区 | 婷婷丁香五月天综合东京热 | 亚洲欧美国产精品专区久久 | 一本一道久久综合久久 | 一本久道高清无码视频 | 少妇无码av无码专区在线观看 | 欧美激情内射喷水高潮 | 激情综合激情五月俺也去 | 亚洲爆乳无码专区 | 国产黑色丝袜在线播放 | 欧美人与善在线com | 国产精品久久久久久亚洲影视内衣 | 国语精品一区二区三区 | av无码电影一区二区三区 | 欧美 丝袜 自拍 制服 另类 | 国产午夜手机精彩视频 | 欧美性生交活xxxxxdddd | 青春草在线视频免费观看 | 18禁黄网站男男禁片免费观看 | 精品国产一区av天美传媒 | 欧美喷潮久久久xxxxx | 精品国产成人一区二区三区 | 亚洲爆乳大丰满无码专区 | 国产午夜福利100集发布 | 日本丰满护士爆乳xxxx | 图片区 小说区 区 亚洲五月 | 亚洲国产精品久久久久久 | 亚洲一区av无码专区在线观看 | 永久免费观看美女裸体的网站 | 久久久精品国产sm最大网站 | 中文字幕中文有码在线 | 人人妻人人澡人人爽欧美一区九九 | 一本大道伊人av久久综合 | 日本精品人妻无码免费大全 | 色窝窝无码一区二区三区色欲 | 国产成人无码区免费内射一片色欲 | 白嫩日本少妇做爰 | 国产熟妇高潮叫床视频播放 | 在线观看国产一区二区三区 | 亚洲区欧美区综合区自拍区 | 久久久中文字幕日本无吗 | 成在人线av无码免费 | 国産精品久久久久久久 | 欧美亚洲日韩国产人成在线播放 | 久久久久se色偷偷亚洲精品av | 日日橹狠狠爱欧美视频 | 亚洲色成人中文字幕网站 | 野外少妇愉情中文字幕 | 天天躁日日躁狠狠躁免费麻豆 | 日韩亚洲欧美精品综合 | 亚洲人成网站免费播放 | 国产又爽又猛又粗的视频a片 | 国产精品美女久久久久av爽李琼 | 伦伦影院午夜理论片 | 亚洲一区av无码专区在线观看 | 日本高清一区免费中文视频 | 综合人妻久久一区二区精品 | 亚洲精品一区二区三区在线 | 亚洲成a人片在线观看日本 | 黑人巨大精品欧美黑寡妇 | 狠狠躁日日躁夜夜躁2020 | 中国大陆精品视频xxxx | 久久久久免费看成人影片 | 人人妻人人澡人人爽欧美精品 | 东京一本一道一二三区 | 日韩人妻少妇一区二区三区 | 亚洲毛片av日韩av无码 | 天堂无码人妻精品一区二区三区 | 女人高潮内射99精品 | 亚洲 欧美 激情 小说 另类 | 亚洲精品综合一区二区三区在线 | 亚洲日本va中文字幕 | 亚洲精品一区二区三区在线观看 | 老头边吃奶边弄进去呻吟 | 国产热a欧美热a在线视频 | 国产精品18久久久久久麻辣 | 日本高清一区免费中文视频 | 国产两女互慰高潮视频在线观看 | 久久国产自偷自偷免费一区调 | 娇妻被黑人粗大高潮白浆 | 国产亚洲tv在线观看 | 装睡被陌生人摸出水好爽 | 精品无码国产自产拍在线观看蜜 | 国产av无码专区亚洲awww | 熟女少妇人妻中文字幕 | 国产精品美女久久久 | 国产婷婷色一区二区三区在线 | 99久久无码一区人妻 | 亚洲精品一区二区三区四区五区 | 亚洲中文字幕久久无码 | 最新国产乱人伦偷精品免费网站 | 人人妻人人澡人人爽人人精品 | 一个人看的www免费视频在线观看 | 亚洲一区二区三区无码久久 | 国产精品亚洲五月天高清 | 亚洲乱码国产乱码精品精 | 久久久精品人妻久久影视 | 我要看www免费看插插视频 | 女人色极品影院 | 久久久久免费精品国产 | 国产精品国产自线拍免费软件 | 精品久久8x国产免费观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久人人97超碰a片精品 | 日日碰狠狠躁久久躁蜜桃 | 精品国产乱码久久久久乱码 | 亚洲天堂2017无码中文 | 精品国产青草久久久久福利 | 亚无码乱人伦一区二区 | 亚欧洲精品在线视频免费观看 | 少女韩国电视剧在线观看完整 | 日本在线高清不卡免费播放 | 国产舌乚八伦偷品w中 | 少妇无码一区二区二三区 | 亚洲精品国产第一综合99久久 | 亚洲中文字幕在线无码一区二区 | 日日摸天天摸爽爽狠狠97 | 久久精品国产99久久6动漫 | av人摸人人人澡人人超碰下载 | 成人精品一区二区三区中文字幕 | 亚洲无人区午夜福利码高清完整版 | 国产9 9在线 | 中文 | 国产成人精品优优av | 玩弄少妇高潮ⅹxxxyw | 国产欧美精品一区二区三区 | 兔费看少妇性l交大片免费 | 亚洲中文字幕乱码av波多ji | 人人妻人人藻人人爽欧美一区 | 少妇被黑人到高潮喷出白浆 | 牲欲强的熟妇农村老妇女视频 | 亚洲一区二区三区 | 中文字幕乱码中文乱码51精品 | 亚洲欧美国产精品久久 | 成人一区二区免费视频 | 人妻无码αv中文字幕久久琪琪布 | 激情人妻另类人妻伦 | 国产无遮挡吃胸膜奶免费看 | 国产电影无码午夜在线播放 | 日本精品人妻无码免费大全 | 久久久精品欧美一区二区免费 | 中文无码精品a∨在线观看不卡 | 熟妇人妻中文av无码 | 成人试看120秒体验区 | 日韩无码专区 | a国产一区二区免费入口 | 成人影院yy111111在线观看 | 狠狠躁日日躁夜夜躁2020 | 熟女少妇人妻中文字幕 | 十八禁视频网站在线观看 | 亚洲国精产品一二二线 | 熟女俱乐部五十路六十路av | 大屁股大乳丰满人妻 | 激情综合激情五月俺也去 | 四虎影视成人永久免费观看视频 | 精品乱子伦一区二区三区 | 未满成年国产在线观看 | 在线 国产 欧美 亚洲 天堂 | 国产精品人妻一区二区三区四 | 中文毛片无遮挡高清免费 | 色欲综合久久中文字幕网 | 亚洲成a人片在线观看日本 | 国产黑色丝袜在线播放 | 精品久久久久久人妻无码中文字幕 | 蜜桃无码一区二区三区 | 国产精品沙发午睡系列 | 老熟妇乱子伦牲交视频 | 亚洲国产成人av在线观看 | 免费国产黄网站在线观看 | av无码久久久久不卡免费网站 | 黑人巨大精品欧美黑寡妇 | 成年美女黄网站色大免费全看 | 国产超碰人人爽人人做人人添 | 日欧一片内射va在线影院 | 中文字幕无码免费久久9一区9 | 国产97色在线 | 免 | 国产精品成人av在线观看 | 国产va免费精品观看 | 国内综合精品午夜久久资源 | 88国产精品欧美一区二区三区 | 亚洲精品一区二区三区在线 | 麻豆国产丝袜白领秘书在线观看 | 日本熟妇浓毛 | 国产一精品一av一免费 | 国产亚av手机在线观看 | 欧美激情一区二区三区成人 | 久久99久久99精品中文字幕 | 国产真实乱对白精彩久久 | 欧洲熟妇色 欧美 | 强开小婷嫩苞又嫩又紧视频 | 少妇无套内谢久久久久 | 欧美喷潮久久久xxxxx | 国产99久久精品一区二区 | 成 人 免费观看网站 | 久久综合给久久狠狠97色 | 男人扒开女人内裤强吻桶进去 | 色诱久久久久综合网ywww | 波多野结衣高清一区二区三区 | 久久无码专区国产精品s | 精品国产青草久久久久福利 | 无码人妻出轨黑人中文字幕 | 国产国语老龄妇女a片 | 大色综合色综合网站 | 免费无码午夜福利片69 | 日韩人妻系列无码专区 | 亚洲精品成人福利网站 | 久在线观看福利视频 | 四虎4hu永久免费 | 精品水蜜桃久久久久久久 | 欧美日韩一区二区免费视频 | 日韩欧美中文字幕在线三区 | 四十如虎的丰满熟妇啪啪 | 无套内谢的新婚少妇国语播放 | 色婷婷欧美在线播放内射 | 精品一二三区久久aaa片 | 少妇被粗大的猛进出69影院 | 麻豆国产丝袜白领秘书在线观看 | 国产成人无码a区在线观看视频app | 久久精品中文字幕一区 | 免费视频欧美无人区码 | 老头边吃奶边弄进去呻吟 | 又粗又大又硬毛片免费看 | 国产精品美女久久久 | 国色天香社区在线视频 | 波多野结衣 黑人 | 午夜无码人妻av大片色欲 | 精品夜夜澡人妻无码av蜜桃 | 清纯唯美经典一区二区 | 国产艳妇av在线观看果冻传媒 | 欧美日韩一区二区综合 | 久久久精品欧美一区二区免费 | 中文字幕无线码免费人妻 | 风流少妇按摩来高潮 | 精品国精品国产自在久国产87 | 亚洲综合另类小说色区 | 领导边摸边吃奶边做爽在线观看 | 高清不卡一区二区三区 | 欧美亚洲日韩国产人成在线播放 | 天堂无码人妻精品一区二区三区 | 综合激情五月综合激情五月激情1 | 亚洲自偷自偷在线制服 | 免费无码肉片在线观看 | 成人毛片一区二区 | 爱做久久久久久 | 天天拍夜夜添久久精品 | 精品无码一区二区三区的天堂 | 一本久道久久综合婷婷五月 | 久久国产精品_国产精品 | 久久久久久av无码免费看大片 | 国产高潮视频在线观看 | 玩弄中年熟妇正在播放 | 日本免费一区二区三区最新 | 狠狠色丁香久久婷婷综合五月 | 丝袜 中出 制服 人妻 美腿 | 成人亚洲精品久久久久软件 | 国产精品亚洲一区二区三区喷水 | 99精品久久毛片a片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 无遮挡国产高潮视频免费观看 | 国产成人一区二区三区别 | 国产偷抇久久精品a片69 | 国产在线精品一区二区三区直播 | 高潮毛片无遮挡高清免费 | 在线 国产 欧美 亚洲 天堂 | 国产精品久久国产精品99 | 中文字幕色婷婷在线视频 | 国产精品国产三级国产专播 | 欧美大屁股xxxxhd黑色 | 人人超人人超碰超国产 | 亚洲精品久久久久中文第一幕 | 无码国内精品人妻少妇 | 无码人妻精品一区二区三区不卡 | 中文字幕 人妻熟女 | 久久久久国色av免费观看性色 | 婷婷色婷婷开心五月四房播播 | 无码中文字幕色专区 | 国产av无码专区亚洲a∨毛片 | 青春草在线视频免费观看 | 国产av人人夜夜澡人人爽麻豆 | 少妇性俱乐部纵欲狂欢电影 | 欧美freesex黑人又粗又大 | 国产无遮挡又黄又爽又色 | 亚洲精品欧美二区三区中文字幕 | 色欲人妻aaaaaaa无码 | 亚洲欧洲中文日韩av乱码 | 在线精品亚洲一区二区 | 国产97人人超碰caoprom | 国产精品99爱免费视频 | 午夜无码区在线观看 | 欧美日韩在线亚洲综合国产人 | 爆乳一区二区三区无码 | 99久久人妻精品免费一区 | 亚洲日韩av一区二区三区中文 | 国内精品久久久久久中文字幕 | 67194成是人免费无码 | 大肉大捧一进一出视频出来呀 | 强辱丰满人妻hd中文字幕 | 少妇激情av一区二区 | 亚洲精品久久久久久久久久久 | 欧美成人家庭影院 | 亚洲中文字幕无码中字 | 中文精品无码中文字幕无码专区 | 国产人妻精品一区二区三区不卡 | 国产亚洲精品精品国产亚洲综合 | 国产成人精品无码播放 | 久久午夜无码鲁丝片秋霞 | 色欲综合久久中文字幕网 | 六十路熟妇乱子伦 | 曰本女人与公拘交酡免费视频 | 欧美人妻一区二区三区 | 又粗又大又硬又长又爽 | 色诱久久久久综合网ywww | 97夜夜澡人人爽人人喊中国片 | 国产亚洲美女精品久久久2020 | 中文字幕日韩精品一区二区三区 | 少妇无码av无码专区在线观看 | 国产精品无码永久免费888 | 亚洲热妇无码av在线播放 | a片免费视频在线观看 | 永久黄网站色视频免费直播 | 国产午夜手机精彩视频 | 嫩b人妻精品一区二区三区 | 久久成人a毛片免费观看网站 | 国产成人无码av片在线观看不卡 | 亚洲熟妇色xxxxx欧美老妇 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲欧美精品伊人久久 | 丝袜美腿亚洲一区二区 | 日本爽爽爽爽爽爽在线观看免 | 精品人妻人人做人人爽 | 成人无码精品1区2区3区免费看 | 国产精品鲁鲁鲁 | 亚洲色无码一区二区三区 | 色婷婷综合中文久久一本 | 无码国模国产在线观看 | 国产两女互慰高潮视频在线观看 | 日韩人妻无码中文字幕视频 | 亚洲日本一区二区三区在线 | 曰韩无码二三区中文字幕 | 日本欧美一区二区三区乱码 | 成人精品视频一区二区 | 天堂亚洲免费视频 | 西西人体www44rt大胆高清 | 亚洲s色大片在线观看 | 成人一区二区免费视频 | av无码不卡在线观看免费 | 天天爽夜夜爽夜夜爽 | 性欧美熟妇videofreesex | 国产福利视频一区二区 | 亚洲综合无码一区二区三区 | 在线欧美精品一区二区三区 | 国产精品久久久久久亚洲毛片 | 日韩视频 中文字幕 视频一区 | 国产疯狂伦交大片 | 牲欲强的熟妇农村老妇女视频 | 久久婷婷五月综合色国产香蕉 | 久久精品视频在线看15 | 98国产精品综合一区二区三区 | 久久久久久久女国产乱让韩 | 国产超碰人人爽人人做人人添 | 国产婷婷色一区二区三区在线 | 亚洲春色在线视频 | 高潮毛片无遮挡高清免费 | 性欧美牲交xxxxx视频 | 国产特级毛片aaaaaa高潮流水 | 久久久久亚洲精品男人的天堂 | 久久久久久国产精品无码下载 | 国产人成高清在线视频99最全资源 | 亚洲男人av天堂午夜在 | 国产无av码在线观看 | 少妇一晚三次一区二区三区 | 精品久久久久香蕉网 | 成人欧美一区二区三区 | 亚洲精品一区二区三区大桥未久 | 美女黄网站人色视频免费国产 | 欧美黑人性暴力猛交喷水 | 国产香蕉97碰碰久久人人 | 成人精品视频一区二区 | 亚洲精品美女久久久久久久 | 国产亲子乱弄免费视频 | 天堂亚洲免费视频 | 无码成人精品区在线观看 | 又湿又紧又大又爽a视频国产 | 在线精品亚洲一区二区 | 亚洲国产成人av在线观看 | 性开放的女人aaa片 | 亚洲欧美日韩成人高清在线一区 | 国产真实夫妇视频 | 超碰97人人射妻 | 日韩少妇白浆无码系列 | 麻豆精产国品 | 欧美一区二区三区视频在线观看 | 精品久久综合1区2区3区激情 | 桃花色综合影院 | 亚洲日本一区二区三区在线 | 国产精品久久久午夜夜伦鲁鲁 | 中文字幕久久久久人妻 | 欧美性色19p | 熟女少妇在线视频播放 | 亚洲午夜福利在线观看 | 免费无码的av片在线观看 | 成人欧美一区二区三区黑人免费 | 色老头在线一区二区三区 | 国产成人无码午夜视频在线观看 | 国产乱人无码伦av在线a | 国产精品国产自线拍免费软件 | 日本熟妇人妻xxxxx人hd | 中文字幕无线码 | 女人被男人躁得好爽免费视频 | 欧美日韩在线亚洲综合国产人 | 久久精品人妻少妇一区二区三区 | 夜夜躁日日躁狠狠久久av | 国产明星裸体无码xxxx视频 | 国产成人一区二区三区在线观看 | 国产午夜亚洲精品不卡下载 | 亚洲日韩中文字幕在线播放 | 国产精品无码mv在线观看 | 97久久国产亚洲精品超碰热 | 久久99精品国产.久久久久 | 少妇人妻av毛片在线看 | 一本色道久久综合狠狠躁 | 亚洲成av人影院在线观看 | 国产成人无码av在线影院 | 2019nv天堂香蕉在线观看 | 成人毛片一区二区 | 亚洲の无码国产の无码影院 | 国产真实伦对白全集 | 中国大陆精品视频xxxx | 又大又硬又爽免费视频 | 日韩视频 中文字幕 视频一区 | 激情五月综合色婷婷一区二区 | 午夜丰满少妇性开放视频 | 国产莉萝无码av在线播放 | 欧美兽交xxxx×视频 | 国产亚洲人成a在线v网站 | 欧美人与禽zoz0性伦交 | 熟女少妇在线视频播放 | 日韩少妇内射免费播放 | 精品无人国产偷自产在线 | 丰满诱人的人妻3 | 亚洲精品久久久久avwww潮水 | 国产麻豆精品精东影业av网站 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产无遮挡又黄又爽免费视频 | 国产欧美精品一区二区三区 | 亚洲中文字幕无码中文字在线 | 国产人妻精品一区二区三区 | 国产超级va在线观看视频 | 精品人妻人人做人人爽夜夜爽 | 一个人看的视频www在线 | 久久人人爽人人爽人人片ⅴ | 亚洲国产精品毛片av不卡在线 | 精品国偷自产在线视频 | 国产一区二区三区影院 | 日本乱人伦片中文三区 | 国产精品欧美成人 | 国产精品成人av在线观看 | 精品国产乱码久久久久乱码 | 东京热一精品无码av | 国产精品亚洲lv粉色 | 国产乱人偷精品人妻a片 | 国产特级毛片aaaaaaa高清 | 人人妻人人澡人人爽人人精品浪潮 | 又湿又紧又大又爽a视频国产 | 初尝人妻少妇中文字幕 | 无码国模国产在线观看 | 欧美性生交活xxxxxdddd | 精品 日韩 国产 欧美 视频 | 免费观看又污又黄的网站 | 成人影院yy111111在线观看 | 免费无码肉片在线观看 | 国产精品久免费的黄网站 | 国产尤物精品视频 | 天天躁夜夜躁狠狠是什么心态 | 国内精品一区二区三区不卡 | 精品无码一区二区三区爱欲 | 欧美野外疯狂做受xxxx高潮 | 精品欧洲av无码一区二区三区 | 秋霞特色aa大片 | 大胆欧美熟妇xx | 免费观看的无遮挡av | 色妞www精品免费视频 | 好爽又高潮了毛片免费下载 | 日本大香伊一区二区三区 | 在线视频网站www色 | 无码吃奶揉捏奶头高潮视频 | 无码精品人妻一区二区三区av | 暴力强奷在线播放无码 | 老子影院午夜伦不卡 | 无套内谢的新婚少妇国语播放 | 亚洲成a人一区二区三区 | 天下第一社区视频www日本 | 精品国产av色一区二区深夜久久 | aa片在线观看视频在线播放 | 亚洲色www成人永久网址 | аⅴ资源天堂资源库在线 | 中文字幕+乱码+中文字幕一区 | 人妻中文无码久热丝袜 | 一个人看的www免费视频在线观看 | 人妻互换免费中文字幕 | 精品久久8x国产免费观看 | 国产精品久久久av久久久 | 国内少妇偷人精品视频免费 | 55夜色66夜色国产精品视频 | 黑人巨大精品欧美黑寡妇 | 一个人免费观看的www视频 | 又紧又大又爽精品一区二区 | 少妇无码一区二区二三区 | 亚洲成av人片天堂网无码】 | 亚洲狠狠色丁香婷婷综合 | 亚洲aⅴ无码成人网站国产app | 四虎国产精品一区二区 | 亚洲精品欧美二区三区中文字幕 | 伊人色综合久久天天小片 | 精品人妻人人做人人爽夜夜爽 | 国产黄在线观看免费观看不卡 | 最新国产乱人伦偷精品免费网站 | 成在人线av无码免观看麻豆 | 亚洲日韩一区二区三区 | 国产午夜手机精彩视频 | www国产亚洲精品久久久日本 | 青春草在线视频免费观看 | 中文字幕乱码人妻无码久久 | 欧洲精品码一区二区三区免费看 | 久久精品中文闷骚内射 | 荡女精品导航 | 亚洲日韩av片在线观看 | 久久99久久99精品中文字幕 | 国产综合色产在线精品 | 日韩精品成人一区二区三区 | 久久精品人人做人人综合试看 | 黑人巨大精品欧美一区二区 | 99久久精品日本一区二区免费 | 国产av剧情md精品麻豆 | 在教室伦流澡到高潮hnp视频 | 国产午夜亚洲精品不卡下载 | 少妇太爽了在线观看 | 丰满少妇熟乱xxxxx视频 | 日韩成人一区二区三区在线观看 | 性生交片免费无码看人 | 国产性生大片免费观看性 | 熟女体下毛毛黑森林 | 人人澡人摸人人添 | 国产一区二区不卡老阿姨 | 国产亲子乱弄免费视频 | 久久午夜无码鲁丝片午夜精品 | 在线天堂新版最新版在线8 | 红桃av一区二区三区在线无码av | 狠狠综合久久久久综合网 | 国产成人精品一区二区在线小狼 | 四虎国产精品一区二区 | 福利一区二区三区视频在线观看 | 国产 浪潮av性色四虎 | 老子影院午夜精品无码 | 呦交小u女精品视频 | 一本大道久久东京热无码av | www国产亚洲精品久久网站 | 日本大乳高潮视频在线观看 | 久久99精品久久久久久 | 亚洲中文字幕无码中字 | 国产成人精品必看 | 人人妻人人澡人人爽精品欧美 | 亚洲自偷精品视频自拍 | 日本丰满熟妇videos | 国产国语老龄妇女a片 | 亚洲成a人片在线观看日本 | 极品嫩模高潮叫床 | 99在线 | 亚洲 | 沈阳熟女露脸对白视频 | 亚洲 日韩 欧美 成人 在线观看 | 性欧美熟妇videofreesex | 久久午夜无码鲁丝片午夜精品 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 精品偷拍一区二区三区在线看 | 久久午夜无码鲁丝片 | 377p欧洲日本亚洲大胆 | 亚洲日本va午夜在线电影 | 日韩av无码一区二区三区不卡 | 99国产精品白浆在线观看免费 | 欧美 丝袜 自拍 制服 另类 | 2019nv天堂香蕉在线观看 | 国产激情无码一区二区 | 在线亚洲高清揄拍自拍一品区 | 麻豆人妻少妇精品无码专区 | 成人欧美一区二区三区 | 小泽玛莉亚一区二区视频在线 | 国产成人综合美国十次 | 欧美高清在线精品一区 | 漂亮人妻洗澡被公强 日日躁 | 国产精品久久久久无码av色戒 | 国产精品-区区久久久狼 | 成人欧美一区二区三区 | 日韩人妻无码一区二区三区久久99 | 成人免费视频一区二区 | 国精产品一品二品国精品69xx | 久久综合九色综合欧美狠狠 | 国色天香社区在线视频 | 久久人人爽人人爽人人片av高清 | 国内综合精品午夜久久资源 | 亚洲一区二区三区无码久久 | 一本色道久久综合狠狠躁 | 日产精品高潮呻吟av久久 | 久久久久se色偷偷亚洲精品av | 性生交片免费无码看人 | 日韩精品a片一区二区三区妖精 | 永久免费观看国产裸体美女 | а天堂中文在线官网 | 亚洲欧美日韩国产精品一区二区 | 少妇人妻大乳在线视频 | 性欧美牲交xxxxx视频 | 夜夜影院未满十八勿进 | 性啪啪chinese东北女人 | 亚洲国产av精品一区二区蜜芽 | 午夜精品一区二区三区的区别 | 老司机亚洲精品影院无码 | 亚洲精品国产品国语在线观看 | 亚无码乱人伦一区二区 | 久久综合九色综合欧美狠狠 | 日韩少妇白浆无码系列 | 久久久av男人的天堂 | 欧美性生交活xxxxxdddd | 一个人免费观看的www视频 | 51国偷自产一区二区三区 | 啦啦啦www在线观看免费视频 | 国内揄拍国内精品少妇国语 | 欧美一区二区三区视频在线观看 | 人妻尝试又大又粗久久 | 亚洲 日韩 欧美 成人 在线观看 | 无码国模国产在线观看 | 久久久精品国产sm最大网站 | 亚洲午夜无码久久 | 中国女人内谢69xxxxxa片 | 奇米影视888欧美在线观看 | 欧洲欧美人成视频在线 | 国产亚洲精品精品国产亚洲综合 | 国产特级毛片aaaaaaa高清 | 中文字幕无码视频专区 | 中文无码成人免费视频在线观看 | 久久 国产 尿 小便 嘘嘘 | 扒开双腿吃奶呻吟做受视频 | 好爽又高潮了毛片免费下载 | 丰满人妻精品国产99aⅴ | 人人澡人人妻人人爽人人蜜桃 | 图片区 小说区 区 亚洲五月 | 欧洲熟妇色 欧美 | 日日摸天天摸爽爽狠狠97 | 中文精品久久久久人妻不卡 | 久久成人a毛片免费观看网站 | 亚洲爆乳大丰满无码专区 | 国产精品香蕉在线观看 | 亚洲中文字幕乱码av波多ji | 装睡被陌生人摸出水好爽 | 国产精品免费大片 | 亚洲成a人片在线观看无码3d | 成人av无码一区二区三区 | 亚洲一区二区三区在线观看网站 | 欧美国产日韩亚洲中文 | 亚洲色大成网站www | 漂亮人妻洗澡被公强 日日躁 | 欧美人与物videos另类 | 亚洲中文字幕无码中文字在线 | 成在人线av无码免观看麻豆 | 18禁黄网站男男禁片免费观看 | 日韩少妇内射免费播放 | 国产成人综合在线女婷五月99播放 | 大肉大捧一进一出好爽视频 | 人人爽人人澡人人人妻 | 国产熟妇另类久久久久 | 夜夜影院未满十八勿进 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美丰满熟妇xxxx性ppx人交 | 欧美第一黄网免费网站 | 亚洲欧美中文字幕5发布 | 少妇一晚三次一区二区三区 | 午夜免费福利小电影 | 国产偷抇久久精品a片69 | 国产在热线精品视频 | 女人高潮内射99精品 | 人人妻人人澡人人爽精品欧美 | 一本色道久久综合狠狠躁 | 国产三级精品三级男人的天堂 | 亚洲乱码日产精品bd | 精品一区二区不卡无码av | 欧洲精品码一区二区三区免费看 | 亚洲精品www久久久 | 最新国产乱人伦偷精品免费网站 | 欧美精品免费观看二区 | 亚洲精品中文字幕乱码 | 男女下面进入的视频免费午夜 | 麻豆国产97在线 | 欧洲 | 好男人www社区 | 久久久久成人片免费观看蜜芽 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 自拍偷自拍亚洲精品10p | 中文亚洲成a人片在线观看 | 欧美zoozzooz性欧美 | 久久精品成人欧美大片 | 在线成人www免费观看视频 | 国色天香社区在线视频 | 狠狠躁日日躁夜夜躁2020 | 日日噜噜噜噜夜夜爽亚洲精品 | 色妞www精品免费视频 | 亚洲无人区午夜福利码高清完整版 | 中文字幕无线码免费人妻 | 性史性农村dvd毛片 | 国产精品99久久精品爆乳 | 日本又色又爽又黄的a片18禁 | 成人试看120秒体验区 | 亚洲成a人片在线观看无码 | 人妻尝试又大又粗久久 | 成人片黄网站色大片免费观看 | 无码av免费一区二区三区试看 | 丰满少妇弄高潮了www | 欧美丰满熟妇xxxx性ppx人交 | 成人精品天堂一区二区三区 | 欧美丰满熟妇xxxx | 欧洲极品少妇 | 女人色极品影院 | 人人妻人人澡人人爽精品欧美 | 成人一在线视频日韩国产 | 中文字幕乱码人妻二区三区 | 成人动漫在线观看 | 亚洲中文字幕久久无码 | 97精品国产97久久久久久免费 | 日本高清一区免费中文视频 | 蜜桃av抽搐高潮一区二区 | www国产亚洲精品久久久日本 | 麻豆md0077饥渴少妇 | 亚洲成a人片在线观看无码3d | 在线天堂新版最新版在线8 | 最新国产麻豆aⅴ精品无码 | 亚洲成熟女人毛毛耸耸多 | 国产av剧情md精品麻豆 | 久久www免费人成人片 | 亚洲色偷偷偷综合网 | 午夜精品久久久内射近拍高清 | 精品乱码久久久久久久 | 欧美人与禽猛交狂配 | 在线观看国产午夜福利片 | 1000部夫妻午夜免费 | 久久综合九色综合97网 | 亚洲国产午夜精品理论片 | 国产99久久精品一区二区 | 久久久久久国产精品无码下载 | 国产午夜福利100集发布 | 兔费看少妇性l交大片免费 | 国产综合久久久久鬼色 | 99久久久无码国产aaa精品 | 乌克兰少妇xxxx做受 | 成人一在线视频日韩国产 | 99精品视频在线观看免费 | 乱人伦人妻中文字幕无码久久网 | 久久国产36精品色熟妇 | 国产成人无码a区在线观看视频app | 精品成在人线av无码免费看 | 久久精品中文字幕大胸 | 久久99久久99精品中文字幕 | 日本一本二本三区免费 | 国产 浪潮av性色四虎 | 国产超级va在线观看视频 | 国产凸凹视频一区二区 | 日韩精品无码免费一区二区三区 | 国产免费观看黄av片 | 国产综合色产在线精品 | 一二三四社区在线中文视频 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | а√资源新版在线天堂 | 呦交小u女精品视频 | 亚洲欧洲无卡二区视頻 | 99视频精品全部免费免费观看 | 久久这里只有精品视频9 | 亚洲爆乳精品无码一区二区三区 | 成人无码视频免费播放 | 无码人妻精品一区二区三区下载 | 一本色道婷婷久久欧美 | 欧美亚洲国产一区二区三区 | 亚无码乱人伦一区二区 | 久激情内射婷内射蜜桃人妖 | 欧洲欧美人成视频在线 | 无码国产激情在线观看 | 亚洲一区二区三区含羞草 | 国产香蕉尹人综合在线观看 | 欧美人与善在线com | 亚洲精品久久久久avwww潮水 | 国产黑色丝袜在线播放 | 亚洲a无码综合a国产av中文 | 国产真实伦对白全集 | 无码国产乱人伦偷精品视频 | 天堂一区人妻无码 | 99re在线播放 | 大胆欧美熟妇xx | 久久精品女人天堂av免费观看 | 国产成人无码午夜视频在线观看 | 国产成人综合在线女婷五月99播放 | 亚洲区小说区激情区图片区 | 久久精品中文字幕大胸 | 亚洲熟妇色xxxxx欧美老妇y | 国产口爆吞精在线视频 | 国产真实乱对白精彩久久 | 三上悠亚人妻中文字幕在线 | 免费无码av一区二区 | 无码人妻久久一区二区三区不卡 | 性欧美牲交在线视频 | 亚洲精品无码人妻无码 | 综合网日日天干夜夜久久 | 亚洲欧美精品伊人久久 | 亚洲热妇无码av在线播放 | 国产xxx69麻豆国语对白 | 99精品无人区乱码1区2区3区 | 少妇性俱乐部纵欲狂欢电影 | 欧美肥老太牲交大战 | 99久久精品无码一区二区毛片 | 国产亚洲欧美在线专区 | 久久久精品成人免费观看 | 国产三级久久久精品麻豆三级 | 成 人 网 站国产免费观看 | 久青草影院在线观看国产 | 国产内射老熟女aaaa | 久久精品国产亚洲精品 | 人人妻人人澡人人爽欧美一区 | √天堂资源地址中文在线 | 亚洲熟妇自偷自拍另类 | 亚洲人交乣女bbw | www国产精品内射老师 | 亚洲大尺度无码无码专区 | 无遮无挡爽爽免费视频 | 国产激情精品一区二区三区 | 国内精品久久毛片一区二区 | 精品久久久久香蕉网 | 99er热精品视频 | 青青久在线视频免费观看 | 国产97在线 | 亚洲 | 亚洲国产一区二区三区在线观看 | 久久久久久av无码免费看大片 | 亚洲va欧美va天堂v国产综合 | 国产成人综合在线女婷五月99播放 | 久久久久久久人妻无码中文字幕爆 | 亚洲精品国产第一综合99久久 | 在线а√天堂中文官网 | 久久久久99精品成人片 | 中文字幕人妻无码一区二区三区 | 色妞www精品免费视频 | 无码吃奶揉捏奶头高潮视频 | 中文字幕av伊人av无码av | 亚洲理论电影在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 国产午夜视频在线观看 | 一本无码人妻在中文字幕免费 | 婷婷丁香五月天综合东京热 | 精品人妻中文字幕有码在线 | 亚洲国产精品无码一区二区三区 | 国产在线精品一区二区三区直播 | www一区二区www免费 | 国产真人无遮挡作爱免费视频 | 久久国产精品二国产精品 | 日韩欧美中文字幕在线三区 | 成人免费视频视频在线观看 免费 | 亚洲国产日韩a在线播放 | 一本色道久久综合狠狠躁 | 女人高潮内射99精品 | 一个人看的www免费视频在线观看 | 永久黄网站色视频免费直播 | 日本在线高清不卡免费播放 | 色窝窝无码一区二区三区色欲 | 国内揄拍国内精品少妇国语 | 日日碰狠狠躁久久躁蜜桃 | 国产亚洲视频中文字幕97精品 | 亚洲熟妇自偷自拍另类 | 精品一区二区不卡无码av | 国产精品久久精品三级 | 在线看片无码永久免费视频 | 亚洲精品欧美二区三区中文字幕 | 精品国产aⅴ无码一区二区 | 俺去俺来也www色官网 | 99久久久国产精品无码免费 | 377p欧洲日本亚洲大胆 | 少妇高潮喷潮久久久影院 | 亚洲色大成网站www国产 | 成人aaa片一区国产精品 | 亚洲欧洲日本无在线码 | 国产精品.xx视频.xxtv | 免费乱码人妻系列无码专区 | 久久国内精品自在自线 | 精品成在人线av无码免费看 | 日本一区二区三区免费高清 | 强伦人妻一区二区三区视频18 | 亚洲自偷精品视频自拍 | 国产精品久久久久7777 | 亚洲国产欧美日韩精品一区二区三区 | 国产口爆吞精在线视频 | 中文字幕乱码亚洲无线三区 | 奇米影视7777久久精品 | 亚洲人成网站免费播放 | 亚洲成熟女人毛毛耸耸多 | 人人澡人摸人人添 | 色窝窝无码一区二区三区色欲 | 欧美性猛交内射兽交老熟妇 | 男人和女人高潮免费网站 | 永久免费观看国产裸体美女 | 成人亚洲精品久久久久 | 999久久久国产精品消防器材 | 又色又爽又黄的美女裸体网站 | 国产成人精品视频ⅴa片软件竹菊 | 国产在线精品一区二区高清不卡 | 国内丰满熟女出轨videos | 亚洲精品国产第一综合99久久 | 女高中生第一次破苞av | 亚洲色偷偷男人的天堂 | 国产成人无码午夜视频在线观看 | 国产69精品久久久久app下载 | 国产午夜福利亚洲第一 | 暴力强奷在线播放无码 | 久久久精品国产sm最大网站 | 丰满人妻一区二区三区免费视频 | 天天摸天天碰天天添 | 日本精品高清一区二区 | 狠狠色欧美亚洲狠狠色www | 性欧美大战久久久久久久 | 无码人妻丰满熟妇区五十路百度 | 久久五月精品中文字幕 | 天堂а√在线地址中文在线 | 国产av无码专区亚洲awww | 久久99热只有频精品8 | 我要看www免费看插插视频 | 久久精品无码一区二区三区 | 亚洲狠狠婷婷综合久久 | 六月丁香婷婷色狠狠久久 | 人妻少妇被猛烈进入中文字幕 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产午夜精品一区二区三区嫩草 | a在线观看免费网站大全 | 精品午夜福利在线观看 | 熟女体下毛毛黑森林 | 日本一区二区三区免费播放 | 国产超碰人人爽人人做人人添 | 国产又爽又猛又粗的视频a片 | 男人扒开女人内裤强吻桶进去 | 亚洲一区二区观看播放 | 亚洲日韩乱码中文无码蜜桃臀网站 | 帮老师解开蕾丝奶罩吸乳网站 | 国产超碰人人爽人人做人人添 | 精品亚洲成av人在线观看 | 日日天日日夜日日摸 | 婷婷五月综合激情中文字幕 | 久久97精品久久久久久久不卡 | 精品无码国产一区二区三区av | 特大黑人娇小亚洲女 | 亚洲色大成网站www | 人人妻人人澡人人爽人人精品 | 中文字幕无码日韩专区 | 日韩精品a片一区二区三区妖精 | 无码国模国产在线观看 | 夜夜躁日日躁狠狠久久av | 麻花豆传媒剧国产免费mv在线 | 欧美人与善在线com | 成在人线av无码免观看麻豆 | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲aⅴ无码成人网站国产app | 国产区女主播在线观看 | 日本丰满熟妇videos | 亚洲精品综合一区二区三区在线 | 国产三级久久久精品麻豆三级 | 久久精品一区二区三区四区 | 无码av岛国片在线播放 | 国产乡下妇女做爰 | 一个人看的www免费视频在线观看 | 十八禁真人啪啪免费网站 | 国产午夜福利100集发布 | 精品人妻人人做人人爽 | 欧美高清在线精品一区 | 国产精品亚洲五月天高清 | 午夜嘿嘿嘿影院 | 国产又粗又硬又大爽黄老大爷视 | 国产亚洲精品久久久ai换 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 搡女人真爽免费视频大全 | 99精品国产综合久久久久五月天 | 亚洲s码欧洲m码国产av | 亚洲精品鲁一鲁一区二区三区 | 狠狠亚洲超碰狼人久久 | 奇米影视7777久久精品 | 综合人妻久久一区二区精品 | 亚洲精品中文字幕久久久久 | 西西人体www44rt大胆高清 | 美女扒开屁股让男人桶 | 久久精品无码一区二区三区 | 无码帝国www无码专区色综合 | 女人被爽到呻吟gif动态图视看 | 亚洲国产成人a精品不卡在线 | 一个人看的视频www在线 | 成人性做爰aaa片免费看 | 成人动漫在线观看 | 国产一区二区三区日韩精品 | 国产精品久久久久影院嫩草 | 丰满护士巨好爽好大乳 | 国产人妻精品一区二区三区不卡 | 中文字幕av无码一区二区三区电影 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 曰韩无码二三区中文字幕 | 欧美乱妇无乱码大黄a片 | 国产精品亚洲lv粉色 | 婷婷五月综合激情中文字幕 | 欧美zoozzooz性欧美 | 久久久av男人的天堂 | 乱码av麻豆丝袜熟女系列 | 色婷婷久久一区二区三区麻豆 | 成 人 免费观看网站 | 亚洲国产精品一区二区美利坚 | 国产午夜亚洲精品不卡 | 欧美刺激性大交 | 欧洲欧美人成视频在线 | 久久久久久亚洲精品a片成人 | 67194成是人免费无码 | 18精品久久久无码午夜福利 | 一本久久伊人热热精品中文字幕 | 午夜无码人妻av大片色欲 | 久久亚洲a片com人成 | 亚洲熟妇色xxxxx亚洲 | 天天爽夜夜爽夜夜爽 | 无码精品人妻一区二区三区av | 性色欲情网站iwww九文堂 | 久9re热视频这里只有精品 | 丰满妇女强制高潮18xxxx | 亚洲娇小与黑人巨大交 | 综合人妻久久一区二区精品 | 亚洲成av人片天堂网无码】 | 婷婷丁香五月天综合东京热 | 水蜜桃色314在线观看 | 在线亚洲高清揄拍自拍一品区 | 性欧美videos高清精品 | 国产极品美女高潮无套在线观看 | 高潮毛片无遮挡高清免费视频 | 黑森林福利视频导航 | 日韩欧美中文字幕在线三区 | 鲁鲁鲁爽爽爽在线视频观看 | www一区二区www免费 | 人人超人人超碰超国产 | 性欧美大战久久久久久久 | 久久久婷婷五月亚洲97号色 | 中文字幕日产无线码一区 | 日日夜夜撸啊撸 | 小鲜肉自慰网站xnxx | 伊人久久婷婷五月综合97色 | 亚洲呦女专区 | 又大又紧又粉嫩18p少妇 | 亚洲成av人综合在线观看 | 成人无码精品一区二区三区 | 麻豆md0077饥渴少妇 | 国产精品久久久久9999小说 | 久久国产精品_国产精品 | 国产农村乱对白刺激视频 | 日韩精品一区二区av在线 | 日本一区二区三区免费播放 | 国产精品沙发午睡系列 | 成年美女黄网站色大免费全看 | 天堂а√在线中文在线 | 亚洲日韩一区二区 | 色欲综合久久中文字幕网 | 亚洲精品国产品国语在线观看 | 国产激情精品一区二区三区 | 精品午夜福利在线观看 | 欧美日韩亚洲国产精品 | 18禁止看的免费污网站 | 国产成人av免费观看 | 中文字幕乱码中文乱码51精品 | 日韩精品无码一区二区中文字幕 | 一本久久伊人热热精品中文字幕 | 欧美性猛交内射兽交老熟妇 | 88国产精品欧美一区二区三区 | 人妻aⅴ无码一区二区三区 | 一本色道婷婷久久欧美 | 最近的中文字幕在线看视频 | 一本久道久久综合狠狠爱 | 亚洲熟女一区二区三区 | 天天爽夜夜爽夜夜爽 | 久久久www成人免费毛片 | www国产精品内射老师 | 中文字幕亚洲情99在线 | 亚洲国产精品美女久久久久 | 无码人妻少妇伦在线电影 | 国产av久久久久精东av | 漂亮人妻洗澡被公强 日日躁 | 麻豆国产人妻欲求不满 | 乱人伦人妻中文字幕无码久久网 | 精品国产国产综合精品 | 狠狠色丁香久久婷婷综合五月 | 亚洲一区二区三区无码久久 | 夜夜躁日日躁狠狠久久av | 国产在线精品一区二区三区直播 | 精品人妻人人做人人爽 | 亲嘴扒胸摸屁股激烈网站 | av人摸人人人澡人人超碰下载 | 国产农村乱对白刺激视频 | 97夜夜澡人人爽人人喊中国片 | 免费乱码人妻系列无码专区 | 好爽又高潮了毛片免费下载 | 中文字幕av日韩精品一区二区 | 久久久久久亚洲精品a片成人 | 日日摸日日碰夜夜爽av | 精品国产青草久久久久福利 | 又大又黄又粗又爽的免费视频 | 日韩无套无码精品 | 欧美日本免费一区二区三区 | 午夜熟女插插xx免费视频 | 一个人看的视频www在线 | 伊人久久大香线焦av综合影院 | 99久久人妻精品免费一区 | 亚洲精品一区国产 | 全黄性性激高免费视频 | 欧美老妇与禽交 | 久久精品无码一区二区三区 | 精品一二三区久久aaa片 | 欧美怡红院免费全部视频 | 天海翼激烈高潮到腰振不止 | 国产亚洲精品久久久久久久 | √8天堂资源地址中文在线 | 少妇厨房愉情理9仑片视频 | 色 综合 欧美 亚洲 国产 | 最新版天堂资源中文官网 | 真人与拘做受免费视频 | 搡女人真爽免费视频大全 | 日本大香伊一区二区三区 | 欧美性猛交内射兽交老熟妇 | 久久久久99精品成人片 | 国产亚洲精品久久久闺蜜 | 亚洲国产精品久久人人爱 | 无码人妻少妇伦在线电影 | 成人欧美一区二区三区黑人 | 久久久久久久女国产乱让韩 | 高潮喷水的毛片 | 久久精品国产大片免费观看 | 最近免费中文字幕中文高清百度 | 日韩精品无码一区二区中文字幕 | 免费无码的av片在线观看 | 国产精品沙发午睡系列 | 大乳丰满人妻中文字幕日本 | 国产色在线 | 国产 | 国产成人一区二区三区别 | 免费无码肉片在线观看 | 国产av一区二区三区最新精品 | 成 人 免费观看网站 | 在线播放免费人成毛片乱码 | 国产精品久久久久久亚洲毛片 | 成人精品视频一区二区三区尤物 | 日本在线高清不卡免费播放 | 亚洲人成无码网www | 欧美 日韩 人妻 高清 中文 | 超碰97人人做人人爱少妇 | 人人爽人人澡人人人妻 | 午夜福利不卡在线视频 | 亚洲色欲色欲天天天www | 人人妻人人澡人人爽欧美一区九九 | 久久精品中文字幕一区 | 国产电影无码午夜在线播放 | 午夜精品一区二区三区的区别 | 成 人 网 站国产免费观看 | 黑人玩弄人妻中文在线 | 国产又爽又猛又粗的视频a片 | 四虎国产精品一区二区 | 国产av无码专区亚洲a∨毛片 | 丰满岳乱妇在线观看中字无码 | 永久黄网站色视频免费直播 | 波多野42部无码喷潮在线 | 无码一区二区三区在线观看 | 最近中文2019字幕第二页 | 在线视频网站www色 | 2020久久香蕉国产线看观看 | 久久久久99精品成人片 | 日韩人妻无码一区二区三区久久99 | 婷婷综合久久中文字幕蜜桃三电影 | 免费无码的av片在线观看 | 成人免费视频在线观看 | 一本一道久久综合久久 | 激情亚洲一区国产精品 | 成人无码视频在线观看网站 | 日欧一片内射va在线影院 | 2019午夜福利不卡片在线 | 水蜜桃av无码 | 无码纯肉视频在线观看 | 国产精品高潮呻吟av久久 | 亚洲成a人片在线观看日本 | 99精品视频在线观看免费 | 性生交片免费无码看人 | 国产午夜福利亚洲第一 | 久久久精品456亚洲影院 | 亚洲精品国产a久久久久久 | 亚洲狠狠婷婷综合久久 | 黑人巨大精品欧美黑寡妇 | 人人妻人人藻人人爽欧美一区 | 天堂一区人妻无码 | 少妇高潮喷潮久久久影院 | 久久久www成人免费毛片 | 好男人社区资源 | 国产成人人人97超碰超爽8 | 国产精品怡红院永久免费 | 久久精品国产一区二区三区肥胖 | 久久国产精品精品国产色婷婷 | 日本精品高清一区二区 | 中文字幕av伊人av无码av | 成人影院yy111111在线观看 | 人妻少妇精品无码专区二区 | 日韩在线不卡免费视频一区 | 中文字幕日产无线码一区 | 成人影院yy111111在线观看 | 欧美激情内射喷水高潮 | 丝袜美腿亚洲一区二区 | 亚洲欧美中文字幕5发布 | 极品尤物被啪到呻吟喷水 | 国产精品无码mv在线观看 | 国产一精品一av一免费 | 亚洲一区二区三区四区 | 76少妇精品导航 | 露脸叫床粗话东北少妇 | 中文精品久久久久人妻不卡 | 少妇性l交大片欧洲热妇乱xxx | 国产综合色产在线精品 | 国产成人综合色在线观看网站 | 无码精品人妻一区二区三区av | 超碰97人人做人人爱少妇 | 亚洲娇小与黑人巨大交 | 无码人妻精品一区二区三区不卡 | 性做久久久久久久久 | 亚洲人成网站免费播放 | 乱码av麻豆丝袜熟女系列 | 中文字幕 亚洲精品 第1页 | 无遮无挡爽爽免费视频 | 欧美国产日韩亚洲中文 | 成年女人永久免费看片 | 亚洲综合伊人久久大杳蕉 | 久久精品一区二区三区四区 | 国产猛烈高潮尖叫视频免费 | 色欲人妻aaaaaaa无码 | 色五月丁香五月综合五月 | 中文字幕无码免费久久99 | 午夜精品久久久内射近拍高清 | 欧美刺激性大交 | 国产猛烈高潮尖叫视频免费 | 亚洲娇小与黑人巨大交 | 四虎影视成人永久免费观看视频 | 国产精品爱久久久久久久 | 少妇激情av一区二区 | 少妇人妻大乳在线视频 | 一本久道久久综合婷婷五月 | 丰满少妇熟乱xxxxx视频 | 久久久久久亚洲精品a片成人 | 国产精品手机免费 | 国产激情无码一区二区app | 九九热爱视频精品 | 国产精品国产三级国产专播 | 久久综合激激的五月天 | 玩弄中年熟妇正在播放 | 亚欧洲精品在线视频免费观看 | 动漫av一区二区在线观看 | 亚洲精品久久久久久一区二区 | 人妻互换免费中文字幕 | 欧美怡红院免费全部视频 | 乱中年女人伦av三区 | 亚洲国产精品一区二区美利坚 | 老司机亚洲精品影院无码 | 一个人免费观看的www视频 | 红桃av一区二区三区在线无码av | 国产女主播喷水视频在线观看 | 领导边摸边吃奶边做爽在线观看 | 久久久精品国产sm最大网站 | 欧美国产日产一区二区 | 久久久精品456亚洲影院 | 亚拍精品一区二区三区探花 | 一本色道久久综合亚洲精品不卡 | 国产色视频一区二区三区 | 日本又色又爽又黄的a片18禁 | 精品久久久久香蕉网 | 精品国精品国产自在久国产87 | 精品亚洲韩国一区二区三区 | 人人妻人人澡人人爽欧美一区 | 麻豆人妻少妇精品无码专区 | 亚洲欧美精品aaaaaa片 | 国产精品成人av在线观看 | 精品国产乱码久久久久乱码 | 性啪啪chinese东北女人 | 高潮毛片无遮挡高清免费视频 | 国产成人午夜福利在线播放 | 国产熟妇另类久久久久 | 女高中生第一次破苞av | 久久久久亚洲精品男人的天堂 | 国产午夜无码视频在线观看 | 露脸叫床粗话东北少妇 | 高中生自慰www网站 | 国产av无码专区亚洲a∨毛片 | 成人无码影片精品久久久 | 久久人人97超碰a片精品 | 青青草原综合久久大伊人精品 | 亚洲精品一区二区三区四区五区 | 亚洲国产日韩a在线播放 | 亚洲一区二区三区偷拍女厕 | 无码播放一区二区三区 | 欧美变态另类xxxx | 午夜熟女插插xx免费视频 | 欧美熟妇另类久久久久久不卡 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲成av人片在线观看无码不卡 | 乱码午夜-极国产极内射 | 久久精品国产一区二区三区肥胖 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲综合在线一区二区三区 | 18黄暴禁片在线观看 | 日本又色又爽又黄的a片18禁 | 亚洲综合伊人久久大杳蕉 | 亚洲午夜无码久久 | 亚洲国产日韩a在线播放 | 国产性生大片免费观看性 | 少妇无码吹潮 | 亚洲综合无码久久精品综合 | 亚洲成a人片在线观看日本 | 黑人玩弄人妻中文在线 | 无码av岛国片在线播放 | 欧美成人免费全部网站 | 丰满肥臀大屁股熟妇激情视频 | 亚洲中文字幕在线无码一区二区 | 日本免费一区二区三区最新 | 性色欲情网站iwww九文堂 | 麻豆蜜桃av蜜臀av色欲av | 在线播放无码字幕亚洲 | 日日干夜夜干 | 中文字幕人妻无码一夲道 | 久久久无码中文字幕久... | 国产精品人人爽人人做我的可爱 | 55夜色66夜色国产精品视频 | 成人免费视频在线观看 | 国产超级va在线观看视频 | www国产精品内射老师 | 亚洲一区二区三区国产精华液 | 亚洲欧美日韩国产精品一区二区 | 国产国语老龄妇女a片 | 成人综合网亚洲伊人 | 国产亚洲视频中文字幕97精品 | 国产精品理论片在线观看 | 日本va欧美va欧美va精品 | 国内老熟妇对白xxxxhd | 狠狠躁日日躁夜夜躁2020 | 日本爽爽爽爽爽爽在线观看免 | 国产亚洲tv在线观看 | 亚洲の无码国产の无码步美 | 精品国偷自产在线 | 一本色道久久综合狠狠躁 | 久久精品一区二区三区四区 | 欧美xxxx黑人又粗又长 |