日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hive udf 分组取top1_项目实战从0到1之hive(27)数仓项目(九)数仓搭建 DWS 层

發布時間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hive udf 分组取top1_项目实战从0到1之hive(27)数仓项目(九)数仓搭建 DWS 层 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ?點擊上方藍字關注我們? ? ? ? ? ? ? ? ??

一、數倉搭建 - DWS 層

1.1 業務術語

1)用戶

用戶以設備為判斷標準,在移動統計中,每個獨立設備認為是一個獨立用戶。Android

系統根據 IMEI 號,IOS 系統根據 OpenUDID 來標識一個獨立用戶,每部手機一個用戶

2)新增用戶

首次聯網使用應用的用戶。如果一個用戶首次打開某 APP,那這個用戶定義為新增用

戶;卸載再安裝的設備,不會被算作一次新增。新增用戶包括日新增用戶、周新增用戶、月

新增用戶

3)活躍用戶

打開應用的用戶即為活躍用戶,不考慮用戶的使用情況。每天一臺設備打開多次會被計

為一個活躍用戶

4)周(月)活躍用戶

某個自然周(月)內啟動過應用的用戶,該周(月)內的多次啟動只記一個活躍用戶

5)月活躍率

月活躍用戶與截止到該月累計的用戶總和之間的比例

6)沉默用戶

用戶僅在安裝當天(次日)啟動一次,后續時間無再啟動行為。該指標可以反映新增用

戶質量和用戶與 APP 的匹配程度

7)版本分布

不同版本的周內各天新增用戶數,活躍用戶數和啟動次數。利于判斷 APP 各個版本之

間的優劣和用戶行為習慣

8)本周回流用戶

上周未啟動過應用,本周啟動了應用的用戶

9)連續 n 周活躍用戶

連續 n 周,每周至少啟動一次

10)忠誠用戶

連續活躍 5 周以上的用戶

11)連續活躍用戶

連續 2 周及以上活躍的用戶

12)近期流失用戶

連續 n(2<= n <= 4)周沒有啟動應用的用戶。(第 n+1 周沒有啟動過)

13)留存用戶

某段時間內的新增用戶,經過一段時間后,仍然使用應用的被認作是留存用戶;這部分

用戶占當時新增用戶的比例即是留存率

例如,5 月份新增用戶 200,這 200 人在 6 月份啟動過應用的有 100 人,7 月份啟動過應用的有 80 人,8 月份啟動過應用的有 50 人;則 5 月份新增用戶一個月后的留存率是 50%,二個月后的留存率是 40%,三個月后的留存率是 25%

14)用戶新鮮度

每天啟動應用的新老用戶比例,即新增用戶數占活躍用戶數的比例

15)單次使用時長

每次啟動使用的時間長度

16)日使用時長

累計一天內的使用時間長度

17)啟動次數計算標準

IOS 平臺應用退到后臺就算一次獨立的啟動;Android 平臺我們規定,兩次啟動之間的間隔小于 30 秒,被計算一次啟動。用戶在使用過程中,若因收發短信或接電話等退出應用30 秒又再次返回應用中,那這兩次行為應該是延續而非獨立的,所以可以被算作一次使用行為,即一次啟動。業內大多使用 30 秒這個標準,但用戶還是可以自定義此時間間隔

1.2 系統函數

1.2.1 collect_set 函數

1)創建原數據表

drop table if exists stud;

create table stud (name string, area string, course string, score int);

2)向原數據表中插入數據

insert into table stud values('zhang3','bj','math',88);

insert into table stud values('li4','bj','math',99);

insert into table stud values('wang5','sh','chinese',92);

insert into table stud values('zhao6','sh','chinese',54);

insert into table stud values('tian7','bj','chinese',91);

3)查詢表中數據

select * from stud;

stud.name stud.area stud.course stud.score

zhang3 bj math 88

li4 bj math 99

wang5 sh chinese 92

zhao6 sh chinese 54

tian7 bj chinese 91

4)把同一分組的不同行的數據聚合成一個集合

select course, collect_set(area), avg(score) from stud group by course;

chinese ["sh","bj"] 79.0

math ["bj"] 93.5

5) 用下標可以取某一個

select course, collect_set(area)[0], avg(score) from

stud group by course;

chinese sh 79.0

math bj 93.5

1.2.2 nvl 函數

1)基本語法

NVL(表達式 1,表達式 2)

如果表達式 1 為空值,NVL 返回值為表達式 2 的值,否則返回表達式 1 的值。 該函數的目的是把一個空值(null)轉換成一個實際的值。其表達式的值可以是數字型、字符型和日期型。但是表達式 1 和表達式 2 的數據類型必須為同一個類型

1.2.3 日期處理函數

1)date_format 函數(根據格式整理日期)

hive (gmall)> select date_format('2020-03-10','yyyy-MM');

2020-03

2)date_add 函數(加減日期)

hive (gmall)> select date_add('2020-03-10',-1);

2020-03-09

hive (gmall)> select date_add('2020-03-10',1);

2020-03-11

3)next_day 函數

(1)取當前天的下一個周一

hive (gmall)> select next_day('2020-03-12','MO');

2020-03-16

說明:星期一到星期日的英文(Monday,Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday)

(2)取當前周的周一

hive (gmall)> select date_add(next_day('2020-03-12','MO'),-7);

2020-03-11

4)last_day 函數(求當月最后一天日期)

hive (gmall)> select last_day('2020-03-10');

2020-03-31

1.3 DWS 層(用戶行為)

1.3.1 每日設備行為

每日設備行為,主要按照 設備 id 統計

1)建表語句

drop table if exists dws_uv_detail_daycount;

create external table dws_uv_detail_daycount

(

`mid_id` string COMMENT '設備唯一標識',

`user_id` string COMMENT '用戶標識',

`version_code` string COMMENT '程序版本號',

`version_name` string COMMENT '程序版本名',

`lang` string COMMENT '系統語言',

`source` string COMMENT '渠道號',

`os` string COMMENT '安卓系統版本',

`area` string COMMENT '區域',

`model` string COMMENT '手機型號',

`brand` string COMMENT '手機品牌',

`sdk_version` string COMMENT 'sdkVersion',

`gmail` string COMMENT 'gmail',

`height_width` string COMMENT '屏幕寬高',

`app_time` string COMMENT '客戶端日志產生時的時間',

`network` string COMMENT '網絡模式',

`lng` string COMMENT '經度',

`lat` string COMMENT '緯度',

`login_count` bigint COMMENT '活躍次數'

)

partitioned by(dt string)

stored as parquet

location '/warehouse/gmall/dws/dws_uv_detail_daycount';

2)數據裝載

insert overwrite table dws_uv_detail_daycount partition(dt='2020-03-10')

select

mid_id,

concat_ws('|', collect_set(user_id)) user_id,

concat_ws('|', collect_set(version_code)) version_code,

concat_ws('|', collect_set(version_name)) version_name,

concat_ws('|', collect_set(lang))lang,

concat_ws('|', collect_set(source)) source,

concat_ws('|', collect_set(os)) os,

concat_ws('|', collect_set(area)) area,

concat_ws('|', collect_set(model)) model,

concat_ws('|', collect_set(brand)) brand,

concat_ws('|', collect_set(sdk_version)) sdk_version,

concat_ws('|', collect_set(gmail)) gmail,

concat_ws('|', collect_set(height_width)) height_width,

concat_ws('|', collect_set(app_time)) app_time,

concat_ws('|', collect_set(network)) network,

concat_ws('|', collect_set(lng)) lng,

concat_ws('|', collect_set(lat)) lat,

count(*) login_count

from dwd_start_log

where dt='2020-03-10'

group by mid_id;

3)查詢加載結果

select * from dws_uv_detail_daycount where dt='2020-03-10';

1.4 DWS 層(業務)

DWS 層的寬表字段,是站在不同維度的視角去看事實表,重點關注事實表的度量值

1.4.1 每日會員行為

1)建表語句

drop table if exists dws_user_action_daycount;

create external table dws_user_action_daycount

(

user_id string comment '用戶 id',

login_count bigint comment '登錄次數',

cart_count bigint comment '加入購物車次數',

cart_amount double comment '加入購物車金額',

order_count bigint comment '下單次數',

order_amount decimal(16,2) comment '下單金額',

payment_count bigint comment '支付次數',

payment_amount decimal(16,2) comment '支付金額'

) COMMENT '每日用戶行為'

PARTITIONED BY (`dt` string)

stored as parquet

location '/warehouse/gmall/dws/dws_user_action_daycount/'

tblproperties ("parquet.compression"="lzo");

2)數據裝載

with

tmp_login as

(

select

user_id,

count(*) login_count

from dwd_start_log

where dt='2020-03-10'

and user_id is not null

group by user_id

),

tmp_cart as

(

select

user_id,

count(*) cart_count,

sum(cart_price*sku_num) cart_amount

from dwd_fact_cart_info

where dt='2020-03-10'

and user_id is not null

and date_format(create_time,'yyyy-MM-dd')='2020-03-10'

group by user_id

),

tmp_order as

(

select

user_id,

count(*) order_count,

sum(final_total_amount) order_amount

from dwd_fact_order_info

where dt='2020-03-10'

group by user_id

) ,

tmp_payment as

(

select

user_id,

count(*) payment_count,

sum(payment_amount) payment_amount

from dwd_fact_payment_info

where dt='2020-03-10'

group by user_id

)

insert overwrite table dws_user_action_daycount partition(dt='2020-03-10')

select

user_actions.user_id,

sum(user_actions.login_count),

sum(user_actions.cart_count),

sum(user_actions.cart_amount),

sum(user_actions.order_count),

sum(user_actions.order_amount),

sum(user_actions.payment_count),

sum(user_actions.payment_amount)

from

(

select

user_id,

login_count,

0 cart_count,

0 cart_amount,

0 order_count,

0 order_amount,

0 payment_count,

0 payment_amount

from

tmp_login

union all

select

user_id,

0 login_count,

cart_count,

cart_amount,

0 order_count,

0 order_amount,

0 payment_count,

0 payment_amount

from

tmp_cart

union all

select

user_id,

0 login_count,

0 cart_count,

0 cart_amount,

order_count,

order_amount,

0 payment_count,

0 payment_amount

from tmp_order

union all

select

user_id,

0 login_count,

0 cart_count,

0 cart_amount,

0 order_count,

0 order_amount,

payment_count,

payment_amount

from tmp_payment

) user_actions

group by user_id;

3)查詢加載結果

select * from dws_user_action_daycount where dt=‘2020-03-10’;

drop table if exists dws_sku_action_daycount;

create external table dws_sku_action_daycount

(

sku_id string comment 'sku_id',

order_count bigint comment '被下單次數',

order_num bigint comment '被下單件數',

order_amount decimal(16,2) comment '被下單金額',

payment_count bigint comment '被支付次數',

payment_num bigint comment '被支付件數',

payment_amount decimal(16,2) comment '被支付金額',

refund_count bigint comment '被退款次數',

refund_num bigint comment '被退款件數',

refund_amount decimal(16,2) comment '被退款金額',

cart_count bigint comment '被加入購物車次數',

cart_num bigint comment '被加入購物車件數',

favor_count bigint comment '被收藏次數',

appraise_good_count bigint comment '好評數',

appraise_mid_count bigint comment '中評數',

appraise_bad_count bigint comment '差評數',

appraise_default_count bigint comment '默認評價數'

) COMMENT '每日商品行為'

PARTITIONED BY (`dt` string)

stored as parquet

location '/warehouse/gmall/dws/dws_sku_action_daycount/'

tblproperties ("parquet.compression"="lzo");

2)數據裝載

注意:如果是 23 點 59 下單,支付日期跨天。需要從訂單詳情里面取出支付時間是今天,訂單時間是昨天或者今天的訂單

with

tmp_order as

(

select

sku_id,

count(*) order_count,

sum(sku_num) order_num,

sum(total_amount) order_amount

from dwd_fact_order_detail

where dt='2020-03-10'

group by sku_id

),

tmp_payment as

(

select

sku_id,

count(*) payment_count,

sum(sku_num) payment_num,

sum(total_amount) payment_amount

from dwd_fact_order_detail

where dt='2020-03-10'

and order_id in

(

select

id

from dwd_fact_order_info

where (dt='2020-03-10' or dt=date_add('2020-03-10',-1))

and date_format(payment_time,'yyyy-MM-dd')='2020-03-10'

)

group by sku_id

),

tmp_refund as

(

select

sku_id,

count(*) refund_count,

sum(refund_num) refund_num,

sum(refund_amount) refund_amount

from dwd_fact_order_refund_info

where dt='2020-03-10'

group by sku_id

),

tmp_cart as

(

select

sku_id,

count(*) cart_count,

sum(sku_num) cart_num

from dwd_fact_cart_info

where dt='2020-03-10'

and date_format(create_time,'yyyy-MM-dd')='2020-03-10'

group by sku_id

),

tmp_favor as

(

select

sku_id,

count(*) favor_count

from dwd_fact_favor_info

where dt='2020-03-10'

and date_format(create_time,'yyyy-MM-dd')='2020-03-10'

group by sku_id

),

tmp_appraise as

(

select

sku_id,

sum(if(appraise='1201',1,0)) appraise_good_count,

sum(if(appraise='1202',1,0)) appraise_mid_count,

sum(if(appraise='1203',1,0)) appraise_bad_count,

sum(if(appraise='1204',1,0)) appraise_default_count

from dwd_fact_comment_info

where dt='2020-03-10'

group by sku_id

)

insert overwrite table dws_sku_action_daycount partition(dt='2020-03-10')

select

sku_id,

sum(order_count),

sum(order_num),

sum(order_amount),

sum(payment_count),

sum(payment_num),

sum(payment_amount),

sum(refund_count),

sum(refund_num),

sum(refund_amount),

sum(cart_count),

sum(cart_num),

sum(favor_count),

sum(appraise_good_count),

sum(appraise_mid_count),

sum(appraise_bad_count),

sum(appraise_default_count)

from

(

select

sku_id,

order_count,

order_num,

order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_order

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

payment_count,

payment_num,

payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_payment

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

refund_count,

refund_num,

refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_refund

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

cart_count,

cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_cart

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_favor

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

appraise_good_count,

appraise_mid_count,

appraise_bad_count,

appraise_default_count

from tmp_appraise

)tmp

group by sku_id;

3)查詢加載結果

select * from dws_sku_action_daycount where dt='2020-03-10';

1.4.5 每日購買行為

1)建表語句

drop table if exists dws_sale_detail_daycount;

create external table dws_sale_detail_daycount

(

user_id string comment '用戶 id',

sku_id string comment '商品 id',

user_gender string comment '用戶性別',

user_age string comment '用戶年齡',

user_level string comment '用戶等級',

order_price decimal(10,2) comment '商品價格',

sku_name string comment '商品名稱',

sku_tm_id string comment '品牌 id',

sku_category3_id string comment '商品三級品類 id',

sku_category2_id string comment '商品二級品類 id',

sku_category1_id string comment '商品一級品類 id',

sku_category3_name string comment '商品三級品類名稱',

sku_category2_name string comment '商品二級品類名稱',

sku_category1_name string comment '商品一級品類名稱',

spu_id string comment '商品 spu',

sku_num int comment '購買個數',

order_count bigint comment '當日下單單數',

order_amount decimal(16,2) comment '當日下單金額'

) COMMENT '每日購買行為'

PARTITIONED BY (`dt` string)

stored as parquet

location '/warehouse/gmall/dws/dws_sale_detail_daycount/'

tblproperties ("parquet.compression"="lzo");

2)數據裝載

insert overwrite table dws_sale_detail_daycount partition(dt='2020-03-10')

select

op.user_id,

op.sku_id,

ui.gender,

months_between('2020-03-10', ui.birthday)/12 age,

ui.user_level,

si.price,

si.sku_name,

si.tm_id,

si.category3_id,

si.category2_id,

si.category1_id,

si.category3_name,

si.category2_name,

si.category1_name,

si.spu_id,

op.sku_num,

op.order_count,

op.order_amount

from

(

select

user_id,

sku_id,

sum(sku_num) sku_num,

count(*) order_count,

sum(total_amount) order_amount

from dwd_fact_order_detail

where dt='2020-03-10'

group by user_id, sku_id

)op

join

(

select

*

from dwd_dim_user_info_his

where end_date='9999-99-99'

)ui on op.user_id = ui.id

join

(

select

*

from dwd_dim_sku_info

where dt='2020-03-10'

)si on op.sku_id = si.id;

3)查詢加載結果

select * from dws_sale_detail_daycount where dt='2020-03-10';

1.5 DWS 層數據導入腳本

1)vim dwd_to_dws.sh

在腳本中填寫如下內容

#!/bin/bash

APP=gmall

hive=/opt/modules/hive/bin/hive

# 如果是輸入的日期按照取輸入日期;如果沒輸入日期取當前時間的前一天

if [ -n "$1" ] ;then

do_date=$1

else

do_date=`date -d "-1 day" +%F`

fi

sql="

insert overwrite table ${APP}.dws_uv_detail_daycount partition(dt='$do_date')

select

mid_id,

concat_ws('|', collect_set(user_id)) user_id,

concat_ws('|', collect_set(version_code)) version_code,

concat_ws('|', collect_set(version_name)) version_name,

concat_ws('|', collect_set(lang))lang,

concat_ws('|', collect_set(source)) source,

concat_ws('|', collect_set(os)) os,

concat_ws('|', collect_set(area)) area,

concat_ws('|', collect_set(model)) model,

concat_ws('|', collect_set(brand)) brand,

concat_ws('|', collect_set(sdk_version)) sdk_version,

concat_ws('|', collect_set(gmail)) gmail,

concat_ws('|', collect_set(height_width)) height_width,

concat_ws('|', collect_set(app_time)) app_time,

concat_ws('|', collect_set(network)) network,

concat_ws('|', collect_set(lng)) lng,

concat_ws('|', collect_set(lat)) lat,

count(*) login_count

from ${APP}.dwd_start_log

where dt='$do_date'

group by mid_id;

with

tmp_login as

(

select

user_id,

count(*) login_count

from ${APP}.dwd_start_log

where dt='$do_date'

and user_id is not null

group by user_id

),

tmp_cart as

(

select

user_id,

count(*) cart_count,

sum(cart_price*sku_num) cart_amount

from ${APP}.dwd_fact_cart_info

where dt='$do_date'

and user_id is not null

and date_format(create_time,'yyyy-MM-dd')='$do_date'

group by user_id

),

tmp_order as

(

select

user_id,

count(*) order_count,

sum(final_total_amount) order_amount

from ${APP}.dwd_fact_order_info

where dt='$do_date'

group by user_id

) ,

tmp_payment as

(

select

user_id,

count(*) payment_count,

sum(payment_amount) payment_amount

from ${APP}.dwd_fact_payment_info

where dt='$do_date'

group by user_id

)

insert overwrite table ${APP}.dws_user_action_daycount partition(dt='$do_date')

select

user_actions.user_id,

sum(user_actions.login_count),

sum(user_actions.cart_count),

sum(user_actions.cart_amount),

sum(user_actions.order_count),

sum(user_actions.order_amount),

sum(user_actions.payment_count),

sum(user_actions.payment_amount)

from

(

select

user_id,

login_count,

0 cart_count,

0 cart_amount,

0 order_count,

0 order_amount,

0 payment_count,

0 payment_amount

from

tmp_login

union all

select

user_id,

0 login_count,

cart_count,

cart_amount,

0 order_count,

0 order_amount,

0 payment_count,

0 payment_amount

from

tmp_cart

union all

select

user_id,

0 login_count,

0 cart_count,

0 cart_amount,

order_count,

order_amount,

0 payment_count,

0 payment_amount

from tmp_order

union all

select

user_id,

0 login_count,

0 cart_count,

0 cart_amount,

0 order_count,

0 order_amount,

payment_count,

payment_amount

from tmp_payment

) user_actions

group by user_id;

with

tmp_order as

(

select

sku_id,

count(*) order_count,

sum(sku_num) order_num,

sum(total_amount) order_amount

from ${APP}.dwd_fact_order_detail

where dt='$do_date'

group by sku_id

),

tmp_payment as

(

select

sku_id,

count(*) payment_count,

sum(sku_num) payment_num,

sum(total_amount) payment_amount

from ${APP}.dwd_fact_order_detail

where dt='$do_date'

and order_id in

(

select

id

from ${APP}.dwd_fact_order_info

where (dt='$do_date' or dt=date_add('$do_date',-1))

and date_format(payment_time,'yyyy-MM-dd')='$do_date'

)

group by sku_id

),

tmp_refund as

(

select

sku_id,

count(*) refund_count,

sum(refund_num) refund_num,

sum(refund_amount) refund_amount

from ${APP}.dwd_fact_order_refund_info

where dt='$do_date'

group by sku_id

),

tmp_cart as

(

select

sku_id,

count(*) cart_count,

sum(sku_num) cart_num

from ${APP}.dwd_fact_cart_info

where dt='$do_date'

and date_format(create_time,'yyyy-MM-dd')='$do_date'

group by sku_id

),

tmp_favor as

(

select

sku_id,

count(*) favor_count

from ${APP}.dwd_fact_favor_info

where dt='$do_date'

and date_format(create_time,'yyyy-MM-dd')='$do_date'

group by sku_id

),

tmp_appraise as

(

select

sku_id,

sum(if(appraise='1201',1,0)) appraise_good_count,

sum(if(appraise='1202',1,0)) appraise_mid_count,

sum(if(appraise='1203',1,0)) appraise_bad_count,

sum(if(appraise='1204',1,0)) appraise_default_count

from ${APP}.dwd_fact_comment_info

where dt='$do_date'

group by sku_id

)

insert overwrite table ${APP}.dws_sku_action_daycount partition(dt='$do_date')

select

sku_id,

sum(order_count),

sum(order_num),

sum(order_amount),

sum(payment_count),

sum(payment_num),

sum(payment_amount),

sum(refund_count),

sum(refund_num),

sum(refund_amount),

sum(cart_count),

sum(cart_num),

sum(favor_count),

sum(appraise_good_count),

sum(appraise_mid_count),

sum(appraise_bad_count),

sum(appraise_default_count)

from

(

select

sku_id,

order_count,

order_num,

order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_order

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

payment_count,

payment_num,

payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_payment

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

refund_count,

refund_num,

refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_refund

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

cart_count,

cart_num,

0 favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_cart

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

favor_count,

0 appraise_good_count,

0 appraise_mid_count,

0 appraise_bad_count,

0 appraise_default_count

from tmp_favor

union all

select

sku_id,

0 order_count,

0 order_num,

0 order_amount,

0 payment_count,

0 payment_num,

0 payment_amount,

0 refund_count,

0 refund_num,

0 refund_amount,

0 cart_count,

0 cart_num,

0 favor_count,

appraise_good_count,

appraise_mid_count,

appraise_bad_count,

appraise_default_count

from tmp_appraise

)tmp

group by sku_id;

insert overwrite table ${APP}.dws_sale_detail_daycount partition(dt='$do_date')

select

op.user_id,

op.sku_id,

ui.gender,

months_between('$do_date', ui.birthday)/12 age,

ui.user_level,

si.price,

si.sku_name,

si.tm_id,

si.category3_id,

si.category2_id,

si.category1_id,

si.category3_name,

si.category2_name,

si.category1_name,

si.spu_id,

op.sku_num,

op.order_count,

op.order_amount

from

(

select

user_id,

sku_id,

sum(sku_num) sku_num,

count(*) order_count,

sum(total_amount) order_amount

from ${APP}.dwd_fact_order_detail

where dt='$do_date'

group by user_id, sku_id

)op

join

(

select

*

from ${APP}.dwd_dim_user_info_his

where end_date='9999-99-99'

)ui on op.user_id = ui.id

join

(

select

*

from ${APP}.dwd_dim_sku_info

where dt='$do_date'

)si on op.sku_id = si.id;

"

$hive -e "$sql"

2)增加腳本執行權限

3)執行腳本導入數據

4)查看導入數據

select * from dws_uv_detail_daycount where dt='2020-03-11';

select * from dws_user_action_daycount where dt='2020-03-11';

select * from dws_sku_action_daycount where dt='2020-03-11';

select * from dws_sale_detail_daycount where dt='2020-03-11';

總結

以上是生活随笔為你收集整理的hive udf 分组取top1_项目实战从0到1之hive(27)数仓项目(九)数仓搭建 DWS 层的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日韩欧美综合精品 | 人人网av| 中文成人字幕 | 欧美精品久久久久久久久久丰满 | 国产高清中文字幕 | 欧洲精品久久久久毛片完整版 | 成人黄色电影免费观看 | 国产91粉嫩白浆在线观看 | 国产精品久久久久久久久久久不卡 | 久久久久福利视频 | 日韩午夜电影院 | 国内精品久久久久影院一蜜桃 | 少妇18xxxx性xxxx片 | 国产精品一区二区在线观看 | 在线观看91久久久久久 | 人人爽人人爽人人 | 狠狠躁天天躁综合网 | 色黄www小说 | 97国产视频 | 免费精品视频在线观看 | 欧美另类xxxxx | 永久免费的啪啪网站免费观看浪潮 | 国产麻豆精品久久一二三 | 天天搞天天干 | 精品av在线播放 | 中文字幕有码在线 | 麻豆超碰| 一级做a爱片性色毛片www | 欧美极度另类性三渗透 | 4438全国亚洲精品观看视频 | 黄色软件视频大全免费下载 | 娇妻呻吟一区二区三区 | 国产精品一区二区三区四区在线观看 | 在线 成人 | 日日干综合 | 99精品福利视频 | 2018亚洲男人天堂 | 亚洲少妇久久 | 久久麻豆精品 | 久久久 激情 | 色婷婷导航 | 国产亚洲精品久久久久动 | h视频日本| 日韩高清www| 久久视频精品在线观看 | 人人澡超碰碰 | 欧美国产日韩中文 | 精品96久久久久久中文字幕无 | 亚洲闷骚少妇在线观看网站 | 国产一区欧美在线 | 色综合久久88色综合天天 | 最新国产精品久久精品 | 日韩视频中文字幕 | 天天爱天天操 | 国产精品高清在线观看 | 欧美十八 | 91麻豆精品国产91久久久无限制版 | 最新国产在线 | 国产精品久久婷婷六月丁香 | 亚洲国产精久久久久久久 | 51精品国自产在线 | 国产尤物在线 | 亚洲成av人片在线观看www | 亚洲日韩欧美视频 | 国产精品一二 | 久久成视频 | 亚洲一级片| 久久五月情影视 | 国产高清免费 | 成年人免费在线播放 | 国产一区二区在线看 | 中文字幕视频在线播放 | 日本精品视频一区二区 | 国产又粗又猛又色又黄网站 | 国产精品福利久久久 | 99久热在线精品视频成人一区 | 亚洲黄a | 天天综合婷婷 | 精品国产中文字幕 | 精品一区 在线 | 91久久久久久久一区二区 | 成人a级网站 | 一级片视频在线 | 国内精品久久久久久 | av在线之家电影网站 | 久久线视频 | 一区二区三区韩国免费中文网站 | 美女视频一区 | 亚洲黄色一级电影 | 日日干精品 | 奇米影视777影音先锋 | 国产午夜三级一区二区三桃花影视 | 成人免费电影 | 成 人 黄 色 免费播放 | 亚洲 中文字幕av | 毛片.com| 这里只有精彩视频 | 婷婷av电影 | 中文在线| 伊人电影天堂 | 缴情综合网五月天 | 91亚色视频在线观看 | 婷婷丁香视频 | 国产理伦在线 | 特级毛片aaa| 97国产大学生情侣酒店的特点 | 中字幕视频在线永久在线观看免费 | 日韩爱爱网站 | 在线视频欧美日韩 | 深夜成人av| 日韩免费在线观看视频 | av网站播放 | 亚洲天天干 | 精品国产一区二区三区av性色 | 最近中文字幕免费视频 | 国产视频97 | 99成人在线视频 | 5月丁香婷婷综合 | 99国产精品视频免费观看一公开 | 午夜精品久久久久久久久久久久久久 | 欧美日韩性生活 | 人人爽人人爽人人片av | 日韩av一区二区三区 | 久久99亚洲精品久久 | 国产精品一区二区吃奶在线观看 | 日韩在线观看不卡 | 亚洲精品高清视频在线观看 | av九九九| 国产视频资源在线观看 | 久久av观看| 香蕉视频在线免费 | 综合网五月天 | 国产乱老熟视频网88av | 香蕉在线视频播放网站 | 伊人久久在线观看 | 日韩免费观看视频 | 人人艹视频| 91视频免费视频 | 欧美了一区在线观看 | 又黄又爽又刺激的视频 | 日韩网站一区二区 | 高清视频一区二区三区 | 亚洲视频免费视频 | 国产一级久久 | 久久日本视频 | 欧美日韩免费一区二区 | 香蕉久久久久久久 | 首页国产精品 | 狠狠操夜夜操 | 色综合五月天 | 91激情小视频 | 久久久久久久综合色一本 | 超级碰碰免费视频 | 中文字幕在线观看免费高清完整版 | 免费视频久久久 | 欧美 国产 视频 | 国产精品九九久久99视频 | 日韩影视精品 | 97超碰免费在线观看 | 99精品视频免费在线观看 | 午夜日b视频 | av中文字幕网址 | 制服丝袜一区二区 | 97精品欧美91久久久久久 | 黄色国产在线 | 国产麻豆视频在线观看 | 国产视频1 | 午夜三级福利 | 91视频在线播放视频 | 国产精品麻豆99久久久久久 | 亚洲黄色片在线 | 国产精品中文久久久久久久 | 久久99精品久久久久蜜臀 | 欧美吞精| 亚洲国产欧美一区二区三区丁香婷 | 亚洲久草网 | 精品亚洲欧美无人区乱码 | av中文字幕在线看 | 成人免费视频网站 | 欧美性超爽 | 超碰在线97国产 | 69精品久久 | 麻豆视频在线免费看 | 美女在线免费视频 | 美女久久99 | 久久久精品成人 | 一级免费黄视频 | 激情 婷婷 | 免费看高清毛片 | 国产护士hd高朝护士1 | 亚洲精品国产成人av在线 | 精品成人a区在线观看 | 久99久视频 | 国产成人在线观看 | 久久国产欧美日韩精品 | 久久男人中文字幕资源站 | 深夜国产在线 | 久久视频国产 | 午夜精品中文字幕 | 久久免费视频一区 | 欧美日本不卡高清 | 在线日韩av| 亚洲成人网在线 | 97在线视频免费观看 | 国产婷婷 | wwwww.国产| 国产三级视频 | 在线观看中文字幕第一页 | 夜夜爽夜夜操 | 91在线视频观看免费 | 国产理论一区二区三区 | 中文字幕亚洲欧美日韩2019 | 色老板在线| 免费视频国产 | 99久热在线精品 | 国产成人三级在线观看 | 国产一级片播放 | 日韩网站在线看片你懂的 | 婷婷丁香色 | 精品影院一区二区久久久 | 久久精品国产第一区二区三区 | 麻豆视频入口 | 日韩在线一级 | www国产亚洲精品 | 美女视频久久黄 | 操老逼免费视频 | 欧美在线视频第一页 | 精品在线不卡 | www.综合网.com | 欧美少妇xxxxxx | 亚洲欧美国产视频 | 91人网站 | 草久热| 深爱开心激情网 | 色综合天天色综合 | 国产黄免费在线观看 | 伊人网av| 欧洲精品在线视频 | 欧美一区二区日韩一区二区 | 又湿又紧又大又爽a视频国产 | 免费网站在线观看人 | 国产人成免费视频 | 在线观看日韩精品视频 | 激情文学综合丁香 | 黄色一级性片 | 久久这里只有精品1 | 干狠狠 | 久久99国产视频 | 一本一道久久a久久综合蜜桃 | 国产拍揄自揄精品视频麻豆 | 亚洲成人第一区 | 久久试看| 91chinesexxx | 黄色片免费在线 | 久久久久免费精品 | 91传媒91久久久 | 91在线精品秘密一区二区 | 精品在线你懂的 | 狠狠色丁香婷综合久久 | 黄色软件网站在线观看 | 日日操操操| 粉嫩av一区二区三区四区五区 | 欧美日韩中文字幕综合视频 | 五月婷婷视频 | 久久久国产网站 | 亚洲成年人免费网站 | 免费在线观看av的网站 | 在线观看mv的中文字幕网站 | 久草在线高清视频 | 国产精品资源 | 骄小bbw搡bbbb揉bbbb | 国产精品成人一区二区三区吃奶 | 91人人在线| 免费人成在线观看网站 | 国产精品 国产精品 | 欧美少妇xx| 五月精品| 性色大片在线观看 | 亚洲一区天堂 | 婷婷网站天天婷婷网站 | 91亚洲精品久久久蜜桃网站 | 国产黄在线看 | 免费视频18| 精品一区欧美 | 韩日成人av| 免费av在线播放 | 免费在线激情电影 | 97超在线 | 99精品视频在线 | 国产91av视频在线观看 | 亚洲综合网站在线观看 | 久草在线综合 | 天天干天天色2020 | 一区二区精品国产 | 欧美性性网 | 亚洲久草网 | 韩国av在线 | 91在线视频 | 亚洲人成人99网站 | 中文字幕之中文字幕 | 亚洲在线精品视频 | 国产成人61精品免费看片 | 91人人澡| 国产一级免费在线 | 久久一视频| 一本色道久久精品 | 国产群p| 丁香五月亚洲综合在线 | 人人爱在线视频 | 黄色亚洲| 黄色av电影网 | 亚洲综合在线播放 | 免费国产在线精品 | 国产成人99av超碰超爽 | 国产最顶级的黄色片在线免费观看 | 久久se视频 | 2019天天干天天色 | 亚洲国产精品一区二区尤物区 | 九色91在线视频 | 欧美一区三区四区 | 日本黄色免费电影网站 | 在线观看国产永久免费视频 | 国产精品久久婷婷六月丁香 | 最近2019年日本中文免费字幕 | www五月天| 97色免费视频 | 麻豆视频在线观看免费 | 亚洲精品天天 | 国产白浆在线观看 | 91九色蝌蚪视频在线 | 欧美性色黄大片在线观看 | 成人作爱视频 | 国产精品视频免费在线观看 | 国内精品久久久久久久久久久久 | 久久精品影视 | 亚洲国产精品va在线看 | 日韩在线视频不卡 | 欧美伊人网 | 天天操天天干天天干 | 97网在线观看 | 国产精品久一 | 五月婷激情 | 天天天操操操 | 久久极品 | 欧美激情第28页 | 久久国产精品99久久久久久进口 | 99热最新| 日韩精品免费一区二区三区 | 国产精品久一 | 亚洲欧洲美洲av | 夜夜操天天干, | 日本成人免费在线观看 | 欧美 日韩 国产 成人 在线 | 日韩中文字幕一区 | 日韩视频免费观看高清完整版在线 | 国产在线观看中文字幕 | 日韩欧美一区二区不卡 | 成人av在线直播 | 日韩高清在线一区二区三区 | 久久se视频 | 成年人黄色av | 精品91| 久久久久久久久久久久久国产精品 | 日韩一区二区三区高清免费看看 | 午夜三级大片 | 国产一区二区精品 | 成人av在线直播 | 麻豆91在线| 超碰在线观看97 | 国产精品资源在线 | 麻花豆传媒一二三产区 | 国产不卡在线观看 | 精品电影一区二区 | 久久免费试看 | 69国产盗摄一区二区三区五区 | 色婷婷狠| 久久精品国产精品亚洲 | 国产成人久久av977小说 | 国产电影黄色av | 麻豆视频免费网站 | 亚洲天堂香蕉 | 欧美性大胆 | 欧美国产精品久久久久久免费 | 日韩 精品 一区 国产 麻豆 | 四虎国产精品免费 | 久久99精品久久久久久清纯直播 | 欧美日韩一区二区三区在线观看视频 | 成人精品亚洲 | 国产视频一区在线 | 在线观看免费黄视频 | 国产精品久久久久久久7电影 | 国产日韩欧美在线影视 | 日韩极品视频在线观看 | 高清av网 | 在线观看久久 | 亚洲一区二区三区91 | 欧美极品xxx| 亚州五月 | 夜夜夜夜爽 | 2020天天干夜夜爽 | www.少妇| 久久字幕| 天天曰天天 | 欧美视频99 | 欧美激情视频一区 | 婷婷丁香激情网 | 免费视频97 | 欧美日韩国产精品一区二区亚洲 | 成人免费91| 日韩在线免费观看视频 | 欧美日韩一区二区视频在线观看 | 日韩免费专区 | 最新超碰 | 日韩伦理一区二区三区av在线 | 日韩三级视频在线观看 | 亚洲精品88欧美一区二区 | 毛片3| 日日夜夜操av | 在线日韩一区 | 91日韩在线 | 中文字幕在线观看第三页 | 在线观看黄网 | 国产一级一级国产 | 一区二区精品视频 | 亚洲电影久久久 | 午夜婷婷在线观看 | 深夜福利视频在线观看 | 国产专区在线播放 | 国产日韩欧美在线看 | 国产三级精品三级在线观看 | 日韩女同一区二区三区在线观看 | 久久免费大片 | 亚洲激情校园春色 | 91麻豆精品国产91久久久久 | 亚洲欧美成人综合 | 国产色资源| freejavvideo日本免费 | 国产综合91 | av大片网站| 欧美a级片免费看 | 美女国产在线 | 福利视频导航网址 | 五月婷婷导航 | 91九色国产视频 | 激情黄色av | www久久精品| 日韩黄色影院 | 精品久久久久久亚洲 | 色网站国产精品 | 国产免费一区二区三区最新 | 成年人在线观看免费视频 | 婷婷激情五月综合 | 国产一在线精品一区在线观看 | 91桃色在线免费观看 | 2019免费中文字幕 | 欧美日韩裸体免费视频 | 久久久久久久久久久久久影院 | 超碰99在线 | 国产福利91精品一区二区三区 | 亚洲精品国精品久久99热 | 91成年人在线观看 | 久热精品国产 | 日p在线观看 | 国产亚洲精品美女久久 | 最新久久免费视频 | 国产一区免费观看 | 欧美一级片免费播放 | www色| av电影免费在线播放 | 精品国产伦一区二区三区观看方式 | 99视频精品 | 国产视频精选在线 | 久久久不卡影院 | 国产97色| 鲁一鲁影院 | 久久久久99精品成人片三人毛片 | 中文字幕亚洲精品在线观看 | 久久免费成人网 | 一区二区三区视频在线 | 精品在线观看视频 | 麻豆视频在线免费观看 | 超碰人人国产 | 日韩在线观看第一页 | 天天操综 | 久久精品一区二区国产 | 久久国产视频网站 | 国产成人a亚洲精品 | 九九热1| 日韩久久精品一区二区 | 国产伦精品一区二区三区无广告 | 国产精品欧美日韩 | wwxxxx日本| 国产成人精品一区二区三区在线观看 | 青春草国产视频 | 国产一区二区在线播放 | 久久99电影| 日韩有码中文字幕在线 | av免费观看在线 | 日日夜夜天天干 | 视频成人永久免费视频 | 黄色一级大片在线免费看产 | 国产精品扒开做爽爽的视频 | 激情综合色图 | 免费在线成人av电影 | 高清日韩一区二区 | 日韩三级视频在线观看 | 久久久黄色免费网站 | 黄a在线观看| 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 三级av在线播放 | 国产精品入口麻豆www | 欧美视频xxx | 高清av中文在线字幕观看1 | 五月婷婷香蕉 | 国产免费一区二区三区最新 | 成人91视频| 日韩久久精品 | 一色屋精品视频在线观看 | 国产成人99av超碰超爽 | 日韩免费三区 | 日韩精品一区二区三区免费视频观看 | 久久三级毛片 | 国产美女无遮挡永久免费 | 亚洲免费不卡 | 久久久久久综合网天天 | 日韩小视频| 国产高清99 | 91在线看| 色偷偷88888欧美精品久久久 | 粉嫩高清一区二区三区 | a天堂在线看 | 99精品黄色片免费大全 | 欧美日韩在线视频观看 | 婷婷激情网站 | 国产专区第一页 | 国产精品视频永久免费播放 | 91av视频网站 | 欧美尹人| 91精品国产麻豆国产自产影视 | 亚洲人成综合 | 午夜精品一区二区三区在线观看 | 免费观看特级毛片 | 四虎8848免费高清在线观看 | 国产精品入口传媒 | 中文字幕在线观看网 | 99在线热播精品免费 | 欧美激情va永久在线播放 | 成人高清在线观看 | 久久美女电影 | 美女黄网站视频免费 | 91最新国产 | 天天夜操 | 中文字幕 婷婷 | 91九色国产 | 99国产精品一区 | 色狠狠狠| 在线观看第一页 | 免费a视频在线 | 91av电影在线 | 免费a级观看 | 精品国产观看 | 国产不卡精品视频 | 精品亚洲免a| 国产四虎在线 | 久久伊人爱 | 久久综合九色综合欧美狠狠 | 欧美一区日韩精品 | 亚洲精品中文字幕在线 | 欧美日韩二三区 | 成年人在线观看网站 | 久久伦理 | 91亚洲精品在线观看 | 精品国产伦一区二区三区观看说明 | 天天综合导航 | 精品国产一区二区三区四区vr | 五月婷社区| 国产精品福利小视频 | 天堂av色婷婷一区二区三区 | 九色福利视频 | 美女网站在线观看 | 天堂在线一区二区三区 | 色视频一区 | www99久久| 在线激情影院一区 | 免费成人在线网站 | 日韩精品免费一区二区 | 波多野结依在线观看 | 国内精品久久久久影院日本资源 | 丝袜美女在线观看 | 国产美女精品视频 | 五月激情姐姐 | 一区二区三区福利 | 中文字幕日韩无 | 欧美,日韩 | 中文字幕精品三区 | 蜜桃视频日韩 | 久久九九久久九九 | 国产91成人在在线播放 | 午夜视频导航 | 精品一区二区电影 | 婷婷中文字幕在线观看 | 久久精品一级片 | www.av免费| 欧美地下肉体性派对 | 久草精品视频在线看网站免费 | 欧美日韩视频精品 | 亚洲一级电影在线观看 | 973理论片235影院9 | 欧美成人精品欧美一级乱 | 日韩精品影视 | 91看片淫黄大片一级在线观看 | 亚洲视频 视频在线 | 精品欧美一区二区三区久久久 | 人人人爽| 午夜精品一区二区三区免费 | 免费日p视频 | 丁香激情综合国产 | 欧美一级片免费播放 | 国产精品久久久久久久久久妇女 | 91在线免费视频 | 免费视频久久久久 | 九九一级片 | 日韩免费中文 | 91精品色| 久久久精品国产一区二区 | 日韩精品一区二区三区外面 | 在线亚洲小视频 | 久久久久久网站 | 久久久久久国产一区二区三区 | 激情综合亚洲 | 丰满少妇在线观看资源站 | 国产第一福利 | 国产精品黄色 | 精品国产一区二区三区久久 | av7777777 | aa级黄色大片 | 国产精品尤物视频 | av免费观看高清 | 亚洲国产网站 | 欧美精品一区二区三区一线天视频 | 中文字幕在线视频精品 | 久久99精品久久久久久三级 | 精品999久久久 | 91九色蝌蚪在线 | 久草视频在线免费看 | 91在线精品秘密一区二区 | 久久人91精品久久久久久不卡 | 国产精品18久久久久久久久 | 国产精品a久久 | 欧美日韩国产在线观看 | 天天躁天天狠天天透 | 久久久18 | 国产成人精品久久久 | 五月综合激情网 | 99c视频高清免费观看 | 国产精品理论片 | a国产精品 | 久久久久五月天 | 色狠狠综合天天综合综合 | 伊人婷婷网 | 在线观看免费av片 | 免费a v在线| 中文字幕丝袜一区二区 | 国内精品久久久久久久久久清纯 | 国产精品刺激对白麻豆99 | 国产麻豆果冻传媒在线观看 | 国产精品免费小视频 | 黄色精品国产 | 狠狠躁天天躁综合网 | 国产成人精品一区二区三区网站观看 | 视频一区二区精品 | 麻豆成人在线观看 | 永久免费在线 | 久久久久麻豆v国产 | 日韩有码在线播放 | 五月开心六月伊人色婷婷 | 人人狠 | 在线观看免费福利 | 偷拍精偷拍精品欧洲亚洲网站 | 久久久五月天 | 国产一区在线播放 | 8x8x在线观看视频 | 波多野结衣一区二区 | 精品毛片在线 | 91精品国产99久久久久久红楼 | 国产伦精品一区二区三区… | 久久久久免费精品视频 | 黄色亚洲 | 99视频在线免费播放 | 午夜精品一区二区三区在线观看 | 婷婷综合国产 | 婷婷日日 | 日韩夜夜爽 | 亚洲女人天堂成人av在线 | 在线观看精品国产 | 狠狠操影视 | 97人人超 | 国产美女视频免费观看的网站 | 久久成人高清 | 色资源在线观看 | 国产美女被啪进深处喷白浆视频 | 在线看日韩 | 五月婷婷综合激情网 | 婷婷色网站 | 日韩精品久久久免费观看夜色 | 日韩aa视频 | 久久久久久久久影视 | 天堂av在线中文在线 | 亚洲激情 欧美激情 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 色婷婷综合久久久 | 欧美日本不卡高清 | 香蕉日日 | 日日夜夜av| 久久官网 | 91视频国产高清 | 911亚洲精品第一 | 少妇性bbb搡bbb爽爽爽欧美 | 久久精品一区二区三区中文字幕 | 日韩电影中文字幕在线 | 丁香六月综合网 | 久久精品国产免费看久久精品 | 久久免费的视频 | 狠狠色狠狠色综合日日小说 | 午夜视频在线观看一区二区三区 | 91视频在线免费 | 超碰人人99 | 国产精品免费成人 | 九九九热精品免费视频观看网站 | 日韩高清 一区 | 91香蕉视频720p | 国产精品一区二区三区在线播放 | 精品中文字幕在线观看 | 91在线观看欧美日韩 | 中文字幕在线观看一区二区 | 天天爱天天色 | 丁香婷婷激情五月 | 欧洲激情综合 | 九九在线高清精品视频 | 欧美日韩中文另类 | 色偷偷88欧美精品久久久 | 欧美在线视频第一页 | 日韩系列在线 | 国产999视频在线观看 | 波多野结衣久久资源 | 亚洲资源在线网 | 久艹视频在线观看 | 99色在线观看 | 久久久久久久久久久久久影院 | 午夜av在线播放 | 丁香六月久久综合狠狠色 | 人人爽人人干 | 免费观看一级 | 免费在线一区二区三区 | 久久一区二区三区超碰国产精品 | 精品国产一区二区三区日日嗨 | 亚洲爱视频| 日韩城人在线 | 一区二区亚洲精品 | 午夜久操 | 日韩爱爱片| 日本精品在线 | 麻豆影音先锋 | 色综合久久综合 | 日韩在线一二三区 | 欧美日韩不卡在线 | 久久九精品 | 日韩精品综合在线 | 国产综合视频在线观看 | av免费电影在线观看 | 亚洲精品黄色片 | 亚洲国产福利视频 | 白丝av在线 | 国际精品久久 | 国产视频精品免费 | 91丨九色丨91啦蝌蚪老版 | 日韩精品一区二区不卡 | 日韩免费观看视频 | 在线国产能看的 | 国产91亚洲精品 | 国产精品美女久久久久久久 | 久综合网 | 免费在线看v | 欧美精品v国产精品v日韩精品 | 日日干夜夜干 | 69视频网站| 国产中文在线视频 | 日韩理论电影在线观看 | 欧美日韩一区二区三区免费视频 | 在线观看视频日韩 | 国产精品免费麻豆入口 | av黄色在线观看 | 亚洲一区二区观看 | 午夜精品一区二区三区免费视频 | 国产午夜三级一二三区 | 97精品电影院 | 91精品在线免费观看视频 | 99视频在线 | 国产一卡二卡四卡国 | 久久国产亚洲精品 | 国产伦理精品一区二区 | 午夜视频在线观看欧美 | 国产亚洲一区二区在线观看 | 91在线免费播放 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国产美女视频 | 91福利视频在线 | 国产精品免费在线观看视频 | 久久久国产一区 | 夜添久久精品亚洲国产精品 | 亚洲欧洲视频 | 亚洲精品日韩在线观看 | 在线a视频 | 国产美女网站在线观看 | 亚洲三级视频 | 日韩精品一卡 | 97在线公开视频 | 精品国产伦一区二区三区免费 | 婷婷网在线 | 2019天天干天天色 | 亚洲综合成人专区片 | 欧美一二三区在线播放 | 99久久久久免费精品国产 | 日韩在线视频线视频免费网站 | 久久黄色网址 | 免费色网 | 日本黄色一级电影 | 午夜av一区二区三区 | 97精品国产97久久久久久久久久久久 | 精品国产一区二区三区久久影院 | 99一级片| a黄色片| 成人国产精品久久久久久亚洲 | 久久高清 | 国产亚洲日 | 中文字幕一区二区三区乱码不卡 | 久久精品网站免费观看 | 国产精品一区电影 | 免费a v观看| 久久视频网址 | 久久韩国免费视频 | 免费欧美高清视频 | 久久深夜| 国产日韩欧美在线看 | 免费观看性生活大片3 | 精品国产欧美一区二区 | 欧洲精品二区 | 干天天 | 又色又爽又激情的59视频 | 在线a视频 | 狠狠色丁香九九婷婷综合五月 | 国产精品99久久久精品免费观看 | 亚洲一区二区观看 | 久久久国产99久久国产一 | 国产成人三级在线观看 | av超碰在线 | 国产精品日韩在线播放 | 亚洲国产久 | 91视频啪 | 婷婷激情综合五月天 | 97成人在线观看视频 | 91亚洲国产成人久久精品网站 | 国产网站av | 免费在线观看一级片 | 国产亚洲精品久久久久久大师 | 欧美黄在线 | 久久久久麻豆v国产 | 久久婷亚洲五月一区天天躁 | 亚洲丁香久久久 | www久久国产 | 国产99久久久欧美黑人 | 亚洲精品视频网站在线观看 | 精品一区 在线 | 午夜精品一区二区三区在线观看 | 韩国精品视频在线观看 | 久草在线免费资源 | 欧美a级一区二区 | 精品嫩模福利一区二区蜜臀 | 中文字幕在线观看完整版电影 | 91看片淫黄大片一级在线观看 | 久久精品美女视频 | 日韩av中文在线观看 | 狠狠的日 | 国产精品免费不卡 | 97看片网 | 日韩在线免费视频观看 | 亚洲黄色精品 | www.99在线观看 | 97av免费视频| aaa毛片视频 | 蜜桃av人人夜夜澡人人爽 | av在线网站大全 | 免费一级特黄毛大片 | 91精品国产欧美一区二区成人 | 美女网站久久 | 日韩免费在线观看视频 | 亚洲黄色免费在线 | 最新av电影网址 | 香蕉视频在线免费 | 久久久久久久福利 | 国产馆在线播放 | 国产一区在线免费 | 精品国产免费人成在线观看 | 日日夜夜91| 亚洲美女精品区人人人人 | 日韩av专区 | 中文av字幕在线观看 | 激情综合站 | 成年人电影免费在线观看 | 亚洲丝袜中文 | 久久黄色影院 | 激情综合网五月激情 | 色综合天天综合 | 99re在线视频观看 | 久久短视频 | 亚洲影院天堂 | 国产精品99免视看9 国产精品毛片一区视频 | 日韩在线播放欧美字幕 | 久艹视频在线免费观看 | 亚洲网站在线 | 久久综合综合久久综合 | 日夜夜精品视频 | 欧美一级日韩免费不卡 | 夜夜骑天天操 | 欧美夫妻生活视频 | 91精品国产自产老师啪 | 成人黄色一级视频 | 国产亚洲精品久久久网站好莱 | 婷婷视频导航 | 婷婷久久亚洲 | 一区免费视频 | 在线观看91 | 日韩精品一区在线播放 | 一本大道久久精品懂色aⅴ 五月婷社区 | av中文天堂 | av中文字幕av | 99久久精品免费看国产四区 | 精品国产免费人成在线观看 | 久草在线视频在线观看 | 免费成人av在线 | 最近中文字幕大全 | 国产福利免费在线观看 | 亚洲精品国产精品国自产 | 中文字幕九九 | 91在线日韩 | 久久99热久久99精品 | 999久久国精品免费观看网站 | 欧美二区视频 | 日韩高清一区 | 国产亚洲精品综合一区91 | 日日摸日日 | 国产精品久久久久久久久岛 | 美女视频网站久久 | 免费看亚洲毛片 | 中文字幕在线观看一区二区 | 91视频91蝌蚪 | 怡红院av久久久久久久 | 亚洲色图激情文学 | 在线观看成年人 | 国产精品久久一 | 永久免费av在线播放 | 成人在线观看影院 | 国产中文字幕一区二区 | 99热在线国产精品 | 69av在线视频 | 久草精品视频 | 夜添久久精品亚洲国产精品 | 日韩欧美视频一区 | 天天色天天射天天综合网 | 亚洲精品短视频 | 亚洲日韩欧美一区二区在线 | 久要激情网 | 99久久精品国产一区二区成人 | 少妇视频一区 | 国产精品久久久久久久免费大片 | 97手机电影网 | 亚洲夜夜网 | 欧美另类z0zx | 国产综合激情 | 91最新视频在线观看 | 一级黄色片在线播放 | 麻豆综合网 | 色婷婷免费视频 | 久久国产一二区 | 精品电影一区 | 婷婷 中文字幕 | 亚洲精选国产 | 91视频国产高清 | 欧美成人一区二区 | 黄色小说在线免费观看 | 91精品免费在线 | 日韩特黄一级欧美毛片特黄 | 日韩精品免费在线播放 | 国产精品免费久久久久久 | 97精产国品一二三产区在线 | 成人av在线播放网站 | www.狠狠干| 夜夜骑天天操 |