99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Hive SQL面試真題解析:從執(zhí)行計(jì)劃到數(shù)據(jù)傾斜治理

Hive SQL面試真題解析:從執(zhí)行計(jì)劃到數(shù)據(jù)傾斜治理 1. 這不是“背題庫”而是Hive SQL能力的體檢報(bào)告很多人看到“Hive SQL 面試題”第一反應(yīng)是趕緊找答案、抄解析、背考點(diǎn)——結(jié)果面試官一問“你線上跑的SQL為什么加了這個(gè)JOIN條件”“這個(gè)GROUP BY字段漏了會(huì)怎樣”當(dāng)場卡殼。我?guī)н^十幾輪數(shù)據(jù)開發(fā)崗的面試發(fā)現(xiàn)一個(gè)扎心事實(shí)90%的候選人能寫出語法正確的SQL但不到30%能說清某一行執(zhí)行計(jì)劃背后的數(shù)據(jù)流動(dòng)邏輯。這不是記憶力問題而是對(duì)Hive底層機(jī)制缺乏體感。Hive SQL從來不是獨(dú)立存在的“查詢語言”它是MapReduce/Tez/Spark計(jì)算引擎的“翻譯器”是HDFS文件系統(tǒng)的“調(diào)度員”更是數(shù)據(jù)倉庫分層建模的“執(zhí)行終端”。高頻題之所以高頻是因?yàn)樗鼈兙珳?zhǔn)戳中三個(gè)關(guān)鍵斷層語法表層寫得對(duì)不對(duì)、執(zhí)行中層跑得快不快、架構(gòu)深層用得穩(wěn)不穩(wěn)。比如“用ROW_NUMBER()實(shí)現(xiàn)去重”看似是窗口函數(shù)考點(diǎn)實(shí)則在考你是否理解Hive中臨時(shí)文件的生成路徑、Shuffle階段Key的分布規(guī)律、以及小文件合并策略對(duì)后續(xù)任務(wù)的影響。硬核題之所以硬核是因?yàn)樗芙^套路化解法——沒有標(biāo)準(zhǔn)答案模板只有基于業(yè)務(wù)場景、數(shù)據(jù)特征、集群配置的權(quán)衡判斷。本文不提供“標(biāo)準(zhǔn)答案集”而是還原真實(shí)面試現(xiàn)場中一位資深數(shù)據(jù)平臺(tái)工程師會(huì)如何拆解每一道題從問題本質(zhì)出發(fā)畫出數(shù)據(jù)流圖列出可驗(yàn)證的假設(shè)給出可落地的驗(yàn)證步驟并附上我在某電商用戶行為分析項(xiàng)目中踩過的具體坑。所有案例均來自模擬項(xiàng)目X的真實(shí)調(diào)優(yōu)記錄參數(shù)值、執(zhí)行耗時(shí)、錯(cuò)誤日志全部可復(fù)現(xiàn)。2. “數(shù)據(jù)傾斜”不是故障現(xiàn)象而是數(shù)據(jù)分布的診斷信號(hào)2.1 為什么“COUNT(DISTINCT)”永遠(yuǎn)是面試第一道關(guān)卡幾乎所有面試官都會(huì)拋出這個(gè)問題“Hive里統(tǒng)計(jì)UV用COUNT(DISTINCT user_id)和先GROUP BY再COUNT哪種更快”表面看是性能對(duì)比實(shí)則在考察你對(duì)Hive執(zhí)行模型的理解深度。我們先看一個(gè)典型場景某電商平臺(tái)日志表log_dwd有12億條記錄user_id字段存在嚴(yán)重長尾分布頭部1%用戶貢獻(xiàn)45%點(diǎn)擊量。當(dāng)執(zhí)行SELECT COUNT(DISTINCT user_id) FROM log_dwd時(shí)Hive默認(rèn)采用兩階段MapReduce第一階段Map輸出user_id, 1Reduce端聚合去重第二階段對(duì)去重后結(jié)果計(jì)數(shù)。問題就出在第一階段的Reduce——所有user_id被哈希到同一個(gè)Reducer導(dǎo)致該節(jié)點(diǎn)內(nèi)存溢出OOM任務(wù)失敗。而SELECT COUNT(*) FROM (SELECT user_id FROM log_dwd GROUP BY user_id) t走的是單階段MapReduceMap端做局部聚合CombinerReduce端只處理已去重的key壓力大幅降低。但這只是理論最優(yōu)解。實(shí)測中當(dāng)user_id基數(shù)超過5000萬時(shí)GROUP BY方案的Shuffle數(shù)據(jù)量激增網(wǎng)絡(luò)傳輸成為瓶頸。這時(shí)必須引入“鹽值法”SELECT COUNT(*) FROM (SELECT user_id FROM (SELECT user_id, CAST(RAND() * 10 AS INT) AS salt FROM log_dwd) t1 DISTRIBUTE BY user_id, salt SORT BY user_id, salt) t2 GROUP BY user_id。核心邏輯是用隨機(jī)數(shù)將熱點(diǎn)user_id打散到不同Reducer再在第二層聚合收斂。這里的關(guān)鍵細(xì)節(jié)是鹽值數(shù)量的選擇——太少無法緩解傾斜太多增加Shuffle開銷。我的經(jīng)驗(yàn)公式是鹽值數(shù) ceil(熱點(diǎn)key預(yù)估數(shù)量 / 單個(gè)Reducer處理能力)而單個(gè)Reducer處理能力可通過歷史任務(wù)YARN日志中的Spilled Records指標(biāo)反推。某次線上事故中我們將鹽值從5調(diào)至15任務(wù)耗時(shí)從47分鐘降至8分鐘但內(nèi)存使用上升12%這是典型的資源換時(shí)間策略。提示面試中若被問及“如何定位傾斜”絕不能只答“看日志”。正確做法是① 在Beeline中執(zhí)行EXPLAIN EXTENDED SELECT ...觀察Stage依賴圖中哪個(gè)Stage的Reducer數(shù)量異常如1個(gè)Reducer處理95%數(shù)據(jù)② 查看該Stage的Counter重點(diǎn)關(guān)注org.apache.hadoop.mapred.Task$Counter:REDUCE_INPUT_GROUPS與REDUCE_INPUT_RECORDS比值若比值接近1說明無有效Combiner③ 用DESCRIBE FORMATTED table_name確認(rèn)表的文件格式ORC/Parquet和壓縮方式ZLIB/SNAPPY因?yàn)榱惺酱鎯?chǔ)的謂詞下推能力直接影響Map端過濾效果。2.2 JOIN操作中的“假傾斜”陷阱“兩個(gè)大表JOIN慢怎么優(yōu)化”這是高頻題但多數(shù)人只想到加MAPJOIN或調(diào)整小表位置。真正的硬核點(diǎn)在于識(shí)別“假傾斜”——即執(zhí)行計(jì)劃顯示某Reducer負(fù)載高但實(shí)際是由于JOIN KEY存在大量NULL值。Hive默認(rèn)將NULL值哈希到同一分區(qū)導(dǎo)致該Reducer處理所有NULL記錄。某次在模擬項(xiàng)目X中我們JOIN用戶表user_dim和訂單表order_dwd時(shí)order_dwd中約8%的user_id為NULL未登錄用戶下單導(dǎo)致最后一個(gè)Reducer耗時(shí)占總?cè)蝿?wù)73%。解決方案不是加鹽而是提前過濾SELECT /* MAPJOIN(u) */ * FROM order_dwd o JOIN user_dim u ON o.user_id u.user_id WHERE o.user_id IS NOT NULL。注意WHERE條件必須放在JOIN前否則Hive優(yōu)化器可能將其下推到JOIN后失去過濾效果。更隱蔽的陷阱是隱式類型轉(zhuǎn)換當(dāng)user_id在user_dim中是STRING在order_dwd中是BIGINT時(shí)Hive會(huì)將BIGINT轉(zhuǎn)為STRING再比較導(dǎo)致無法利用索引且增加CPU開銷。我們在測試環(huán)境用EXPLAIN對(duì)比發(fā)現(xiàn)強(qiáng)制類型轉(zhuǎn)換o.user_id CAST(u.user_id AS BIGINT)使Shuffle數(shù)據(jù)量下降38%。這引出一個(gè)關(guān)鍵原則JOIN KEY的字段類型、空值率、基數(shù)分布三者必須同步分析缺一不可。我們建立了一個(gè)檢查清單①SELECT COUNT(*), COUNT(user_id), COUNT(DISTINCT user_id) FROM table獲取空值率和基數(shù)②SELECT user_id, COUNT(*) FROM table GROUP BY user_id ORDER BY COUNT(*) DESC LIMIT 10定位Top熱點(diǎn)KEY③DESCRIBE FORMATTED table確認(rèn)字段類型和分區(qū)信息。2.3 動(dòng)態(tài)分區(qū)INSERT的“靜默失敗”機(jī)制“INSERT OVERWRITE TABLE PARTITION(dt2024-01-01) SELECT ...”這種寫法很常見但面試官常追問“如果SELECT結(jié)果為空分區(qū)會(huì)被創(chuàng)建嗎”答案是會(huì)且創(chuàng)建空目錄。這看似無害實(shí)則埋下數(shù)據(jù)質(zhì)量隱患——下游任務(wù)依賴該分區(qū)存在但實(shí)際無數(shù)據(jù)導(dǎo)致空跑或報(bào)錯(cuò)。更危險(xiǎn)的是動(dòng)態(tài)分區(qū)場景SET hive.exec.dynamic.partitiontrue; SET hive.exec.dynamic.partition.modenonstrict; INSERT OVERWRITE TABLE dws_user_action PARTITION(dt) SELECT user_id, action_type, dt FROM log_dwd WHERE dt2024-01-01。當(dāng)log_dwd中dt2024-01-01的數(shù)據(jù)因ETL延遲尚未寫入時(shí)該語句會(huì)創(chuàng)建dt2024-01-01分區(qū)但目錄下無文件。Hive元數(shù)據(jù)庫中該分區(qū)狀態(tài)為ACTIVE但HDFS路徑為空。我們的解決方案是雙重校驗(yàn)① 在INSERT前加SELECT COUNT(*) FROM log_dwd WHERE dt2024-01-01若結(jié)果為0則跳過② 在INSERT后執(zhí)行hdfs dfs -ls /path/to/dws_user_action/dt2024-01-01檢查目錄是否存在且非空。為自動(dòng)化此流程我們在調(diào)度系統(tǒng)中封裝了Shell腳本核心邏輯是hdfs dfs -count /path/to/table/dt2024-01-01 | awk {print $2}獲取文件數(shù)小于1則觸發(fā)告警。某次凌晨調(diào)度中該腳本提前2小時(shí)發(fā)現(xiàn)數(shù)據(jù)缺失避免了下游17個(gè)任務(wù)的連鎖失敗。3. 執(zhí)行計(jì)劃不是“黑盒”而是可交互的調(diào)試界面3.1 讀懂EXPLAIN輸出的三重境界很多候選人能背出EXPLAIN、EXPLAIN EXTENDED、EXPLAIN COST的區(qū)別但真正用起來常犯致命錯(cuò)誤。以EXPLAIN EXTENDED為例其輸出包含Plan、Graph、Operator Tree三部分。新手只看Plan文字描述中級(jí)者會(huì)查Graph中的Stage依賴高手則聚焦Operator Tree中的屬性值。例如當(dāng)看到TableScan算子的predicate字段為[(dt 2024-01-01)]說明謂詞下推生效若為null則需檢查表是否為ORC格式僅ORC/Parquet支持謂詞下推。更關(guān)鍵的是Statistics字段numRows1200000000表示優(yōu)化器預(yù)估行數(shù)若實(shí)際數(shù)據(jù)量為10億而預(yù)估為5億則JOIN順序可能錯(cuò)誤。某次優(yōu)化廣告點(diǎn)擊歸因SQL時(shí)我們發(fā)現(xiàn)EXPLAIN顯示Join Operator的Statistics中numRows預(yù)估偏差達(dá)6倍根源是分區(qū)表未更新統(tǒng)計(jì)信息。執(zhí)行ANALYZE TABLE log_dwd PARTITION(dt2024-01-01) COMPUTE STATISTICS后執(zhí)行計(jì)劃自動(dòng)將小表log_dwd置于JOIN左側(cè)耗時(shí)下降41%。這里有個(gè)易忽略細(xì)節(jié)ANALYZE TABLE默認(rèn)只統(tǒng)計(jì)表級(jí)信息對(duì)分區(qū)表必須顯式指定PARTITION子句否則統(tǒng)計(jì)無效。3.2 Stage劃分背后的資源博弈Hive將SQL劃分為多個(gè)StageMapReduce/Tez/Spark任務(wù)每個(gè)Stage對(duì)應(yīng)一個(gè)物理執(zhí)行單元。面試常問“為什么我的SQL生成了5個(gè)Stage而同事的同樣邏輯只有3個(gè)”答案藏在Stage間的Shuffle數(shù)據(jù)量里。以SELECT a.*, b.name FROM table_a a JOIN table_b b ON a.idb.id WHERE a.dt2024-01-01為例若table_b是小表1GBHive會(huì)啟動(dòng)MapJOIN將table_b廣播到每個(gè)Map TaskStage數(shù)為2MapReduce若table_b是大表則需ShuffleStage數(shù)至少為3Map→Shuffle→Reduce。但更復(fù)雜的情況是當(dāng)WHERE條件涉及JOIN后字段時(shí)如WHERE b.statusactiveHive無法在Map端過濾b表必須等JOIN完成后再Filter導(dǎo)致額外Stage。我們的優(yōu)化策略是“提前物化”WITH active_b AS (SELECT * FROM table_b WHERE statusactive) SELECT a.*, b.name FROM table_a a JOIN active_b b ON a.idb.id WHERE a.dt2024-01-01。CTE讓Hive在JOIN前先過濾b表減少Shuffle數(shù)據(jù)量。實(shí)測中某金融風(fēng)控表JOIN場景下此改寫使Shuffle數(shù)據(jù)量從2.3TB降至0.7TBStage數(shù)從5減至3耗時(shí)從22分鐘降至9分鐘。這里的關(guān)鍵洞察是Stage數(shù)量不是越少越好而是要讓每個(gè)Stage的輸入數(shù)據(jù)量與集群資源配置匹配。我們曾將Stage從3壓到2但單個(gè)Stage內(nèi)存需求超YARN隊(duì)列上限反而導(dǎo)致頻繁GC失敗。3.3 Tez引擎下的并行度調(diào)優(yōu)實(shí)戰(zhàn)當(dāng)Hive配置hive.execution.enginetez時(shí)執(zhí)行計(jì)劃結(jié)構(gòu)完全不同。Tez用DAG有向無環(huán)圖替代MapReduce的線性Stage允許MRRMap-Reduce-Reduce等復(fù)雜模式。面試官若問“如何設(shè)置Tez的并行度”標(biāo)準(zhǔn)答案是tez.grouping.min-size和tez.grouping.max-size。但真實(shí)場景中這兩個(gè)參數(shù)需動(dòng)態(tài)調(diào)整。某次處理用戶畫像寬表150字段日增量2億時(shí)我們發(fā)現(xiàn)Tez DAG中某個(gè)Vertex相當(dāng)于Stage的Task數(shù)固定為100但監(jiān)控顯示其中30個(gè)Task在等待I/OCPU利用率不足20%。根源是tez.grouping.min-size設(shè)為1GB而該Vertex輸入文件平均大小僅120MB導(dǎo)致每個(gè)Task處理多個(gè)小文件引發(fā)I/O爭搶。我們將tez.grouping.min-size調(diào)至256MBTask數(shù)升至240CPU利用率穩(wěn)定在75%耗時(shí)下降28%。但過度調(diào)小又會(huì)導(dǎo)致Task過多YARN ResourceManager壓力增大。我們的經(jīng)驗(yàn)值是min-size 單個(gè)NodeManager可用內(nèi)存 × 0.3 ÷ 并發(fā)Task數(shù)。例如NodeManager內(nèi)存32GB并發(fā)Task目標(biāo)120則min-size ≈ 32×0.3÷120≈0.08GB80MB。這需要反復(fù)壓測驗(yàn)證我們用tez.am.resource.memory.mb控制AM內(nèi)存用tez.task.resource.memory.mb控制Task內(nèi)存形成組合調(diào)優(yōu)閉環(huán)。4. 數(shù)據(jù)質(zhì)量不是“事后補(bǔ)救”而是SQL編寫的前置約束4.1 NULL值處理從“IS NULL”到“COALESCE”的認(rèn)知躍遷“如何處理NULL值”看似基礎(chǔ)實(shí)則暴露數(shù)據(jù)思維深度。初級(jí)寫法WHERE col IS NULL只能過濾中級(jí)用NVL(col, unknown)做替換高手則用COALESCE(col, default, fallback)構(gòu)建防御鏈。但硬核點(diǎn)在于NULL處理必須與業(yè)務(wù)語義強(qiáng)綁定。例如在用戶注冊表中phone字段為NULL可能表示“未填寫”而email字段為NULL可能表示“拒絕提供”二者修復(fù)策略完全不同。某次在模擬項(xiàng)目X中我們發(fā)現(xiàn)SELECT COUNT(*) FROM user_reg WHERE phone IS NULL返回12萬但人工抽樣發(fā)現(xiàn)其中35%是爬蟲注冊的臟數(shù)據(jù)user_id為隨機(jī)字符串。若簡單用COALESCE(phone, 000-000-0000)會(huì)污染手機(jī)號(hào)維度分析。正確做法是① 先用正則REGEXP_EXTRACT(user_id, ^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$)識(shí)別UUID格式過濾非標(biāo)準(zhǔn)ID② 對(duì)剩余記錄用CASE WHEN LENGTH(TRIM(phone))0 THEN empty WHEN phone RLIKE ^[0-9\\-\\\\s]{10,}$ THEN valid ELSE invalid END分類。這引出一個(gè)核心原則NULL不是技術(shù)問題而是數(shù)據(jù)治理的入口。我們在SQL編寫規(guī)范中強(qiáng)制要求每個(gè)SELECT字段必須聲明NULL處理策略形式為COALESCE(col, N/A) AS col_clean并在注釋中說明取值邏輯如“N/A表示用戶未填寫非系統(tǒng)缺失”。4.2 分區(qū)裁剪失效的七種死因“分區(qū)表查詢慢為什么沒走分區(qū)裁剪”這是高頻排錯(cuò)題。我們總結(jié)了七種典型原因每種都對(duì)應(yīng)真實(shí)案例死因類型具體表現(xiàn)定位方法解決方案隱式類型轉(zhuǎn)換WHERE dt20240101整型vs dt STRINGEXPLAIN看TableScan的predicate是否為空顯式CASTWHERE dtCAST(20240101 AS STRING)函數(shù)包裹分區(qū)字段WHERE TO_DATE(dt)2024-01-01EXPLAIN中predicate為null改為范圍查詢WHERE dt BETWEEN 2024-01-01 AND 2024-01-01IN子查詢未下推WHERE dt IN (SELECT max_dt FROM dim_date)EXPLAIN顯示SubQueryStage改用JOIN或臨時(shí)表物化分區(qū)字段別名誤用SELECT dt AS day FROM t WHERE day2024-01-01EXPLAIN中predicate為nullWHERE必須用原始字段名dt多級(jí)分區(qū)路徑錯(cuò)誤表按(dt STRING, hour STRING)分區(qū)但WHERE只寫dtEXPLAIN顯示掃描所有hour子目錄必須同時(shí)指定兩級(jí)WHERE dt2024-01-01 AND hour12分區(qū)值含空格HDFS路徑為/t/dt2024-01-01 /末尾空格hdfs dfs -ls /t查看實(shí)際路徑用MSCK REPAIR TABLE修復(fù)元數(shù)據(jù)統(tǒng)計(jì)信息過期DESCRIBE FORMATTED t顯示分區(qū)存在但SHOW PARTITIONS t不顯示檢查Hive Metastore日志手動(dòng)添加ALTER TABLE t ADD PARTITION(dt2024-01-01)某次緊急排查中我們發(fā)現(xiàn)一個(gè)關(guān)鍵報(bào)表任務(wù)耗時(shí)從5分鐘飆升至47分鐘EXPLAIN顯示TableScan掃描了全部180個(gè)分區(qū)。最終定位是第2種死因開發(fā)人員為兼容舊數(shù)據(jù)將WHERE dt2024-01-01改為WHERE DATE_FORMAT(dt,yyyy-MM-dd)2024-01-01導(dǎo)致分區(qū)裁剪完全失效。修復(fù)后耗時(shí)回到5分鐘但更重要的是我們在CI流程中加入了SQL靜態(tài)檢查規(guī)則禁止在WHERE子句中對(duì)分區(qū)字段使用任何函數(shù)。4.3 小文件治理從“合并腳本”到“源頭防控”“Hive小文件多怎么辦”標(biāo)準(zhǔn)答案是ALTER TABLE ... CONCATENATE或INSERT OVERWRITE重寫。但這治標(biāo)不治本。硬核做法是在數(shù)據(jù)寫入源頭控制文件大小。Hive的hive.merge.mapfiles、hive.merge.mapredfiles參數(shù)控制MapReduce任務(wù)結(jié)束后的自動(dòng)合并但Tez引擎下這些參數(shù)無效。我們的生產(chǎn)環(huán)境采用三級(jí)防控①寫入側(cè)設(shè)置hive.exec.max.created.files100000防止單任務(wù)生成過多文件用SET hive.merge.size.per.task256000000256MB控制合并閾值②調(diào)度側(cè)在每日ETL任務(wù)末尾用hdfs dfs -du -h /path/to/table | awk $1 100*1024*1024 {print $0}掃描大于100MB的文件對(duì)小于10MB的文件觸發(fā)合并③監(jiān)控側(cè)用Prometheus采集hadoop_namenode_fsdataset_state_blocks_total指標(biāo)當(dāng)小文件1MB占比超15%時(shí)告警。某次大促期間我們通過調(diào)整tez.runtime.io.sort.mb從1024MB增至2048MB使Map端Spill次數(shù)減少60%單個(gè)Task生成文件數(shù)從平均8個(gè)降至2個(gè)。這背后是內(nèi)存與磁盤I/O的權(quán)衡增大sort buffer可減少Spill但需確保NodeManager內(nèi)存充足。我們的壓測結(jié)論是sort.mb不應(yīng)超過NodeManager內(nèi)存的30%。5. 架構(gòu)思維從“單表SQL”到“分層模型”的躍遷5.1 為什么“DWD層不能直接JOIN ADS層”是鐵律面試中常被問“DWD用戶日志表和ADS用戶畫像表能不能直接JOIN”標(biāo)準(zhǔn)答案是“不能”但很少有人講清為什么。根本原因在于分層模型的本質(zhì)是數(shù)據(jù)契約Data Contract。DWD層承諾字段原子性如login_time不拆分為date/hour、加工邏輯透明如user_id脫敏規(guī)則公開、更新頻率確定T1。ADS層承諾面向業(yè)務(wù)主題如“用戶價(jià)值分群”、服務(wù)SLA保障99.9%可用性、接口穩(wěn)定性字段名/類型半年不變。若跨層JOIN等于將DWD的加工邏輯耦合進(jìn)ADS的業(yè)務(wù)邏輯一旦DWD調(diào)整脫敏規(guī)則所有ADS查詢將失效。某次真實(shí)事故中DWD層將user_id從MD5改為SHA256導(dǎo)致12個(gè)ADS報(bào)表的JOIN結(jié)果全錯(cuò)修復(fù)耗時(shí)3天。正確做法是① 在DWS數(shù)據(jù)服務(wù)層構(gòu)建中間寬表如dws_user_behavior_agg包含user_id、login_cnt、order_amt等聚合指標(biāo)② ADS層只JOIN DWS層寬表。這帶來額外收益DWS層可預(yù)計(jì)算常用指標(biāo)減少ADS層實(shí)時(shí)計(jì)算壓力。我們在模擬項(xiàng)目X中將用戶7日活躍度指標(biāo)從ADS層實(shí)時(shí)計(jì)算移至DWS層每日批處理ADS報(bào)表響應(yīng)時(shí)間從8秒降至1.2秒。5.2 “緩慢變化維”在Hive中的落地陷阱“如何實(shí)現(xiàn)SCD Type2”教科書答案是加start_dt/end_dt字段。但Hive中面臨兩大挑戰(zhàn)①歷史版本追溯當(dāng)用戶公司變更時(shí)需保證舊記錄end_dt閉合新記錄start_dt接續(xù)②查詢性能WHERE current_date BETWEEN start_dt AND end_dt無法利用分區(qū)裁剪。我們的解決方案是“分區(qū)版本雙控”表按dt STRING分區(qū)每條記錄含version INT和is_current BOOLEAN。插入新版本時(shí)先UPDATE舊記錄SET is_currentfalse, end_dtcurrent_date-1再INSERT新記錄SET start_dtcurrent_date, is_currenttrue。為解決查詢性能我們創(chuàng)建物化視圖CREATE MATERIALIZED VIEW dwd_user_scd_current AS SELECT * FROM dwd_user_scd WHERE is_currenttrue并設(shè)置自動(dòng)刷新。但Hive 3.1才支持物化視圖低版本需用定時(shí)任務(wù)INSERT OVERWRITE TABLE dwd_user_scd_current SELECT * FROM dwd_user_scd WHERE is_currenttrue。關(guān)鍵細(xì)節(jié)是UPDATE操作在Hive中實(shí)際是讀取全表重寫因此必須配合分區(qū)裁剪如WHERE dtdate_sub(current_date,30)限制掃描范圍。某次處理千萬級(jí)用戶主數(shù)據(jù)時(shí)我們發(fā)現(xiàn)全表UPDATE耗時(shí)42分鐘改為分區(qū)增量更新只處理近7天分區(qū)后降至3分鐘。5.3 權(quán)限模型與SQL安全邊界的實(shí)踐平衡“如何控制用戶只能查自己部門的數(shù)據(jù)”這題考的是RLS行級(jí)安全落地能力。Hive原生不支持RLS需結(jié)合視圖UDF實(shí)現(xiàn)。標(biāo)準(zhǔn)方案是創(chuàng)建視圖CREATE VIEW dept_user_view AS SELECT * FROM dwd_user WHERE dept_id get_dept_id()其中g(shù)et_dept_id()是自定義UDF從HiveServer2的Session變量中讀取hivevar:dept_id。但硬核點(diǎn)在于UDF必須防御注入攻擊。某次測試中惡意用戶傳入hivevar:dept_id1 OR 11導(dǎo)致視圖返回全表數(shù)據(jù)。修復(fù)方案是UDF內(nèi)部用白名單校驗(yàn)只接受數(shù)字字母組合長度≤10。更徹底的做法是集成Kerberos認(rèn)證在UDF中調(diào)用UserGroupInformation.getCurrentUser().getShortUserName()獲取登錄用戶再查部門映射表。這要求Hive配置hive.server2.enable.doAstrue且UDF有權(quán)限訪問部門表。我們在生產(chǎn)環(huán)境采用混合策略對(duì)BI工具用戶用視圖UDF對(duì)API調(diào)用用戶用Thrift Server的ACL控制。關(guān)鍵教訓(xùn)是安全不能只靠SQL層必須與基礎(chǔ)設(shè)施聯(lián)動(dòng)。我們要求所有生產(chǎn)Hive集群開啟hive.security.authorization.enabledtrue并定期審計(jì)SHOW GRANT USER xxx結(jié)果確保無過度授權(quán)。6. 我的實(shí)戰(zhàn)筆記那些沒寫在文檔里的細(xì)節(jié)在模擬項(xiàng)目X的兩年維護(hù)中我整理了27條“文檔不會(huì)寫但生產(chǎn)必踩”的細(xì)節(jié)挑最關(guān)鍵的五條分享第一條LIMIT不是性能優(yōu)化而是調(diào)試開關(guān)很多人以為SELECT * FROM t LIMIT 10能加速查詢其實(shí)Hive仍會(huì)掃描全表除非有分區(qū)裁剪。真正加速要用SELECT * FROM t WHERE dt2024-01-01 LIMIT 10。LIMIT唯一作用是快速驗(yàn)證SQL語法和字段名切勿用于性能測試。第二條UNION ALL比UNION快10倍但需人工去重UNION會(huì)觸發(fā)全局排序去重UNION ALL直接合并。某次合并10個(gè)渠道日志表用UNION耗時(shí)23分鐘UNION ALL僅2.1分鐘。代價(jià)是結(jié)果含重復(fù)記錄但我們用ROW_NUMBER() OVER(PARTITION BY id ORDER BY ts DESC)在后續(xù)層去重總耗時(shí)仍少8分鐘。第三條INSERT INTO慎用INSERT OVERWRITE才是生產(chǎn)習(xí)慣INSERT INTO追加數(shù)據(jù)若上游ETL失敗重跑會(huì)導(dǎo)致數(shù)據(jù)重復(fù)。我們強(qiáng)制規(guī)定所有生產(chǎn)任務(wù)必須用INSERT OVERWRITE并在任務(wù)開始前用hdfs dfs -test -d /path/to/partition hdfs dfs -rm -r /path/to/partition清理舊分區(qū)確保冪等性。第四條DESCRIBE FORMATTED比SHOW CREATE TABLE更有用SHOW CREATE TABLE只顯示建表語句DESCRIBE FORMATTED能看到SerDe、存儲(chǔ)位置、統(tǒng)計(jì)信息、甚至最近一次修改時(shí)間。某次排查數(shù)據(jù)延遲DESCRIBE FORMATTED顯示last_modified_time比預(yù)期晚2小時(shí)直接定位到上游調(diào)度故障。第五條永遠(yuǎn)在EXPLAIN后加FORMAT JSONEXPLAIN EXTENDED文本難解析EXPLAIN FORMAT JSON輸出標(biāo)準(zhǔn)JSON可用jq工具提取關(guān)鍵字段EXPLAIN FORMAT JSON SELECT ... | jq .plan.stages[].vertices[].statistics.numRows。我們用此腳本自動(dòng)生成執(zhí)行計(jì)劃健康度報(bào)告當(dāng)numRows預(yù)估偏差50%時(shí)自動(dòng)告警。最后分享一個(gè)小技巧在Beeline中執(zhí)行!set outputformat csv2可將查詢結(jié)果導(dǎo)出為CSV比!output更穩(wěn)定。某次導(dǎo)出千萬級(jí)結(jié)果!output因緩沖區(qū)溢出截?cái)郼sv2格式全程無丟數(shù)。這些細(xì)節(jié)沒有十年線上踩坑真的很難體會(huì)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99久久97久久欧美综合网| 99黄色性生活| 天天摸天天舔| 色色网91| 激情伊人| 五月丁香六月婷精品视频| 色九九综合| 久久五月天激情美女| 综合色99| 99爱在线精品视频免费观看| 九九热a| 六月婷婷中文字幕| 99er视频在线| 激情开心五月亚洲| 久久日曰| 五月丁香六月在线| SS丁香五月婷婷| www.99操.com| 99视频自拍| 久久96热| 日本九九九九| 六月婷婷综合网2| 极品人妻videosss人妻| 1024操逼视频| 天堂成人A片永久免费网站| A色色| 在线不卡的视频| 狠狠操狠狠| 色五月婷婷操逼| 久99视频| 人人操插| ss视频xx91| 久婷婷色| 激情五月天啪啪| 婷婷大香蕉| 综合五月激情网| 丁香六月开心| 激情六| yellow视频在线观看91| 久草婷妨| 99在线免费观看| 丁香五月天在线| 五月丁香福利| 色婷婷操逼网| 色香蕉婷婷| 五月婷婷激情网| 色丁香五月婷婷在线| 精品五月丁香| 成人国产综合| 丁香五月婷婷超碰在线| 色原狠狠综合| 久久久久久久久18久久| 色九月婷婷| 久久性爱视频网站| 人人操AV| 丁香五月色情av| 久久综合婷婷激情| 亚洲操人| 这里只有精品在线看| 狠狠va| 久久九九中文字幕| 婷婷丁香社区网| 五月婷婷啪啪| 热九九精品| 久久婷婷激情| 狠狠操天天操综合| 国产,欧美,日韩,性爱| 久久色五月| 天天五月丁香五月| 婷婷丁香五月天狠狠| 99色热视频| 亚洲九九99精品视频在线播放| 狠狠狠狠狠狠狠狠草| 大香蕉五月天婷婷丁香91| 色欲AVV| 99自拍视频在线观看| 五月天综合在线| 天天干,夜夜爽| 五月天色综合| 亚洲另类在线观看| 亚洲在线播放| 婷婷久久婷婷色五月| 99在线观看视频蜜臀| 97久久久久| 欧美日韩91| 激情久久四色| 操笔无码| 六月婷婷狠狠| 五月丁香中文| 五月婷婷六月丁香玖玖玫瑰91| 艾小青av| 99热这里只有精品99| 婷婷在线免费| 99热这里只有精品66| 中文字幕永久免费| 99久久久久| 国产69久久久欧美黑人A片 | 管管補管管紱| 九九热在线精品| 久久成人精品视频| 日本久久人人| 色婷婷很很十八禁| 久久香蕉影院| 99久久6| 99亚洲天堂| 都市激情蜜桃婷婷五月天 | 另类图片五月天婷婷| 色婷婷免费观看| 男女免费视频999| 久久九九99| 五月香婷婷| 亚洲成人电影aaaa| 成人看片网站| 嫩BBB搡BBBB榛BBBB| 婷婷久热| 2015WWW永久免费观看播放| 欧美毛卡| 久久香蕉影院| www.婷婷.com| 婷婷天天色| 五月停视频天堂| 国产 亚洲 在线| www.久久66| 超碰国产在线观看| 91窝窝| 99在线观看视频免费| 丁香五月婷婷色| 9999色色色色| 思思久久99热只有频精品66| 欧美婷婷精品激| 26UUU成人网| 六月婷婷色五月| 日本一级特黄大片AAAAA级| 丁香婷婷激情五月| 五月激情啪啪| 久久免费操| 日韩一区二区三区无码| 欧洲亚洲精品| 欧美人久久| 99热精地址| 久热免费| 丁香五月自拍| 六月丁香影院| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 国产做A爰片毛片A片美国| Caop在线| 丁香婷婷色五月激情综合| 少妇高潮呻吟A片免费看软件| 91丨九色丨老熟女激情| 五月天日日操夜夜操 | 深爱丁香网| 色婷婷六月| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 可以看的AV| 色99www.| 五月天婷婷在线播放| 久久A极片| 一级性爱大片| www.国产色| 色5月婷婷| 丁香五月成人网| 嫩草AV久久伊人妇女超级A| 婷婷婷婷婷婷婷婷婷婷丁香| 五月丁香婷婷激情| 亚洲网综合在线| 激情综合五月激情XXXX| 天天干夜夜谢| 九九热九九| www.minyis.com【JT】实力收量可预付QQ2101460746 | 久久机热这里只有精品| 九月婷婷在线观看| 99性爱无码| 丁香六月婷婷| WwW天天干| 激情综合亚洲| 婷婷五月天亚洲激情戏精品| 丁香97综合| 五月天成人在线播放丁香| 性av| 五月天激情av| 青青草99热久久精品国| 五月情涩综合婷婷| 狠爱婷色| 色色色免费视频| 伊人大香蕉综合在线| 九九性视频| 婷婷黄色网| 26uuu另类亚洲欧美日本一| 成人无码免费一区二区中文| 婷婷五月激情五月激情| 日本三级中文字幕| 9999久久久久| 深夜A片| 久久3级片| 五月婷婷免费在线观看视频| 亚洲AV综合网| 蜜臀AV在线观看| 99热精品一区| 亚洲av无码影院| 日本女人久久| 久碰久| 婷婷六月激情综合| 国产日产亚系列精品版优势| 天天爽天天摸人妻综合网| 久久一伦| 久热这里| 婷婷丁香在线播放| 久久久激情| 五月丁香色综合| 五月 丁香 欧美| 玖玖资源在线视频| 激情五月天在线观看色婷婷| 亚洲天堂热| 99热日本| 色婷婷色丁香色欲av| 亚亚州久久高潮| 五月天堂色| 大地9中文在线观看免费高清| 丁香五月激情视频在线| 婷婷五月丁香啪啪| 色色色99| 偷拍视频五月天| 另类丁香综合| 久久久国产精品黄毛片| 99re在线视频| 深爱激情网五月| 欧美黄色一级录像| 超碰人人干| 深爱婷婷色| 伊人超碰在线| 白人荫道BBWBBB大荫道| wwwss在线观看| 久久婷婷五月综合激情国产| 影音先锋男人AV资源站| 五月丁香六月情| 久久婷婷综合色丁香| 国产成人网站在线观看| 五月色亚洲| 这里只有精彩小视频视频网站| 91国产精品视频播放| 激情五月综合网最新| 国产日日夜夜操| 日韩xx在线| 五月婷婷中文字幕| 久色激情| 色色cOm| 五月婷婷在线丁香| 日韩精品视频中文字幕| 五月天播播中文字幕| 丁香婷婷六月婷婷六月婷婷六月婷婷| 婷婷va| 激情小说 五月天| www.婷婷五月天| 精品久久穴| 97人人操在线| 五月狠狠| 久草五月天| 天天综合亚洲综合网天天αⅴ| OUMEIRIHANCHENGREN| 亚洲中文字幕在线观看| 婷婷五月色情天| 99re热精品视频国| 91狠狠色| 婷婷五月色情天| 香蕉色色网| 亚洲中文字幕网| 天天天天做夜夜夜夜做| 五月婷婷免费| 丁香六月视频| 欧美激情丁香五月天久久婷婷一区| 婷婷五月精品中文字幕| 96精品成人无码A片观看金桔| 美女网黄| 五月婷婷69| 99色丁香婷婷综合网| 区区久久妻| 五月丁香成人| 91精品婷婷国产综合久久| 97爱综合| 99热全是精品| 婷婷天堂视频| 狠狠色97| AV在线大香蕉| 成人丁香五月| 影音先锋按摩| 色五月婷婷久久爱| 激情综合网五月天天| 久久99网| 久久大香蕉伊人| 久久九网| 五月丁香久久婷| 日本性视频| 五月开心深爱激情网| 激情五月综合ì香亚洲| 婷婷五月天视频在线观看| 婷婷五月天AV在线| 操久久网| 99综合婷婷五月| 亚洲婷婷开心五月| 深爱丁香激情| 九九精品视频在线观看| 五月婷婷综合在线| 五月丁香啪啪综合| 丰满少妇猛烈A片免费看观看| 五月天婷婷无码| 色色五月婷婷| 久热免费视频| 在线看AV| 色欲影香| 日本综合久| 开心婷婷五月激情网小说| 国产亚洲99| 色六月天天激情综合网| 婷婷五月天日日日干干干| 操逼福利视频| 99热综合网| 天天干天天做| 99精品综合| 人人摸人人| 日本久久人| 综合久久9| 五月婷六月| 久久激情五月| 丁香五月激情啪啪啪啪| 99热在线精品播放| 婷婷五月天在线综合导航| 影音先锋 婷婷| 人。妻久久| 久9无码视频| www,天天干| 另类激情综合| 激情五月天色色网| 色色色五月| 涩九九九九| 伊人久久婷婷| 日韩啪啪自拍| 91色五月| 五月综合影院| 成人在线精品| 久久婷婷色| 日日夜夜天天| 99碰视频| 色综合色色| 亚洲日韩人妻操逼| 亚卅毛片| 婷婷的五月天另类视频| 婷婷五月精品中文| 丁香五月婷婷亚洲色图| 欧美Va日本Va| 国产欧美熟妇另类久久久| 亚洲天堂九九九| 五月激情视频| 综合网天天| 玖玖色综合| 91色色色视频| 久久亚洲色导航| 99热这里只| 五月天婷婷小说| 精品自拍99| 久热这里只精品| 婷婷五月天免费| 日本综合久久| 亚洲天堂制| 五月丁香婷婷爱激情综合网| 婷婷五月天激情小说| 97啪啪| 亚洲成人AV在线| 日本va欧美va精品发布视频 | 噜噜操操| 婷婷丁香五月高清| 国产69久久久欧美黑人A片| 97人妻碰碰碰久久| 婷婷射图五月天| 激情婷婷五月| 99在线视频精品| 人人视频色| 天天干天天做| av五月天婷婷丁香| 男女啪啪做爰高潮无遮挡| 99人人干人人| 激情5月婷婷| 精品亚洲国产成人A片在线鸭王| 婷婷五月中文字幕| 丁香 婷婷 亚洲 熟女| 色婷婷99| 婷丁五月| 婷婷九月| 色五月琪琪| 天天干一干| 激情综合五月丁香六月婷婷| 黄页大全十八禁| 欧美性爱五月天| 91超碰九色| 99干日本| 99精品在线观看视频| 四色五月婷婷在线观看| 久99在线视频| 日亚二欧美| 思思热久久久在线| 99九九精品视频推荐| 天天干天天日日| 久久久久久人妻| 99热主页日本| 大香蕉婷婷丁香视频在线| 五月亭久久无码视频| 天天爽日日爽夜夜爽| 天天久综合网永久入口18| 国产裸舞福利资源在线视频| 欧美交换配乱吟粗大25P| 亚洲操操| 色婷婷狠狠| 天天玩夜夜操天天爽| 五月久久婷婷| 久久这里只有精品久久| 丁香激情网| 五月天丁香六月综合| 亚洲成人在线免费| 大香蕉AV在线| 九月婷婷综合| 丁香六月婷婷综合网| 国产乱子轮XXX农村| ss五月天激情| 欧美婷婷丁香社区在线播放| 91大屁股精品| 丁香五月婷婷色情综合| 日韩色色网| 操碰91| 熟女重口味αV| 中字幕视频在线永久在线观看免费| 色一区高清| 婷婷综合五月天| 五月天激情站| 97日本在线播放| 色婷婷综合网站| www,99色| 九九九九国产| 国产日批视频| 丁香五月 性爱| 天天爱天天吃狠天天透| 伊人久久婷婷| 玖玖色综合色| 热99在线精品| 天天弄天天爽| 亚洲岛国电影| 99九无网码| 婷婷精品视频| 99色嘟嘟精品网站| 九九热大香蕉| 五月丁香六月色情网欧美| 97超级啪啪在线观看| 五月丁香另类图片| 丁香五月婷婷亚洲人| .精品久久久麻豆国产精品| 丁香婷婷视频一区二区| 9月色婷婷| 色五月激情婷婷| 狠狠操天天操综合| 国产AV不卡福利| 青青草成人网| 日本色视| 3pAV| 大香蕉人人人| 五月丁香激情啪啪| 色狠狠婷婷| 久久久18| 久久99免费视频网站| 激情久久肏屄视频| 婷婷伊人五月| 亚洲综合色婷婷| 成人色色视频| 丁香五月香蕉在线| 91刘玥视频在线观看| 玖玖综合色| 丁香婷婷五月天色播| 91天堂网综合| 欧美精品中文字幕亚洲专区| 色色色色色色色色色色色色色97| 影音先锋 91工厂| 超碰色天堂| www.婷婷| 91久久综合亚洲鲁鲁五月天| 天天草天天日| 五月伊人综合| 久久性刺激| www.婷婷com| 五月激情视频| 天天影院色| 色播丁香五月婷婷操:屄| 日熟女| 亚洲色无码A片一区二区麻豆| 久久九九国产精品怡红院| 另类小说五月天综合| www.综合久久.com| 婷久久久| 亚洲精品国产A久久久久久| 六月婷婷av| 婷婷丁香色无五月| 久久人妻情侣| 九九综合精品| 亚洲激情在线| 久久久99免费视频| 久久九九亚洲| 人操综合| WW婷婷五月天com| 色色热| 色综合久久44| 五月天婷婷激情| 99九九精品视频| 欧美美女国产日韩一区二区久| 日韩人妻无码精品| 久热丁香| 青青999| 亚洲成人在线在线| 熟妇无码乱子成人精品| 深爱五月激情五月| 亚洲精品午夜国产va久久成人| 色色色地址| 亚洲黄色操逼| 婷婷欠久少妇| 性按摩玩人妻HD中文字幕| 久久婷婷综合五月天| 性欧美日本| 五月丁香激情综合网| 天天狠狠色综合| 五月社区丁香| 五月婷无码| 丁香六月婷婷缴情欧美| 久久五月视频| 99热网站在线观看| 色9色| 26UUU| 91久久婷婷| 色综合久久44| 综合久久婷婷| 婷婷五月天最新综合你懂的| 丁香5月激情网| 99热最新网址| 99re热精品视频国| 色婷婷欧美在线| 五月丁香日本在线视频观看| 久久99激情| 婷婷五月 丁香六月| 国产伊人五月天| 久久无码激情视频| 青草视频在线蜜臀| 婷婷五月噜噜| 婷婷五月天色播| 99热这里都是精品| 欧美精产国品一二三区| 这里只有精品视频一区| 99热成人在线观看| 9l视频自拍9l视频自拍九色学生| 日韩精品999| 激情五月婷婷丁香| 激情开心五月天| 国产精品久久久久久久久久免费| 99热香港| 婷婷终合色图| 激情五月天久久丁香| 欧美激情丁香五月天久久婷婷一区| 极品 少妇 内射| 99热亚洲综合| 九九AV在线| 激情深爱五月婷婷| 人妻久久久久久久久妻久久久久| 九九视频免费| 丁香婷婷六月激情综合| 亚洲精品婷婷| 天天干夜夜想| 亚洲午夜国产成人电影VA国产欧…| 亲子乱av一区二区三区的| www.五月丁香| 开心丁五月| 五月激情网综合| 黄色一级影片| 99热在线观看| 成人网页在线观看| 婷婷成人综合| 色噜噜狠狠狠综合曰曰曰| 婷婷情爱五月天6| 久久综合99| 午夜伊人大香蕉| www一起操在线观看| 色色五月婷| 婷婷综合五月色播| www.婷婷五月天.com| 五月激情在线| 欧美图片丁香五月天| 国产99美少妇| 久久538| 狠狠色噜噜狠狠狠888| 99久久国产宗和精品1上映| 99久久高清视频| 偷偷狠狠久久婷婷五月天| 999热成人在线综合网| 操操国产| 久久玖玖99| 婷婷综合五月| 99免费视频网| 丁香五月六月婷婷综合| BBWCUCKOLD精品熟妇| 丁香六月婷婷开心婷婷网| 新99思思视频| 91丨九色丨熟女|新版| 天天狠狠色综合| 操91| 婷婷丁香五月激情密臀av| 五月停停直播| 另类视频综合| 久久久久五月丁香| 五月婷婷co.m| 亚洲另类在线观看| 97超级操操| 亚洲综合色丁香五月天| 久久五月丁香| 91久久精品无码一区二区三区| 色五月开心开心五月激情五月| ww久久| 色吊丝99| 激情综合网激情五月欧美| av色婷婷| 婷婷黄色五月| 欧美VA在线观看| 成人视频网| 色婷婷亚洲| 色色色无码| 日本色色影片| 丁香五月 综合| 色婷婷久久综合| 丁香五月婷婷综合91| 五月噜噜| 蜜臀AV在线观看| 综合狠狠伊人| 九九热在线99| 大香蕉五月丁香| 九九热免费视频| www.婷婷激情网.com| 26uuuavcom| 亚洲欧美成人在线| 99这里有精品视频3| 国产激情AV| 久色五月天| 99热在线成人网站| 超级碰碰一区| 亚洲色情在线| 六月丁香开心婷婷欧美| 99愛国产| 潮汕成人AV片在线| 国产五月天欧美色| 天天网曰日曰夜夜综合永久免费| 色婷婷六月丁香综合欲精品| www.91AV.com| 色五月色五天免费视频| 中文字幕亚洲-区久久99婷婷| 丁香五月激情无码视频| 亚洲AV成人精品网站在线播放| 99精品在线下载| 免费无码毛片一区二区A片| 婷婷五月丁香基| 人妻熟人中文字幕一区二区 | 久操人妻| 18av天堂| 荫道BBWBBB高潮潮喷| ...婷婷国产成人亚洲日韩| 免费做A爰片77777| 成人欧美Va| 曰韩五月丁香色婷婷无码| 五月色婷婷激情| 激情亚洲五月| 97婷婷在线| 99久在线观看| 婷婷五月激情热播| 艳妇野外情欲放荡HD| 婷婷五月偷拍| 九月大香蕉| 任你日视频| 中文字幕成人| 国产乱人偷精品人妻A片| 无码婷婷五月天| 狠狠婷婷日韩| 狠狠色丁香婷婷久久综合| 欧美在线操| 人妻久久久| 中文字幕簧片| 日韩激情网站| 日韩九九| 九九热这里只有国产精品| ady狠狠入| 96精品久久久久久久久| 最新日本A片| 免费视频在线观看的网站| 99爱精品视频| 中美日韩成人在线| 成人做爰A片免费看视频| va亚洲中文在线| 丁香六月婷婷综合欧美| 日日爽夜夜爽| 婷婷亚洲五月| 天天干,天天舔| 综合久久狠狠| 日日噜噜夜夜狠狠久久丁香六月| 激情小说五月丁香在线视频观看视频| 丁香五月天大香蕉啪啪| 日本一级特黄大片AAAAA级| 99re熱| 中文AⅤ大全| 99热日韩| 这里只有精品在线免费视频| 91碰超| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 这里只有视频精品| 九月丁香婷婷综合| 五月丁香综合成人社区| 五月丁香啪啪啪| 夜色综合网| 97在线精品| 熟女激情五月天 | 中文网AV| 亚洲色五月婷婷| 婷婷五月天小说| 夜夜夜夜夜操| aaaaaa片| 色五月婷婷操逼| av在线播放网站| 91超碰在线观看| 人人看人人摸人人| aaaaa黄色| 超碰精品国产首页| 亚洲乱码日产精品BD| 久草性爱| 狠狠激情五月天| 天天综合久久| 亚洲无码11| 久久丁香综合精品综合| 色婷婷综合网站| 国产精品色婷婷久久久精品| 无码人妻一区二区三区免费九色| 操操操操操操婷婷五月天| 色99免费视频中文| 天天干在线播放| 99视频久久| 久久综合影院 | 99九九视频| 26uuuuuuuu国产| 影音先锋女人av鲁色资源网小说免费| 婷婷色片| 天天综合色99| www.丁香六月婷婷久久天堂影院.con| 99精彩视频| 91人操| 婷婷五月天激情基地| 婷婷伊人激情婷婷| 丁香五月花婷婷开心| 激情综合色图| 久久久A级视频| 97日本在线播放| 色婷婷成人做爰A片免费看网站| 激情久久久| 97性视频| 免费观看大片视频 丁香婷婷 六月欧美| 99只有这里是精品| 五月婷婷视频啪啪美女| 久久大香蕉| 色欲九区| 日本 欧美在线| 狠狠干在线| 丁香五月婷婷综合91| 大香蕉视频婷婷| 人操综合| 1级欧美日韩| 涩婷婷五月天| 秋霞影音91人妻久久| 日本人妻丁香婷婷久久寝取熟女五月| 26uuu欧美日韩| 日本高清久久| 99色在线视频| 99re6热在线精品视频播放速度| 97香蕉久久超级碰碰高清版| 久久五月天视频| xxxx久| 精品久久久999| 九九综合伊人| 丁香五月综合婷婷| 五月丁香色色网| 人妻性操逼中文字幕 国产| www.日本久久videos| 丁香婷婷人妻| 这里只有视频精品| 婷婷五月俺要去| 狠狠狠人妻| 91啪级电影| 久久丁香五月婷婷| 99热免费看| 俺去也综合| 丁香五月AV| av在线免费播放| 99操逼| 久久久五月天| 九九在线热九九在线热99热| 九九精品丁香花| 婷婷五月丁香综合桃花色网| 久久9久久| 五月色网| 婷婷激情五月天色| 少妇人妻综合色6699| 丁香五月婷婷AV在线| 亚洲愉拍99热成人精品| 天天干天天爽| 秋霞少妇AV网站| 99热一本久道| 亚洲激情综合网| 91免费在线视频6| 日韩精品色| 五月丁香六月色| a在线观看| 五月婷婷六月天| 日本三级日本黄色| 99热这里有精品首页10| 天天爽天天爽天天爽天天爽天天爽| 九九热免费观看视频| 久久思思热视频| www热久久yy9| 91一起操| 大香蕉视频99| 九九九日本熟女| 激情丰满熟妇五月| 六月丁香婷婷综合在线| 丁香六月婷婷| av婷婷六月丁香社区在线观看| 视频1区2区| 丁香五月婷婷六月婷婷| 99思思热只有在这里看| 丁香六月啪啪啪| WWW.久久.COM| 性生活视频98791| 无码G高清天| 久久丁香五月天| 99re久久| 丁香五月综合无码趴趴| 亚洲精品乱码久久久久久综合| 开心五月深爱婷婷| 99热这里全都是精品| 91女人18毛片水多国产| 五月天激情四射| 夜夜骑福利资源| 超碰在线视屏| 激情玖玖综合网| 色狠狠五月天| 五月天开心激情综合网| 国产伦亲子伦亲子视频观看| 青青艹b| 婷婷六月丁香开心深深爱| 丁香色五月婷婷| 99热在线观看| 超碰不卡在线| 婷婷基地五月色| 99热偷拍| 大香蕉在线观看9| 色综合色婷婷色伊人| 99精品综合视频| 中文字幕精品无码一区二区| 色综合久久44| 色五月婷婷很很操| 一本道在线电影| 碰超99| 九九热99热| 亚洲电影在线观看| 久热婷婷| 9久热免费视频99| 日本网站久久| 天天做天天干天天综合网| 影音先锋噜一噜| 丁香婷婷五月人体| 久久婷婷亚洲五月天| 激情五月天小说网| 人妻久久婷婷| 激情五月婷婷五月| 狠狠色丁香乆乆| 色情五月丁香婷婷网| 色五月婷婷91| 亚洲成人无码免费| 亚洲婷婷五月天激情综合| www色婷婷| 六月激情婷婷| 99免费视频| 婷综合六月| 天天热夜夜操| 成人免费120分钟啪啪| 欧美日韩999| 99九九精品视频| 最新日韩久热免费视频看看| 六月婷婷久久大全| 大香蕉在九| 激情婷婷亚洲五月| 99性爱| 久热91| 97碰| 日韩色久| 婷婷久久综| 欧美啪啪9| 99色视频| 亚洲九九婷婷| 综合在线色婷婷| 丁香五月天激情四射网络不好| www色中色综合| 艹B高清无码| 婷婷五月天视频小说| 色色99| 五月丁香婷婷AV天堂| 色色五月天婷婷| 五月开心婷婷中文字幕| www.99热| 精品国产va久久久久| www,天天干| 亭亭丁香aV| 大香网伊人久久综合| 欧美群妇大交乱婬网| 婷婷综合五月天| 久久五月天合网| 天天干一干| 狠狠狠狠狠狠草| 色135综合网| 五月丁香亭亭天天舔| 精品热九九| 天天日天天干天天天| 综合九九久久| 在线观看欧美| 久久五月网| 色色网站| 亚洲 精品 综合 精品| 婷婷97狠狠成人网站| 激情五月五月五月婷婷| www.ywav| 99性爱| 色啪影院| 国产精产国品一二三在观看| 色婷婷伦理| 激情婷婷五月社区| 天天干天天干天天干| 黄网网站在线播放| 激情综合五月| 国产精品久久久久久五月天加勒比| 中文字幕不卡网站| 无码色| 久操人妻| 亚洲国产精品二二三三区| 国产精品久久久丁香五月八戒视频| 97久久精品视频| 操骚货在线| 97在线精品| 日本精品人妻无码77777| 欧美激情综合色丁香婷婷五月天| 婷婷性爱视频在线| 久热九九| 五月丁香六月婷婷亚洲激情综合| 中文AV网站| www.久久久久久久| 99无码免费视频| 99精品综合在线| 99激情网| 啪啪婷婷五月天激情| 99久久婷婷综合| 九九激情网| 午夜精品777| www.五月婷| 91精品丝袜久久久久久| 月婷婷亚洲| 99碰在线视频| 五月色综合| 五月花综合视频| 亚洲永久免费| 影音先锋秋秋五月婷婷| 91九色精品| 丁香五月综合图片在线观看| 婷婷99丁香| 九九碰九九爱97超碰| 欧美草久久五月天91| 色九月婷婷综合| 天天碰夜夜操| 激情AV在线| 五月婷婷和六月| 超碰在线中文字幕| 免费无码毛片一区二区A片| 丁香五月天激情视频| 九九热这里有精品视频| 精品视频网| 狠狠操狠狠操AV| 欧美25p| 欧美色播综合在线观看| 天天肏高清在线| 日本熟妇乱妇熟色A片蜜桃| 久久999久久999久久999久久| 插插干干干色| 久操大| 亚洲殴洲精品Av在线| 免费观看的av| 伊人玖玖婷婷| 欧美日本一区二区三区| 婷婷激情五月| www.久久久久久久久久久| 99热这里只有精品8| 九九精品亚洲| 五月丁香欧美在线| 五月在线婷色| 99爽视频| 99热观看| 大伊香蕉精品视频在线| 色婷婷99| 99热| 激情五月,激情综合网| 天天网站天天爽| 99热这里都是精品| 97艹| 91色性感五月婷婷丁香| 九九激情| 色婷婷欧美| 综合图片色色| 久久这里有精品在线观看| 天天搞夜夜爽夜夜爽| 任你操精品免费| 午夜激情久久| 久久黄色片| 91狠狠色丁香婷婷综合久久| 91啪啪视频| 九九人人精品| 成年人最刺激的综合网| 天天爽综合网| 91小黄书网址在线观看| 丁香激情合作五月| 99色这里| 日韩婷婷五月| 99黄色性生活| 99精品在线观看视频| 伊人玖玖婷婷| AV免费在线网站| 亚洲国产网址| www.久久99精品| 天天综合区| 成人免费黄色短视频| 99性爱视频| 久久色情| 97在线精品| 色一情一乱一乱一区91Av| 激情五月综合婷婷| 99热这里只有精品免费| 五月天成人小说| 大香蕉手机视频| 激情色播| 97 A I色色| 午夜婷婷| 五月天婷婷社区| 激情深爱五月天| 日日撸夜夜操| 九九aV| 国产精品涩涩涩视频网站| 五月婷婷激情综合| 26uuu欧美| 久久精品一区二区三区四区| 熟女人妻一区二区三区免费看| 99精彩视频在线观看| 五月天四色房丁香| 久久婷婷在线| 五月天色婷婷成人| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 丁香桃色综合网| 婷婷五月天无码熟女| 色五月丁香一区在线| 丁香伊人激情| 天天操夜夜爱| 丁香色婷婷| 五月婷婷,狠狠操| 久操人妻| 婷婷五月天色色| 少妇高潮呻吟A片免费看软件 | 99热这里只有精品16| 99久久99九九99九九九| 青青久在线视频免费观看| 日本美女97在线视频| 91综合网| 婷婷五月激情的图片| 亚洲久热| sewuyue第四色| 丁香五月激情综合啪啪| 五月丁香六月婷| AA丁香综合激情| 国产精品色| avh片在线观看| 探花搜索结果 - 黄上黄| 99久久久免费| 激情综合五月.....| 五月天色婷婷网| 午夜成人网站在线观看| 丁香五月激情五月| 七月丁香婷婷 色色| 五月天激情综合网| 丁香五月香蕉| 五月亭亭激情综合| 婷婷社区五月天| 色丁香五月| 激情综合网激情五月婷婷| 五月婷婷,六月婷婷| 色狠狠综合| 91大屁股| 婷婷操超碰| 中文字幕无码人妻少妇免费视频| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 欧美丁香五月| 96人人操人人操人人| 婷婷丁香五月综合激情视频| 丁香综合网| 婷婷综合中文字幕| 96精品久久久久久久久| 五月天色官网| 色播播五月天| av中文在线| 狠狠久久婷婷| 婷婷激情五月天网站| 狠狠五月综合在线| 九热视频| 91美女艹逼网站| 99热99ai| 色五月天在线观看| 久久性爱视频| 9色免费网| 再次出发二| 人人爽天天爽| 日日干夜夜干| 色激情五月| 五月花成人网| 天天操无码| 日韩人妻在线播放| 激情五月婷婷丁香六月| 五月开心深深爱激情综合| 五月丁香久久| seuuu婷婷| 99热超碰| 色色com| 综合色、色综合| 久久婷狠狠色| 色色COm| 亚洲中文字幕在线观看| 丁香五月天堂网| 黄色AAAA韩国guochansanji| 色很很96| 五月天激情网站| 婷婷五月丁香青青草在线| 天天色丁香| 激情婷婷啪啪| 黑人巨粗进入警花疼哭A片| 91色五月| 婷婷色狠狠| 久久久久人妻| 五月婷婷激情| 色色激情五月天| 婷婷六月亚洲综合| 九月丁香网婷婷| 日韩欧美一区二区三区四区| 欧美性爱一区| 激情五月天久久| 特黄三级片| 日本熟女二区| 久久婷婷七月丁香| 99热欧美| www.色婷婷| 久久爱综合| 五月丁香六月合| 色色色色热| 亚洲六月婷婷| 婷婷日欧美在线观看| 亚洲综合色激情色五月| 亚洲九九免费| 五月丁香六月欧美综合网站| 色情婷婷。| 天天综合网站| 99久久超级| 热99久久这里只有精品| 婷婷丁香成人| 99re热精品在线视频| 婷婷操超碰| 91se在线观看| 丁香五月手机在线| 五月色丁香婷婷综合| ss99热| 蜜桃成语时李时珍 免费| 丁香六月婷婷开心| 丁香五月天电影| 国产精品99久久久久久猫咪| 99色| 91丨九色丨丰满人妖| 欧洲亚洲午夜| 四色五月视频| 婷婷五月天久久| 亚洲在线成人| 九九热最新| 丁香社92视频| 99热国产这里只有精品| 日本少妇AA一级特黄大片| 久久精品亚洲一级牲爱综合| 性爱激情综合网| 婷婷伊人久久综合| 激情婷婷五月在线合集| 婷婷综合色五月天| 久久精品熟女亚洲AV麻豆| 99色一| www.夜夜爱.com| 五月天婷婷色综合| 色综合久久无码| 精品乱码久久久久| 大香蕉人人人| 99九九精品视频| 久热99| 六月婷婷色综合| 亚洲日韩人妻操逼| 五月天久久色| 色女伊人| 婷婷久久色| 激情99| 综合激情五月四射婷婷| 国产亚洲精品久久久久久郑州| 亚洲中文无码成人| A片试看120分钟做受视频红杏| 99re这里只有精品首页| 狠狠色丁香久久综合婷婷亚洲成人福利| 激情小说 五月天| 亚州婷婷五月激情综合| 91丨九色丨白浆秘| 99re66热这里只有精品| 99热精品在线观看| 九九自拍网| 婷婷五月色| 五月天五月婷五月激情网| 久久蜜臀婷婷| 婷婷五月天六月丁香| 日本精品99网站| 国产毛片精品一区二区色欲黄A片| 99亚洲大片精品永久在线观看| 亚洲人操亚洲人| 天天噜| 天天情天天狠天天透| 国产精品天天狠天天看| 五月开心深深爱激情综合| www亚洲无码| 五月丁香大香蕉| 丁香五月天激情小说| 欧美日韩日韩成人| 综合激情在线视频| 五月天开心成人网| 东北熟女视频99| 丁香五月自拍| 最新亚洲色色网| 4438全国最大视频成人网站在线观看 | 久久五月丁香综合17C| www.婷婷激情网.com| 九九99精品视频| 丁香五月成人论坛| 丁香五月天堂网AV| 五月天综合久久| 婷婷五月天日日日干干干| 伊人久久中文网| 大香蕉AV在线| 噜噜狠狠色| 丁香激情五月| 国产高潮A片羞羞视频涩涩| 五月婷婷在线免费| 婷婷五月天激情文学小说| 丁香九色不卡aaa|