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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2022-02-09大数据学习日志——Hadoop离线阶段——Hive窗口函数、性能调优

發(fā)布時(shí)間:2023/12/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2022-02-09大数据学习日志——Hadoop离线阶段——Hive窗口函数、性能调优 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

學(xué)習(xí)目標(biāo)

掌握窗口函數(shù)的使用 知道Hive數(shù)據(jù)壓縮、文件存儲(chǔ)格式 掌握Hive通用調(diào)優(yōu)(重要的見下述大綱)

內(nèi)容大綱

#Hive窗口函數(shù)(Window function)開窗函數(shù)分組TopN級(jí)聯(lián)累加問題連續(xù)登陸 #Hive的性能調(diào)優(yōu)hive的數(shù)據(jù)文件格式 數(shù)據(jù)壓縮行式存儲(chǔ) 列式存儲(chǔ)(ORC parquet)hive通用調(diào)優(yōu) *join優(yōu)化*group by數(shù)據(jù)傾斜優(yōu)化*task并行度問題其他通用調(diào)優(yōu)

01_Apache Hive 窗口函數(shù) 快速理解與語法

1.1 快速理解窗口函數(shù)功能

  • window function 窗口函數(shù)、開窗函數(shù)、olap分析函數(shù)。

  • 窗口:可以理解為操作數(shù)據(jù)的范圍,窗口有大有小,本窗口中操作的數(shù)據(jù)有多有少。

  • 可以簡單地解釋為類似于聚合函數(shù)的計(jì)算函數(shù),但是通過GROUP BY子句組合的常規(guī)聚合會(huì)隱藏正在聚合的各個(gè)行,最終輸出一行;而窗口函數(shù)聚合后還可以訪問當(dāng)中的各個(gè)行,并且可以將這些行中的某些屬性添加到結(jié)果集中。

--建表加載數(shù)據(jù) CREATE TABLE employee(id int,name string,deg string,salary int,dept string ) row format delimitedfields terminated by ',';load data local inpath '/root/hivedata/employee.txt' into table employee;select * from employee;----sum+group by普通常規(guī)聚合操作------------ select dept,sum(salary) as total from employee group by dept;select id,dept,sum(salary) as total from employee group by dept; --添加id至結(jié)果,錯(cuò)誤sql+-------+---------+ | dept | total | +-------+---------+ | AC | 60000 | | TP | 120000 | +-------+---------+----sum+窗口函數(shù)聚合操作------------ select id,name,deg,salary,dept,sum(salary) over(partition by dept) as total from employee;+-------+-----------+----------+---------+-------+---------+ | id | name | deg | salary | dept | total | +-------+-----------+----------+---------+-------+---------+ | 1204 | prasanth | dev | 30000 | AC | 60000 | | 1203 | khalil | dev | 30000 | AC | 60000 | | 1206 | kranthi | admin | 20000 | TP | 120000 | | 1202 | manisha | cto | 50000 | TP | 120000 | | 1201 | gopal | manager | 50000 | TP | 120000 | +-------+-----------+----------+---------+-------+---------+

1.2 窗口函數(shù)語法

具有OVER語句的函數(shù)叫做窗口函數(shù)。

Function(arg1,..., argn) OVER ([PARTITION BY <...>] [ORDER BY <....>] [<window_expression>])--其中Function(arg1,..., argn) 可以是下面分類中的任意一個(gè)--聚合函數(shù):比如sum max avg等--排序函數(shù):比如rank row_number等--分析函數(shù):比如lead lag first_value等--OVER [PARTITION BY <...>] 類似于group by 用于指定分組 每個(gè)分組你可以把它叫做窗口 --如果沒有PARTITION BY 那么整張表的所有行就是一組--[ORDER BY <....>] 用于指定每個(gè)分組內(nèi)的數(shù)據(jù)排序規(guī)則 支持ASC、DESC--[<window_expression>] 用于指定每個(gè)窗口中 操作的數(shù)據(jù)范圍 默認(rèn)是窗口中所有行
  • 建表加載數(shù)據(jù) 后續(xù)練習(xí)使用
---建表并且加載數(shù)據(jù) create table website_pv_info(cookieid string,createtime string, --daypv int ) row format delimited fields terminated by ',';create table website_url_info (cookieid string,createtime string, --訪問時(shí)間url string --訪問頁面 ) row format delimited fields terminated by ',';load data local inpath '/root/hivedata/website_pv_info.txt' into table website_pv_info; load data local inpath '/root/hivedata/website_url_info.txt' into table website_url_info;select * from website_pv_info; select * from website_url_info;

02_Apache Hive 窗口函數(shù) 聚合函數(shù)和窗口表達(dá)式

2.1 聚合函數(shù)

  • 語法

    sum|max|min|avg OVER ([PARTITION BY <...>] [ORDER BY <....>] [<window_expression>])
  • 重點(diǎn):有PARTITION BY 沒有PARTITION BY的區(qū)別;有ORDER BY沒有ORDER BY的區(qū)別。

    • 有沒有partition by 影響的是全局聚合 還是分組之后 每個(gè)組內(nèi)聚合。
    • 有沒有order by的區(qū)別:
      • 沒有order by,聚合的時(shí)候是組內(nèi)所有的數(shù)據(jù)聚合再一起 全局聚合
      • 如果有order by,聚合的時(shí)候是累加聚合,默認(rèn)是第一行聚合到當(dāng)前行。
  • 栗子

    --1、求出每個(gè)用戶總pv數(shù) sum+group by普通常規(guī)聚合操作 select cookieid,sum(pv) as total_pv from website_pv_info group by cookieid; +-----------+-----------+ | cookieid | total_pv | +-----------+-----------+ | cookie1 | 26 | | cookie2 | 35 | +-----------+-----------+--2、sum+窗口函數(shù) 總共有四種用法 注意是整體聚合 還是累積聚合 --sum(...) over( )對(duì)表所有行求和 --sum(...) over( order by ... ) 連續(xù)累積求和 --sum(...) over( partition by... ) 同組內(nèi)所行求和 --sum(...) over( partition by... order by ... ) 在每個(gè)分組內(nèi),連續(xù)累積求和--需求:求出網(wǎng)站總的pv數(shù) 所有用戶所有訪問加起來 --sum(...) over( )對(duì)表所有行求和 select cookieid,createtime,pv,sum(pv) over() as total_pv from website_pv_info;--需求:求出每個(gè)用戶總pv數(shù) --sum(...) over( partition by... ),同組內(nèi)所行求和 select cookieid,createtime,pv,sum(pv) over(partition by cookieid) as total_pv from website_pv_info;--需求:求出每個(gè)用戶截止到當(dāng)天,累積的總pv數(shù) --sum(...) over( partition by... order by ... ),在每個(gè)分組內(nèi),連續(xù)累積求和 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime) as current_total_pv from website_pv_info; +-----------+-------------+-----+-------------------+ | cookieid | createtime | pv | current_total_pv | +-----------+-------------+-----+-------------------+ | cookie1 | 2018-04-10 | 1 | 1 | | cookie1 | 2018-04-11 | 5 | 6 | | cookie1 | 2018-04-12 | 7 | 13 | | cookie1 | 2018-04-13 | 3 | 16 | | cookie1 | 2018-04-14 | 2 | 18 | | cookie1 | 2018-04-15 | 4 | 22 | | cookie1 | 2018-04-16 | 4 | 26 | | cookie2 | 2018-04-10 | 2 | 2 | | cookie2 | 2018-04-11 | 3 | 5 | | cookie2 | 2018-04-12 | 5 | 10 | | cookie2 | 2018-04-13 | 6 | 16 | | cookie2 | 2018-04-14 | 3 | 19 | | cookie2 | 2018-04-15 | 9 | 28 | | cookie2 | 2018-04-16 | 7 | 35 | +-----------+-------------+-----+-------------------+

2.2 窗口表達(dá)式 window_expression

直譯叫做window表達(dá)式 ,通俗叫法稱之為window子句。

  • 功能:控制窗口操作的范圍。

  • 語法

    rows between- preceding:往前- following:往后- current row:當(dāng)前行- unbounded:起點(diǎn)- unbounded preceding 表示從前面的起點(diǎn) 第一行- unbounded following:表示到后面的終點(diǎn) 最后一行
  • 栗子

    --默認(rèn)從第一行到當(dāng)前行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime) as pv1 from website_pv_info;--第一行到當(dāng)前行 等效于rows between不寫 默認(rèn)就是第一行到當(dāng)前行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between unbounded preceding and current row) as pv2 from website_pv_info;--向前3行至當(dāng)前行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between 3 preceding and current row) as pv4 from website_pv_info;--向前3行 向后1行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between 3 preceding and 1 following) as pv5 from website_pv_info;--當(dāng)前行至最后一行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between current row and unbounded following) as pv6 from website_pv_info;--第一行到最后一行 也就是分組內(nèi)的所有行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between unbounded preceding and unbounded following) as pv6 from website_pv_info;

03_Apache Hive 窗口函數(shù) 排序函數(shù)(row_number等)

  • 功能:主要對(duì)數(shù)據(jù)分組排序之后,組內(nèi)順序標(biāo)號(hào)。

  • 核心函數(shù):row_number、rank、dense_rank

  • 適合場景:分組TopN問題(注意哦 不是全局topN)

  • 栗子

    SELECTcookieid,createtime,pv,RANK() OVER(PARTITION BY cookieid ORDER BY pv desc) AS rn1,DENSE_RANK() OVER(PARTITION BY cookieid ORDER BY pv desc) AS rn2,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY pv DESC) AS rn3 FROM website_pv_info;--需求:找出每個(gè)用戶訪問pv最多的Top3 重復(fù)并列的不考慮 SELECT * from (SELECTcookieid,createtime,pv,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY pv DESC) AS seq FROM website_pv_info) tmp where tmp.seq <4;
  • ntile函數(shù)

    • 功能:將分組排序之后的數(shù)據(jù)分成指定的若干個(gè)部分(若干個(gè)桶)

    • 規(guī)則:盡量平均分配 ,優(yōu)先滿足最小的桶,彼此最多不相差1個(gè)。

    • 栗子

      --把每個(gè)分組內(nèi)的數(shù)據(jù)分為3桶 SELECTcookieid,createtime,pv,NTILE(3) OVER(PARTITION BY cookieid ORDER BY createtime) AS rn2 FROM website_pv_info ORDER BY cookieid,createtime;--需求:統(tǒng)計(jì)每個(gè)用戶pv數(shù)最多的前3分之1天。 --理解:將數(shù)據(jù)根據(jù)cookieid分 根據(jù)pv倒序排序 排序之后分為3個(gè)部分 取第一部分 SELECT * from (SELECTcookieid,createtime,pv,NTILE(3) OVER(PARTITION BY cookieid ORDER BY pv DESC) AS rnFROM website_pv_info) tmp where rn =1;

04_Apache Hive 窗口函數(shù) lag、lead函數(shù)

--LAG 用于統(tǒng)計(jì)窗口內(nèi)往上第n行值 SELECT cookieid,createtime,url,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY createtime) AS rn,LAG(createtime,1,'1970-01-01 00:00:00') OVER(PARTITION BY cookieid ORDER BY createtime) AS last_1_time,LAG(createtime,2) OVER(PARTITION BY cookieid ORDER BY createtime) AS last_2_time FROM website_url_info;--LEAD 用于統(tǒng)計(jì)窗口內(nèi)往下第n行值 SELECT cookieid,createtime,url,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY createtime) AS rn,LEAD(createtime,1,'1970-01-01 00:00:00') OVER(PARTITION BY cookieid ORDER BY createtime) AS next_1_time,LEAD(createtime,2) OVER(PARTITION BY cookieid ORDER BY createtime) AS next_2_time FROM website_url_info;--FIRST_VALUE 取分組內(nèi)排序后,截止到當(dāng)前行,第一個(gè)值 SELECT cookieid,createtime,url,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY createtime) AS rn,FIRST_VALUE(url) OVER(PARTITION BY cookieid ORDER BY createtime) AS first1 FROM website_url_info;--LAST_VALUE 取分組內(nèi)排序后,截止到當(dāng)前行,最后一個(gè)值 SELECT cookieid,createtime,url,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY createtime) AS rn,LAST_VALUE(url) OVER(PARTITION BY cookieid ORDER BY createtime) AS last1 FROM website_url_info;

05_Apache Hive 文件存儲(chǔ)格式(text、ORC、parquet)

  • 列式存儲(chǔ)、行式存儲(chǔ)

    • 數(shù)據(jù)最終在文件中底層以什么樣的形成保存。
  • Hive中表的數(shù)據(jù)存儲(chǔ)格式,不是只支持text文本格式,還支持其他很多格式。

  • hive表的文件格式是如何指定的呢? 建表的時(shí)候通過STORED AS 語法指定。如果沒有指定默認(rèn)都是textfile。

  • Hive中主流的幾種文件格式。

    • textfile 文件格式

    • ORC、Parquet 列式存儲(chǔ)格式。

      都是列式存儲(chǔ)格式,底層是以二進(jìn)制形式存儲(chǔ)。數(shù)據(jù)存儲(chǔ)效率極高,對(duì)于查詢賊方便。 二進(jìn)制意味著肉眼無法直接解析,hive可以自解析。
    • 栗子

      分別使用3種不同格式存儲(chǔ)數(shù)據(jù),去HDFS上查看底層文件存儲(chǔ)空間的差異。

      --1、創(chuàng)建表,存儲(chǔ)數(shù)據(jù)格式為TEXTFILE create table log_text ( track_time string, url string, session_id string, referer string, ip string, end_user_id string, city_id string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; --如果不寫stored as textfile 默認(rèn)就是textfile--加載數(shù)據(jù) load data local inpath '/root/hivedata/log.data' into table log_text;--2、創(chuàng)建表,存儲(chǔ)數(shù)據(jù)格式為ORC create table log_orc( track_time string, url string, session_id string, referer string, ip string, end_user_id string, city_id string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS orc ;--向表中插入數(shù)據(jù) 思考為什么不能使用load命令加載? 因?yàn)閘oad是純復(fù)制移動(dòng)操作 不會(huì)調(diào)整文件格式。 insert into table log_orc select * from log_text;--3、創(chuàng)建表,存儲(chǔ)數(shù)據(jù)格式為parquet create table log_parquet( track_time string, url string, session_id string, referer string, ip string, end_user_id string, city_id string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS PARQUET ;--向表中插入數(shù)據(jù) insert into table log_parquet select * from log_text ;

06_Apache Hive 數(shù)據(jù)壓縮和文件格式搭配(ORC+snappy)

  • Hive的默認(rèn)執(zhí)行引擎是MapReduce,因此通常所說的Hive壓縮指的是MapReduce的壓縮。

  • 壓縮是指通過算法對(duì)數(shù)據(jù)進(jìn)行重新編排,降低存儲(chǔ)空間。無損壓縮。

  • MapReduce可以在兩個(gè)階段進(jìn)行數(shù)據(jù)壓縮

    • map的輸出
      • 減少shuffle的數(shù)據(jù)量 提高shuffle時(shí)網(wǎng)絡(luò)IO的效率
    • reduce的輸出
      • 減少輸出文件的大小 降低磁盤的存儲(chǔ)空間
  • 壓縮的弊端

    • 浪費(fèi)時(shí)間
    • 消耗CPU、內(nèi)存
    • 某些優(yōu)秀的壓縮算法需要錢
  • 壓縮的算法(推薦使用snappy)

    Snappy org.apache.hadoop.io.compress.SnappyCodec
  • Hive中壓縮的設(shè)置:注意 本質(zhì)還是指的是MapReduce的壓縮

    --設(shè)置Hive的中間壓縮 也就是map的輸出壓縮 1)開啟 hive 中間傳輸數(shù)據(jù)壓縮功能 set hive.exec.compress.intermediate=true; 2)開啟 mapreduce 中 map 輸出壓縮功能 set mapreduce.map.output.compress=true; 3)設(shè)置 mapreduce 中 map 輸出數(shù)據(jù)的壓縮方式 set mapreduce.map.output.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;--設(shè)置Hive的最終輸出壓縮,也就是Reduce輸出壓縮 1)開啟 hive 最終輸出數(shù)據(jù)壓縮功能 set hive.exec.compress.output=true; 2)開啟 mapreduce 最終輸出數(shù)據(jù)壓縮 set mapreduce.output.fileoutputformat.compress=true; 3)設(shè)置 mapreduce 最終數(shù)據(jù)輸出壓縮方式 set mapreduce.output.fileoutputformat.compress.codec =org.apache.hadoop.io.compress.SnappyCodec; 4)設(shè)置 mapreduce 最終數(shù)據(jù)輸出壓縮為塊壓縮 還可以指定RECORD set mapreduce.output.fileoutputformat.compress.type=BLOCK; --設(shè)置完畢之后 只有當(dāng)HiveSQL底層通過MapReduce程序執(zhí)行 才會(huì)涉及壓縮。 --已有普通格式的表 select * from student_hdfs;--ctas語句 create table student_snappy as select * from student_hdfs ;
  • 在實(shí)際開發(fā)中,可以根據(jù)需求選擇不同的文件格式并且搭配不同的壓縮算法。可以得到更好的存儲(chǔ)效果。

    --不指定壓縮格式 代表什么呢? --orc 存儲(chǔ)文件默認(rèn)采用ZLIB 壓縮。比 snappy 壓縮的小 STORED AS orc; --2.78M--以O(shè)RC格式存儲(chǔ) 不壓縮 STORED AS orc tblproperties ("orc.compress"="NONE"); --7.69M--以O(shè)RC格式存儲(chǔ) 使用snappy壓縮 STORED AS orc tblproperties ("orc.compress"="SNAPPY"); --3.78M

07_Apache Hive 通用調(diào)優(yōu) fetch抓取機(jī)制、MR本地模式

7.1 Fetch抓取機(jī)制

  • 功能:在執(zhí)行sql的時(shí)候,能不走M(jìn)apReduce程序處理就盡量不走M(jìn)apReduce程序處理。

  • 盡量直接去操作數(shù)據(jù)文件。

  • 官方描述

    Currently the query should be single sourced not having any subquery and should not have any aggregations or distincts (which incur RS – ReduceSinkOperator, requiring a MapReduce task), lateral views and joins.應(yīng)該是單一數(shù)據(jù)源 沒有子查詢 沒有聚合操作 沒有去重操作 沒有側(cè)視圖 沒有join
  • 設(shè)置: hive.fetch.task.conversion= more。

    --在下述3種情況下 sql不走mr程序--全局查找 select * from student; --字段查找 列裁剪 select num,name from student; --limit 限制查找 select num,name from student limit 2;

7.2 mapreduce本地模式

  • 功能:如果非要執(zhí)行MapReduce程序,能夠本地執(zhí)行的,盡量不提交yarn上執(zhí)行。

  • 默認(rèn)是關(guān)閉的。意味著只要走M(jìn)apReduce就提交yarn執(zhí)行。

    mapreduce.framework.name = local 本地模式 mapreduce.framework.name = yarn 集群模式
  • Hive提供了一個(gè)參數(shù),自動(dòng)切換MapReduce程序?yàn)楸镜啬J?#xff0c;如果不滿足條件,就執(zhí)行yarn模式。

    set hive.exec.mode.local.auto = true;--3個(gè)條件必須都滿足 自動(dòng)切換本地模式 The total input size of the job is lower than: hive.exec.mode.local.auto.inputbytes.max (128MB by default) --數(shù)據(jù)量小于128MThe total number of map-tasks is less than: hive.exec.mode.local.auto.tasks.max (4 by default) --maptask個(gè)數(shù)少于4個(gè)The total number of reduce tasks required is 1 or 0. --reducetask個(gè)數(shù)是0 或者 1
  • 切換Hive的執(zhí)行引擎

    WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.如果針對(duì)Hive的調(diào)優(yōu)依然無法滿足你的需求 還是效率低, 嘗試使用spark計(jì)算引擎 或者Tez.

08_Apache Hive 通用調(diào)優(yōu) join優(yōu)化

底層還是MapReduce的join優(yōu)化

8.1 map join

適合于小表join大表或者小表Join小表

#是否開啟自動(dòng)轉(zhuǎn)為mapjoin 在滿足條件的情況下 默認(rèn)true hive.auto.convert.join=trueHive老版本 #如果參與的一個(gè)表大小滿足條件 轉(zhuǎn)換為map join hive.mapjoin.smalltable.filesize=25000000 Hive2.0之后版本 #是否啟用基于輸入文件的大小,將reduce join轉(zhuǎn)化為Map join的優(yōu)化機(jī)制。 hive.auto.convert.join.noconditionaltask=true #如果上述參數(shù)為true,假設(shè)參與join的表(或分區(qū))有N個(gè),并且有N-1個(gè)表(或分區(qū))的大小總和小于下述參數(shù)指定的值,那么會(huì)直接轉(zhuǎn)為Map join。 hive.auto.convert.join.noconditionaltask.size=10000000 默認(rèn)10M

8.2 reduce join

適合于大表Join大表

如果不滿足map端join,那么就只能走reduce端join了,在hive中也把reduce端join叫做common join.

8.3 bucket join

適合于大表Join大表

  • 方式1:Bucktet Map Join

    將表進(jìn)行分桶,每次join時(shí)分桶參與而不是整張表參與,相當(dāng)于小表join了。

    語法: clustered by colName(參與join的字段) 參數(shù): set hive.optimize.bucketmapjoin = true 要求: 分桶字段 = Join字段 ,分桶的個(gè)數(shù)相等或者成倍數(shù),必須是在map join中
  • 方式2:Sort Merge Bucket Join(SMB)

    基于有序的數(shù)據(jù)Join 語法:clustered by colName sorted by (colName) 參數(shù)set hive.optimize.bucketmapjoin = true;set hive.auto.convert.sortmerge.join=true;set hive.optimize.bucketmapjoin.sortedmerge = true;set hive.auto.convert.sortmerge.join.noconditionaltask=true;要求: 分桶字段 = Join字段 = 排序字段,分桶的個(gè)數(shù)相等或者成倍數(shù)

09_Apache Hive 通用調(diào)優(yōu) 數(shù)據(jù)傾斜優(yōu)化

9.1 group by數(shù)據(jù)傾斜

  • 方案一:開啟Map端聚合

    hive.map.aggr=true; #是否在Hive Group By 查詢中使用map端聚合。 #這個(gè)設(shè)置可以將頂層的部分聚合操作放在Map階段執(zhí)行,從而減輕清洗階段數(shù)據(jù)傳輸和Reduce階段的執(zhí)行時(shí)間,提升總體性能。但是指標(biāo)不治本。
  • 方案二:實(shí)現(xiàn)隨機(jī)分區(qū)

    select * from table distribute by rand();
  • 方案三:數(shù)據(jù)傾斜時(shí)自動(dòng)負(fù)載均衡

hive.groupby.skewindata=true;#開啟該參數(shù)以后,當(dāng)前程序會(huì)自動(dòng)通過兩個(gè)MapReduce來運(yùn)行#第一個(gè)MapReduce自動(dòng)進(jìn)行隨機(jī)分布到Reducer中,每個(gè)Reducer做部分聚合操作,輸出結(jié)果#第二個(gè)MapReduce將上一步聚合的結(jié)果再按照業(yè)務(wù)(group by key)進(jìn)行處理,保證相同的分布到一起,最終聚合得到結(jié)果

9.2 join數(shù)據(jù)傾斜

  • 方案一:提前過濾(比如分區(qū)裁剪),將大表數(shù)據(jù)變成小表數(shù)據(jù),爭取實(shí)現(xiàn)Map Join

  • 方案二:使用Bucket Join

  • 方案三:使用Skew Join

    #Skew Join原理:將Map Join和Reduce Join進(jìn)行合并使用。 如果某個(gè)值出現(xiàn)了數(shù)據(jù)傾斜,就會(huì)將產(chǎn)生數(shù)據(jù)傾斜的數(shù)據(jù)單獨(dú)使用Map Join來實(shí)現(xiàn),如果不是傾斜的,則按正常的reduce端join流程進(jìn)行。其他沒有產(chǎn)生數(shù)據(jù)傾斜的數(shù)據(jù)由Reduce Join來實(shí)現(xiàn),這樣就避免了Reduce Join中產(chǎn)生數(shù)據(jù)傾斜的問題最終將Map Join的結(jié)果和Reduce Join的結(jié)果進(jìn)行Union合并#開啟運(yùn)行過程中skewjoin set hive.optimize.skewjoin=true; #如果這個(gè)key的出現(xiàn)的次數(shù)超過這個(gè)范圍 set hive.skewjoin.key=100000; #在編譯時(shí)判斷是否會(huì)產(chǎn)生數(shù)據(jù)傾斜 set hive.optimize.skewjoin.compiletime=true; set hive.optimize.union.remove=true; #如果Hive的底層走的是MapReduce,必須開啟這個(gè)屬性,才能實(shí)現(xiàn)不合并 set mapreduce.input.fileinputformat.input.dir.recursive=true;

10_Apache Hive 通用調(diào)優(yōu) MR程序task個(gè)數(shù)調(diào)整

10.1 maptask個(gè)數(shù)

  • 如果是在MapReduce中 maptask是通過邏輯切片機(jī)制決定的。

  • 但是在hive中,影響的因素很多。比如邏輯切片機(jī)制,文件是否壓縮、壓縮之后是否支持切割。

  • 因此在Hive中,調(diào)整MapTask的個(gè)數(shù),直接去HDFS調(diào)整文件的大小和個(gè)數(shù),效率較高。

    如果小文件多,就進(jìn)行小文件的合并 合并的大小最好=block size 如果大文件多,就調(diào)整blocl size

10.2 reducetask個(gè)數(shù)

  • 如果在MapReduce中,通過代碼可以直接指定 job.setNumReduceTasks(N)

  • 在Hive中,reducetask個(gè)數(shù)受以下幾個(gè)條件控制的

    1)每個(gè) Reduce 處理的數(shù)據(jù)量默認(rèn)是 256MB hive.exec.reducers.bytes.per.reducer=2560000002)每個(gè)任務(wù)最大的 reduce 數(shù),默認(rèn)為 1009 hive.exec.reducsers.max=10093)mapreduce.job.reduces 該值默認(rèn)為-1,由 hive 自己根據(jù)任務(wù)情況進(jìn)行判斷。--如果用戶用戶不設(shè)置 hive將會(huì)根據(jù)數(shù)據(jù)量或者sql需求自己評(píng)估reducetask個(gè)數(shù)。 --用戶可以自己通過參數(shù)設(shè)置reducetask的個(gè)數(shù)set mapreduce.job.reduces = N --用戶設(shè)置的不一定生效,如果用戶設(shè)置的和sql執(zhí)行邏輯有沖突,比如order by,在sql編譯期間,hive又會(huì)將reducetask設(shè)置為合理的個(gè)數(shù)。 Number of reduce tasks determined at compile time: 1

11_Apache Hive 通用調(diào)優(yōu) 執(zhí)行計(jì)劃

  • 通過執(zhí)行計(jì)劃可以看出hive接下來是如何打算執(zhí)行這條sql的。

  • 語法格式:explain + sql語句

  • 栗子

    explain select * from student;+----------------------------------------------------+ | Explain | +----------------------------------------------------+ | STAGE DEPENDENCIES: | | Stage-0 is a root stage | | | | STAGE PLANS: | | Stage: Stage-0 | | Fetch Operator | | limit: -1 | | Processor Tree: | | TableScan | | alias: student | | Statistics: Num rows: 1 Data size: 5260 Basic stats: COMPLETE Column stats: NONE | | Select Operator | | expressions: num (type: int), name (type: string), sex (type: string), age (type: int), dept (type: string) | | outputColumnNames: _col0, _col1, _col2, _col3, _col4 | | Statistics: Num rows: 1 Data size: 5260 Basic stats: COMPLETE Column stats: NONE | | ListSink | | | +----------------------------------------------------+

12_Apache Hive 通用調(diào)優(yōu) 并行機(jī)制、推測執(zhí)行機(jī)制

12.1 并行執(zhí)行機(jī)制

  • 如果hivesql的底層某些stage階段可以并行執(zhí)行,就可以提高執(zhí)行效率。

  • 前提是stage之間沒有依賴 并行的弊端是瞬時(shí)服務(wù)器壓力變大。

  • 參數(shù)

    set hive.exec.parallel=true; --是否并行執(zhí)行作業(yè)。適用于可以并行運(yùn)行的 MapReduce 作業(yè),例如在多次插入期間移動(dòng)文件以插入目標(biāo) set hive.exec.parallel.thread.number=16; --最多可以并行執(zhí)行多少個(gè)作業(yè)。默認(rèn)為8。

12.2 Hive的嚴(yán)格模式

  • 注意。不要和動(dòng)態(tài)分區(qū)的嚴(yán)格模式搞混淆。

  • 這里的嚴(yán)格模式指的是開啟之后 hive會(huì)禁止一些用戶都影響不到的錯(cuò)誤包括效率低下的操作,不允許運(yùn)行一些有風(fēng)險(xiǎn)的查詢。

  • 設(shè)置

    set hive.mapred.mode = strict --默認(rèn)是嚴(yán)格模式 nonstrict
  • 解釋

    1、如果是分區(qū)表,沒有where進(jìn)行分區(qū)裁剪 禁止執(zhí)行 2、order by語句必須+limit限制

12.3 推測執(zhí)行機(jī)制

  • MapReduce中task的一個(gè)機(jī)制。
  • 功能:
    • 一個(gè)job底層可能有多個(gè)task執(zhí)行,如果某些拖后腿的task執(zhí)行慢,可能會(huì)導(dǎo)致最終job失敗。
    • 所謂的推測執(zhí)行機(jī)制就是通過算法找出拖后腿的task,為其啟動(dòng)備份的task。
    • 兩個(gè)task同時(shí)處理一份數(shù)據(jù),誰先處理完,誰的結(jié)果作為最終結(jié)果。
  • 推測執(zhí)行機(jī)制默認(rèn)是開啟的,但是在企業(yè)生產(chǎn)環(huán)境中建議關(guān)閉。

總結(jié)

以上是生活随笔為你收集整理的2022-02-09大数据学习日志——Hadoop离线阶段——Hive窗口函数、性能调优的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产成人精品一区二区三区免费 | 亚洲精品欧美视频 | 亚洲精品在线观看视频 | 欧美人操人 | 综合在线亚洲 | 国产日韩欧美在线观看视频 | 99久久这里有精品 | 999久久久久久 | 久久免费视频1 | 国产高清在线精品 | 亚洲精品一区二区三区在线观看 | 亚洲视频电影在线 | 欧美精品午夜 | 亚洲精品91天天久久人人 | 91视频在线免费看 | 伊人成人久久 | 国产视频一级 | 婷婷丁香导航 | 亚洲高清精品在线 | 久草在线高清视频 | 国产亚洲视频在线 | 日韩超碰在线 | 久久久久五月天 | 久草网视频在线观看 | 久久se视频 | 久久都是精品 | 色91在线视频| 在线观看深夜福利 | 久久亚洲综合国产精品99麻豆的功能介绍 | 欧美精品做受xxx性少妇 | 久久免费在线视频 | 99视频免费在线观看 | 国产成人在线免费观看 | 久草在线高清视频 | 激情综合网在线观看 | 一级免费看视频 | 91成人免费观看视频 | 伊人狠狠 | 天天爱天天操天天爽 | 亚洲精品国产精品国 | 国产免费看 | 日日射av | 国产精品免费在线播放 | 免费av看片 | 久久成人麻豆午夜电影 | 精品美女久久久久 | 成人精品99 | 亚洲理论视频 | 欧美日韩国产一二三区 | 中文字幕刺激在线 | 久久久久久久久黄色 | 免费在线观看日韩欧美 | 粉嫩av一区二区三区四区在线观看 | 婷婷深爱五月 | 久草视频国产 | 国产一区二区三区免费在线观看 | 日韩,中文字幕 | 99久久精品免费看国产 | 欧美日韩国产欧美 | 中文字幕第一 | av天天干 | 亚洲人毛片 | 五月开心婷婷 | 色综合婷婷 | 国产中文字幕亚洲 | 9幺看片| 99tvdz@gmail.com| 国产三级久久久 | 免费福利在线观看 | 青青草在久久免费久久免费 | 精品国产电影一区二区 | 97超碰免费在线观看 | 久久久精品一区二区 | 摸bbb搡bbb搡bbbb | 成人午夜电影久久影院 | 中文字幕乱码在线播放 | 亚洲黄色网络 | 中文字幕在线免费看 | 免费国产在线观看 | 激情久久伊人 | 欧美日韩精品在线一区二区 | 免费亚洲视频在线观看 | 久久99久久久久久 | 成人免费 在线播放 | 久久人视频 | 天天天色综合 | 日韩亚洲精品电影 | 色视频网页 | 狠狠操狠狠干天天操 | 最近在线中文字幕 | 91在线播放视频 | 久久字幕网 | 黄色日本免费 | 91视频88av| 国产成人福利片 | 国产精品ssss在线亚洲 | 中文字幕在线免费 | 久久久久久久久精 | 日本久久高清视频 | 91麻豆看国产在线紧急地址 | 天天射天天艹 | 又黄又爽又刺激视频 | 免费高清看电视网站 | 永久免费毛片 | 国产精品21区 | 国产伦精品一区二区三区高清 | 国产这里只有精品 | 午夜精品一区二区三区在线 | 国产中文字幕第一页 | 亚洲国产福利视频 | 久草在线综合 | 天天操,夜夜操 | 公与妇乱理三级xxx 在线观看视频在线观看 | 久久久久亚洲国产 | 国产99一区| 欧美精品久久久久久久亚洲调教 | 精品视频免费久久久看 | 久久婷婷影视 | 天天射天天拍 | 久久国产免费视频 | 国产精品区在线观看 | 一区二区三区四区精品视频 | 一区二区三区中文字幕在线 | 欧美色一色| 色网站在线免费 | 久热色超碰 | 韩国精品在线 | 日韩av在线网站 | 人人爽人人爽人人爽学生一级 | 色多多污污在线观看 | 久久国产精品99久久人人澡 | 免费a级大片 | 人人讲| 午夜影院先 | 欧美日韩国产区 | 91精品1区2区 | 国产亚洲精品久久19p | 激情综合五月网 | 五月天中文字幕 | 黄色高清视频在线观看 | 激情影音 | 伊人开心激情 | 亚洲女人天堂成人av在线 | 婷婷播播网 | 青青色影院 | 天堂av在线网站 | 99视频在线观看一区三区 | 91福利试看 | 国产免费xvideos视频入口 | 日本精品中文字幕在线观看 | 久久超碰免费 | 黄色大片免费网站 | 精品国产免费看 | 五月天网站在线 | 日韩videos高潮hd | 亚洲精品视频免费看 | 天天操天天射天天舔 | 免费碰碰| 免费视频97 | 国产精品h在线观看 | 久久久国产精品成人免费 | 综合久久网 | 久久国产精品久久久 | 超碰97公开 | 午夜视频在线观看一区二区三区 | 最新国产精品亚洲 | 亚洲情感电影大片 | 亚洲资源在线网 | www.五月婷 | 综合色天天 | 91在线免费公开视频 | 一本一本久久a久久精品综合 | 深爱婷婷激情 | 久久人人97超碰com | 免费又黄又爽视频 | 500部大龄熟乱视频使用方法 | 日本一区二区高清不卡 | 久草在线在线 | 欧洲成人免费 | 午夜精品久久一牛影视 | 黄色精品久久久 | 久久久精品久久 | 国产精品12345 | 超碰在线公开 | 欧美大片mv免费 | 日日草视频 | 97av影院 | 久久999久久 | 亚洲精品中文字幕视频 | 一级淫片a| 久久久久久久久艹 | 97免费在线观看视频 | 91精品久久久久久粉嫩 | 亚洲区视频在线 | 成人av网站在线观看 | av黄色影院 | 欧美亚洲国产日韩 | 黄色.com| 国产精品久久一区二区无卡 | 日日操夜夜操狠狠操 | 精品久久一二三区 | 久二影院| 99精品久久久久久久 | 国产一区自拍视频 | 91视频 - 88av | 亚洲视频高清 | 免费电影一区二区三区 | 超碰在线中文字幕 | 亚洲免费精品视频 | 欧美日韩在线观看一区 | 久久影院亚洲 | 国产区网址 | 久免费视频 | 伊人射| 成人a免费视频 | 二区中文字幕 | 亚洲最新毛片 | av福利超碰网站 | 操天天操 | 日韩在线视频一区 | 91pony九色丨交换 | 91国内在线| a久久免费视频 | 六月丁香综合网 | 久草在线视频网 | 国产精品白浆 | 欧美贵妇性狂欢 | 久久精品欧美一 | 在线播放91 | 午夜精品一区二区三区在线播放 | 免费精品人在线二线三线 | 99久久精品国产一区二区成人 | 日韩91在线 | 国产精品久久久久影视 | 亚洲色图 校园春色 | 性色av一区二区三区在线观看 | 国产精品一区二区免费 | 国产成人区 | 亚洲精品综合在线 | 欧美福利视频一区 | 久操视频在线播放 | 欧美激情操 | 亚洲精品视频在线观看网站 | 91精品国产乱码在线观看 | www久久99| 国产永久免费高清在线观看视频 | 久久 精品一区 | 国内精品久久久久久久97牛牛 | 国产乱对白刺激视频不卡 | 国产精品理论片在线播放 | 少妇bbw揉bbb欧美 | 国产精品成人a免费观看 | 日韩午夜视频在线观看 | 热久久99这里有精品 | 日韩91精品 | 一区二区三区观看 | 香蕉手机在线 | 午夜的福利 | 亚洲在线观看av | 中文字幕免费国产精品 | 亚洲精品18日本一区app | 久久久久综合精品福利啪啪 | 少妇搡bbbb搡bbb搡aa | 人人澡人人干 | 国产3p视频| 国产日产精品一区二区三区四区的观看方式 | 色中色亚洲 | 中文字幕在线播放一区二区 | 久久久国产精品久久久 | 国模一二三区 | 欧美日韩高清一区二区 国产亚洲免费看 | 日韩午夜大片 | 亚洲国产精品一区二区尤物区 | 精品少妇一区二区三区在线 | 男女男视频 | 成人av网址大全 | 黄免费在线观看 | 天天摸日日摸人人看 | 最近中文字幕mv免费高清在线 | av在线等| av电影中文字幕 | 人人插人人插 | 五月婷婷综合网 | 久久精品视频国产 | 99av国产精品欲麻豆 | 91免费在线视频 | 日韩美女久久 | 亚洲一级理论片 | 国产一区二区久久精品 | 亚洲 欧美 变态 国产 另类 | 天天鲁一鲁摸一摸爽一爽 | 在线免费黄色毛片 | 日韩乱理| 国产高清视频免费 | 成人观看 | 一级黄色大片在线观看 | 久久97久久97精品免视看 | 91亚洲精品久久久久图片蜜桃 | 美女免费视频一区二区 | 麻豆传媒一区二区 | 日韩激情久久 | 在线观看亚洲a | 日本99干网 | 免费黄色在线网站 | 亚洲国产成人精品在线观看 | 久久免费公开视频 | 国产麻豆精品在线观看 | 夜夜爱av | 久久国产精品99久久久久 | 欧美亚洲国产一卡 | av三级av | 亚洲精品视频在线观看网站 | 国产91学生粉嫩喷水 | 亚洲精品国产自产拍在线观看 | 黄网站app在线观看免费视频 | www视频在线免费观看 | 欧美激情精品久久 | 国产精品一区二区无线 | 麻花豆传媒mv在线观看 | 中文字幕在线播放第一页 | 一区二区三区高清在线观看 | av观看免费在线 | 亚洲国产精品成人女人久久 | 精品欧美一区二区精品久久 | 五月婷婷六月丁香在线观看 | 九月婷婷人人澡人人添人人爽 | 国产福利不卡视频 | 婷婷六月丁| 在线观看国产麻豆 | 国产高清在线一区 | 久久资源在线 | 91麻豆精品久久久久久 | 六月丁香激情综合色啪小说 | 亚洲精品www | 国产精品亚洲成人 | 亚洲精品视频在线观看网站 | 最新中文字幕 | 丁香花五月 | 在线黄网站 | 日韩av电影国产 | 麻豆影视在线播放 | 丝袜美腿一区 | 欧美久久精品 | 在线免费精品视频 | 精品亚洲免费 | 国产午夜精品一区二区三区在线观看 | 制服丝袜在线 | 久草在线高清视频 | 免费美女久久99 | 99精品视频免费看 | 四虎8848免费高清在线观看 | 国产小视频免费观看 | 超碰av在线免费观看 | 中文字幕精品一区二区三区电影 | 久久人人爽人人爽人人片 | 国产精品久久久久久久久久久杏吧 | 午夜精品视频一区二区三区在线看 | 欧美性色综合 | 综合婷婷丁香 | 久久人人爽人人 | 久久精品久久99 | 国产精品九九热 | 国内综合精品午夜久久资源 | 九九久久精品视频 | 天堂在线免费视频 | 欧洲精品久久久久毛片完整版 | 亚洲成熟女人毛片在线 | 瑞典xxxx性hd极品 | 欧美视频一区二 | 久久丁香| 一区二区三区在线播放 | av夜夜操| 国产成人精品一区二区三区福利 | 久久伊人精品一区二区三区 | 久久久精品小视频 | 在线免费看黄网站 | 天堂av在线免费 | 国产精品99久久久久久久久 | 毛片www | 一区二区视频免费在线观看 | 国产亚洲va综合人人澡精品 | 久久精品一二三区白丝高潮 | 色网站免费在线观看 | 99爱在线| 视频二区在线 | 97超碰资源站 | 成人午夜精品福利免费 | 亚洲不卡123 | 黄色片视频免费 | 麻豆91视频 | 三日本三级少妇三级99 | 夜夜夜夜猛噜噜噜噜噜初音未来 | av高清免费在线 | 亚洲在线成人精品 | 92国产精品久久久久首页 | 免费在线国产精品 | 激情偷乱人伦小说视频在线观看 | 国产精品视频专区 | 国产精品va | 国产精品久久久久三级 | 欧美成人中文字幕 | 黄色不卡av | 欧美激情综合五月色丁香 | 激情小说网站亚洲综合网 | 人成在线免费视频 | 日韩激情第一页 | 97超碰成人 | 国产精品成人自产拍在线观看 | 国产精品涩涩屋www在线观看 | 蜜臀av网站 | 欧美高清视频不卡网 | 午夜免费视频网站 | 国产精品专区一 | 国产又粗又猛又爽又黄的视频免费 | 一区二区三区免费在线观看 | 亚洲综合色视频 | 精品国产成人 | 国产精品久久久久久久午夜片 | 久在线| 六月天综合网 | 91中文在线视频 | 久影院| www.夜夜干.com | 国语精品免费视频 | 久久艹在线观看 | 久久久国产成人 | 国产亚洲人成网站在线观看 | 久久久综合九色合综国产精品 | 亚洲乱码中文字幕综合 | 黄色一集片 | 91亚洲成人| 99久久国产免费免费 | 天天干夜夜操视频 | 美女在线观看av | 免费看黄在线观看 | 免费看在线看www777 | 免费在线一区二区三区 | 国内精品视频在线 | 人人爽影院 | 欧美日韩aaaa| 超碰在线免费97 | 国产精品午夜久久久久久99热 | 日韩在线视频网 | www黄色软件 | 色永久免费视频 | 国产在线精品观看 | 色噜噜在线观看视频 | 国产这里只有精品 | 在线色视频小说 | 九九九九精品 | 亚洲精品www久久久 www国产精品com | 国产中文字幕视频在线观看 | 激情视频国产 | 国产成在线观看免费视频 | 欧美另类一二三四区 | 欧美日韩国产综合一区二区 | 成人9ⅰ免费影视网站 | 午夜久久福利影院 | 一区二区不卡在线观看 | 人人爽人人澡 | 人人爽人人爽人人爽人人爽 | 五月天中文在线 | 国产精品二区三区 | 国产视频2 | 欧美性护士 | 国产一二区视频 | 欧美巨乳网 | 夜夜高潮夜夜爽国产伦精品 | 天堂av网站 | 91香蕉视频 | 久草精品免费 | 中文在线中文a | 亚洲色视频 | 91三级视频 | 国产在线不卡精品 | 一二区精品 | 亚洲成人黄色网址 | 久久一二三四 | 伊人色综合久久天天网 | 久久久久国产精品一区二区 | 国产午夜精品视频 | 日韩av专区 | 国产高清视频免费观看 | 99久久激情视频 | 在线国产小视频 | 欧美在线视频一区二区 | 97超碰色| 国产亚洲人 | av黄色免费看 | 亚洲国产日韩精品 | 天天玩天天操天天射 | 在线视频18在线视频4k | 蜜臀av性久久久久av蜜臀三区 | 国产精品永久久久久久久久久 | 国产伦精品一区二区三区免费 | 中文字幕av播放 | 亚洲成av人影院 | 久久久久国产精品免费免费搜索 | 在线观看免费福利 | 精品一区二区免费视频 | 日韩欧美69 | 黄色在线观看免费网站 | 91黄在线看 | 国产中文字幕亚洲 | 一区二区三区免费播放 | 天天爽天天爽天天爽 | 欧美坐爱视频 | 黄色av大片 | 日韩欧美区 | 91精品少妇偷拍99 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 亚洲国产欧美在线人成大黄瓜 | 91在线国内视频 | 美女久久久久久久久久久 | av福利网址导航大全 | 三级黄色网络 | 夜夜操天天 | 欧美一区在线看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久草在线视频国产 | 91精品久久久久 | 久久免费99精品久久久久久 | 在线观看免费国产小视频 | 国产在线观看99 | 免费看黄在线网站 | 91精彩在线视频 | 成人免费观看完整版电影 | 中文字幕中文字幕在线中文字幕三区 | 婷婷深爱 | 免费欧美| 日韩色综合网 | 18国产精品白浆在线观看免费 | 婷婷丁香五 | 国内久久精品 | 成人国产精品入口 | 91精品91| 香蕉影院在线播放 | 精品久久久一区二区 | 国产精品手机播放 | 在线观看日本韩国电影 | 午夜久久久久久久 | 91精品网站在线观看 | 成人免费观看视频大全 | 精品色999| 国产亚洲精品bv在线观看 | 国产精品久久99综合免费观看尤物 | 狠狠操狠狠操 | 精品视频在线观看 | 精品一区二区久久久久久久网站 | 五月综合激情 | 99视频导航 | 亚洲最大的av网站 | 国产精品久久久久三级 | 在线电影 你懂得 | 中文字幕麻豆 | 人人射人人爱 | 狠狠色伊人亚洲综合成人 | 国产高清综合 | 久久在线免费观看视频 | 亚洲欧洲xxxx| 开心激情五月网 | 欧美与欧洲交xxxx免费观看 | 精品国产大片 | 99精品国产99久久久久久福利 | 精品国产成人av | 99re在线视频观看 | 国产福利91精品 | 欧美孕妇与黑人孕交 | 国产免费观看视频 | 亚洲一级片 | 狠狠色丁香婷婷综合久小说久 | 亚洲丝袜一区 | 欧美一级性生活视频 | 五月综合在线观看 | 视频 国产区| 女人18片| 91资源在线播放 | 一级特黄av | 久久精品一区二区国产 | 久久久在线 | 亚洲aⅴ久久精品 | 精品一区二区三区久久久 | 在线观看视频免费播放 | 国产手机在线观看视频 | 久久久免费毛片 | 欧美日韩视频在线观看一区二区 | 欧美日韩视频免费看 | 玖玖爱在线观看 | 国产亚洲精品久久久久动 | 国产视频九色蝌蚪 | av成人在线看 | 一级电影免费在线观看 | .精品久久久麻豆国产精品 亚洲va欧美 | 国产 日韩 欧美 在线 | 国产不卡一二三区 | 在线中文字幕视频 | 久久蜜臀一区二区三区av | 久久在线一区 | 久草在线免费色站 | 超碰在线日韩 | 色噜噜狠狠色综合中国 | 天天操综 | 99视频黄| 日本中文乱码卡一卡二新区 | 一级a毛片高清视频 | www.五月激情.com | 久久人人97超碰精品888 | 精品一区精品二区高清 | 精品国产午夜 | 久久在现视频 | 久久久国际精品 | 欧美天天综合网 | 国产亚洲欧美日韩高清 | 激情婷婷 | 久久夜色网 | av成人在线看 | 国产资源精品 | 国内精品福利视频 | 午夜婷婷综合 | 日韩av成人在线观看 | 久久综合偷偷噜噜噜色 | 久久精品国产成人精品 | 国产免费午夜 | 99久久精品国 | 五月天亚洲精品 | 最近免费在线观看 | 欧洲亚洲精品 | 91pony九色丨交换 | 亚洲www天堂com | 国产高清不卡在线 | 91精品国产综合久久婷婷香蕉 | 久草在线视频在线观看 | 中文字幕在线看片 | 国产夫妻性生活自拍 | 亚洲成人高清在线 | 亚洲女人天堂成人av在线 | 亚洲精品乱码久久久一二三 | 国产高清在线视频 | 香蕉网在线| 激情图片区 | 久久一线 | 亚洲一二三区精品 | 久久久久国产成人精品亚洲午夜 | 成人av影视在线 | 天堂av最新网址 | 国产伦精品一区二区三区无广告 | 96精品高清视频在线观看软件特色 | 国产精品福利视频 | 色多多污污在线观看 | 最近中文字幕mv | 国内精品久久久久国产 | 不卡av电影在线观看 | 国产精品1区2区3区 久久免费视频7 | 久久久久女教师免费一区 | 色天天综合久久久久综合片 | 综合精品在线 | 女人久久久久 | 日韩欧美在线第一页 | 久久综合免费视频影院 | 国产无遮挡又黄又爽在线观看 | 在线免费观看欧美日韩 | 亚洲免费av一区二区 | 日韩精品久久久久久久电影竹菊 | 99精品视频一区 | 丰满少妇在线观看网站 | 精品免费观看 | 黄色在线观看网站 | www在线观看视频 | 天天视频色版 | 亚洲涩涩网站 | 免费电影一区二区三区 | 中文字幕在线有码 | 久久精品最新 | 三上悠亚在线免费 | 免费看一及片 | 国产精品电影一区 | 亚洲精品乱码白浆高清久久久久久 | 国产日韩视频在线观看 | 久射网| 狠狠躁夜夜av | 2023国产精品自产拍在线观看 | 亚洲欧美日韩国产精品一区午夜 | 日本最新高清不卡中文字幕 | 久久手机精品视频 | 91福利试看 | 99免费看片 | 狠狠干网 | 99久国产| 在线免费观看视频一区 | 亚洲精品日韩在线观看 | 天天干,天天射,天天操,天天摸 | 精品亚洲免费 | 国产精品免费久久 | 69视频国产| a黄色片 | 精品国产乱码久久久久久天美 | 免费看片网站91 | 国产成人在线综合 | 免费成人在线视频网站 | 国产 日韩 欧美 自拍 | 免费观看9x视频网站在线观看 | 国产精品淫片 | 亚洲免费在线观看视频 | 亚洲夜夜综合 | 久久久免费精品视频 | 五月综合色婷婷 | 91精品啪在线观看国产线免费 | 日韩在线三级 | 日韩a级黄色片 | 日本美女xx | 一区二区中文字幕在线播放 | 男女视频久久久 | 中文字幕 91 | 国产黄色精品在线观看 | 欧美精品一区二区蜜臀亚洲 | 免费看污污视频的网站 | 美女免费视频一区二区 | 在线不卡中文字幕播放 | 久久区二区 | 久久精品国产99国产 | 中文字幕在线视频一区 | 97麻豆视频 | 最近日本韩国中文字幕 | 黄色av在 | 91丨九色丨91啦蝌蚪老版 | 99久久视频| 草莓视频在线观看免费观看 | 韩国中文三级 | 天天综合色天天综合 | 欧美二区在线播放 | 少妇bbbb揉bbbb日本 | 麻豆视频入口 | 免费黄a大片| 免费看成年人 | 欧美日本不卡 | 久久久久久99精品 | 日韩欧美黄色网址 | 亚洲精品国产品国语在线 | 欧日韩在线 | 亚州国产精品视频 | 在线国产片 | 91在线色| 玖玖在线视频观看 | 91天天操 | 色a资源在线 | 在线小视频你懂的 | 日本乱视频 | 91桃色在线免费观看 | 深爱激情五月婷婷 | 国产精品国产三级国产专区53 | 国产黄色片一级三级 | 免费在线观看午夜视频 | 黄网av在线 | 在线影院 国内精品 | 中文字幕国产在线 | 免费精品视频在线观看 | 高清av网站 | 国产免费久久久久 | 美女av在线免费 | 99性视频 | 亚洲视频精选 | 9999精品视频 | 国产女教师精品久久av | 欧美日韩高清一区二区三区 | 国产亚洲一区二区三区 | 中文字幕亚洲精品在线观看 | 亚洲激情 在线 | 狠狠色丁香婷婷综合久久片 | 欧美人体xx | 日本精品va在线观看 | av免费看网站 | 婷婷综合国产 | 亚洲色图 校园春色 | 国产 成人 久久 | 久久精品视频在线免费观看 | 国产精品久久久久久久久久免费 | 欧美日韩二三区 | 天天玩夜夜操 | 国产精品国产亚洲精品看不卡 | 婷婷在线精品视频 | 久久免费大片 | 中文字幕av全部资源www中文字幕在线观看 | 亚洲午夜精品久久久久久久久 | 久草在线手机视频 | 中文电影网 | 五月激情五月激情 | 中文字幕av网站 | 日韩城人在线 | 亚洲一区二区视频在线播放 | 综合婷婷 | 中文字幕在线国产精品 | a视频在线看 | 中字幕视频在线永久在线观看免费 | 国产日韩欧美精品在线观看 | 草久草久 | 国产成人性色生活片 | 黄色av一区二区 | 欧美在线观看视频一区二区三区 | 91视频免费视频 | 久操久 | 91av官网 | 国产精品成 | 欧美另类69 | 91亚洲在线观看 | 99热在线这里只有精品 | 国产高清精品在线观看 | 亚洲天堂视频在线 | 日韩在线精品一区 | 中文字幕精品一区二区精品 | 久久午夜免费视频 | 欧美日韩调教 | 日韩中文字幕免费在线观看 | 99久久一区 | 蜜臀一区二区三区精品免费视频 | 亚洲精品播放 | 国产字幕在线观看 | 国产专区在线 | 97精品国产| 特级西西444www高清大视频 | 伊人天天色 | 亚洲视屏在线播放 | 91精品啪啪 | 国产精品男女 | 国产在线精品一区二区三区 | 久热这里有精品 | 在线免费视频一区 | 久久综合久久久久88 | 亚洲精品乱码久久久久久久久久 | 国产伦理久久精品久久久久_ | 在线国产一区 | 国产成人一区二区三区免费看 | 成人av直播 | 女人18毛片a级毛片一区二区 | 在线观看91精品视频 | 99精品免费在线 | 欧美亚洲成人免费 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 不卡的一区二区三区 | 天天射天天操天天干 | 成人cosplay福利网站 | 精品在线亚洲视频 | 五月丁婷婷 | 婷婷五月在线视频 | 久久99热久久99精品 | 久久久久久高潮国产精品视 | 在线看片中文字幕 | 黄色的视频 | a天堂中文在线 | 久久久国产一区二区三区四区小说 | 国产亚洲精品无 | 国产精品18videosex性欧美 | 中文字幕国产亚洲 | 中文字幕视频免费观看 | 香蕉视频4aa | 亚洲精品字幕 | 久久这里只有精品23 | 日本在线h | 亚洲精品在线网站 | 成人黄色国产 | 日韩激情视频在线观看 | 国产精品黄色在线观看 | 激情偷乱人伦小说视频在线观看 | 国产黄色片久久 | 日日碰狠狠添天天爽超碰97久久 | 亚洲热视频 | 射射射av| 国产精品色视频 | 深夜免费福利在线 | 久久久一本精品99久久精品66 | 欧美精品亚州精品 | 色综合久久99 | 精品国产成人在线影院 | 成人精品国产免费网站 | 欧洲精品一区二区 | 黄色影院在线观看 | 国产精品18久久久久久不卡孕妇 | 国产一区二区久久久久 | 天天操天天射天天舔 | 九九免费精品视频在线观看 | 综合天天色 | 经典三级一区 | 国产综合福利在线 | 日韩精品在线视频免费观看 | 欧美一级视频免费看 | 婷婷丁香导航 | 中文字幕资源网 | 黄色视屏在线免费观看 | 久久久久电影网站 | 国精产品999国精产 久久久久 | 亚洲国产精品500在线观看 | 91视频大全| 狠狠操狠狠 | 91c网站色版视频 | 一区二区视频在线观看免费 | 特级毛片在线免费观看 | 成人亚洲精品久久久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 超碰在线天天 | 一级片色播影院 | 国产一在线精品一区在线观看 | 免费a网址 | 最新av在线网站 | 国产午夜麻豆影院在线观看 | 国产日韩欧美在线观看视频 | 国产美女在线精品免费观看 | 国产高清一 | 日韩草比 | 在线观看日韩免费视频 | 成人a视频在线观看 | 天天色天天爱天天射综合 | 日产乱码一二三区别免费 | 国产成人精品在线观看 | 91成品视频 | 中文字幕视频在线播放 | 国产精品国产三级国产专区53 | 人人艹人人 | 亚洲欧美国产精品 | 久久免费国产 | av福利超碰网站 | 最新中文字幕 | 天堂va欧美va亚洲va老司机 | 欧美永久视频 | 国产精品6 | 亚洲精品国产精品国自产 | 超碰在线98 | 国产精久久久 | 精品视频一区在线 | 九九亚洲视频 | www日| 久久久久久久精 | 日韩在线播放视频 | 激情黄色一级片 | 午夜久久影视 | 久久久久久国产一区二区三区 | 欧美成人在线免费观看 | www.久草.com| 精品中文字幕在线观看 | 综合伊人av | 99久久影院 | 欧美在线视频一区二区 | 国产精品一级在线 | 91天堂在线观看 | 探花视频在线观看 | 丁香婷婷激情国产高清秒播 | 久久久高清 | 黄a在线观看 | 日韩欧美视频在线播放 | 国产在线不卡一区 | 丁五月婷婷 | 亚洲国产精品一区二区尤物区 | 亚洲国产97在线精品一区 | 亚洲精品h | 午夜精品一区二区三区可下载 | 亚洲国产wwwccc36天堂 | 一级精品视频在线观看宜春院 | 91看片在线 | 91视频免费观看 | 久久精品之 | 成人国产精品一区二区 | 国产三级视频 | 欧美视频在线观看免费网址 | 午夜国产福利视频 | 99爱这里只有精品 | 亚洲最新在线视频 | 日韩91精品 | 91精品久久久久久综合乱菊 | 久久夜色精品国产欧美一区麻豆 | 欧美日一级片 | 欧美极度另类性三渗透 | 伊人久久精品久久亚洲一区 | 日日插日日干 | 91麻豆免费看 | 久久久精品日本 | 五月天亚洲精品 | 成人黄色大片在线观看 | 四虎精品成人免费网站 | 黄色av网站在线观看免费 | 欧美精品久久久久久久久久 | 最新国产中文字幕 | 精品国偷自产国产一区 | 91av大全 | 亚洲精品国久久99热 | 日韩精品高清视频 | 狠狠久久婷婷 | 波多野结衣在线视频免费观看 | 欧美网址在线观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产精品视频在线看 | 国产高清av免费在线观看 | 丁香五婷 | 日韩动漫免费观看高清完整版在线观看 | 久热免费在线 | 超碰97人人在线 | 免费久久片 | 97视频免费 | 欧美成人按摩 | 国产在线观看h | 麻豆视频国产精品 |