亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Hive+HBase+R用戶行為分析閉環(huán)實(shí)踐指南

Hive+HBase+R用戶行為分析閉環(huán)實(shí)踐指南 1. 這不是“又一個(gè)點(diǎn)擊流分析”而是真實(shí)業(yè)務(wù)場(chǎng)景里能跑通的閉環(huán)實(shí)驗(yàn)?zāi)愦蜷_(kāi)一份《大數(shù)據(jù)課程綜合實(shí)驗(yàn)案例網(wǎng)站用戶行為分析》的教學(xué)大綱里面寫(xiě)著“使用Hive做離線統(tǒng)計(jì)、用HBase存實(shí)時(shí)明細(xì)、用R做可視化”——聽(tīng)起來(lái)很完整對(duì)吧但真正帶學(xué)生跑一遍就會(huì)發(fā)現(xiàn)90%的實(shí)驗(yàn)卡在第一步數(shù)據(jù)根本沒(méi)進(jìn)Hive。不是SQL寫(xiě)錯(cuò)是原始日志壓根沒(méi)清洗干凈不是HBase連不上是region server啟動(dòng)后立刻O(píng)OM不是R畫(huà)不出圖是數(shù)據(jù)從Hive導(dǎo)出時(shí)字段類型全崩了timestamp變成科學(xué)計(jì)數(shù)法user_id被自動(dòng)轉(zhuǎn)成浮點(diǎn)再截?cái)?。我?guī)н^(guò)三屆數(shù)據(jù)科學(xué)方向的本科生做這個(gè)實(shí)驗(yàn)也幫五家中小企業(yè)的技術(shù)團(tuán)隊(duì)復(fù)現(xiàn)過(guò)類似流程。最常聽(tīng)到的抱怨不是“不會(huì)寫(xiě)SQL”而是“老師我按文檔把Hive裝好了建表語(yǔ)句也執(zhí)行成功了可select count(*)返回0”“HBase shell里put能寫(xiě)進(jìn)去但Java API一查就超時(shí)”“R里read.csv讀出來(lái)的page_path全是NA”。這些問(wèn)題背后沒(méi)有玄學(xué)只有四個(gè)被教科書(shū)刻意忽略的硬骨頭日志格式的野蠻生長(zhǎng)性、Hive外部表與分區(qū)路徑的耦合陷阱、HBase預(yù)分區(qū)與熱點(diǎn)寫(xiě)入的沖突邏輯、R與Hadoop生態(tài)間的數(shù)據(jù)類型斷層。這個(gè)實(shí)驗(yàn)的價(jià)值從來(lái)不在“會(huì)用幾個(gè)命令”而在于親手把一坨雜亂無(wú)章的Nginx訪問(wèn)日志比如192.168.1.100 - - [10/Jan/2024:14:23:15 0800] GET /product?id123refhome HTTP/1.1 200 3421 https://www.example.com/home Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...變成一張能支撐運(yùn)營(yíng)決策的寬表用戶ID、首次訪問(wèn)時(shí)間、當(dāng)日停留總時(shí)長(zhǎng)、跳出率、加購(gòu)轉(zhuǎn)化漏斗、高價(jià)值商品偏好聚類。它要求你同時(shí)理解Web服務(wù)器怎么記日志、HDFS怎么存文件、Hive元數(shù)據(jù)怎么映射物理路徑、HBase的RowKey設(shè)計(jì)如何影響查詢性能、R的data.frame如何與JDBC結(jié)果集對(duì)齊。所以這篇不是“HiveHBaseR安裝配置大全”而是聚焦于讓這三者在同一個(gè)實(shí)驗(yàn)場(chǎng)景里真正咬合運(yùn)轉(zhuǎn)。我會(huì)拆解為什么用正則解析Nginx日志比Logstash更可控為什么Hive外部表的LOCATION必須精確到分區(qū)目錄而不是整個(gè)日志根路徑為什么HBase里用md5(user_id)做前綴反而加劇熱點(diǎn)為什么R的DBI::dbGetQuery()默認(rèn)把bigint當(dāng)numeric處理導(dǎo)致精度丟失。所有結(jié)論都來(lái)自實(shí)驗(yàn)室里反復(fù)重裝集群、修改RowKey、重寫(xiě)UDF的真實(shí)記錄。如果你正為畢設(shè)卡在某個(gè)環(huán)節(jié)或者想給學(xué)生設(shè)計(jì)一個(gè)不糊弄人的實(shí)驗(yàn)這篇就是你該停下來(lái)的那一頁(yè)。2. 日志清洗別迷信Logstash手寫(xiě)MapReduce才是理解數(shù)據(jù)本質(zhì)的第一課教科書(shū)和網(wǎng)上的教程幾乎清一色推薦用Logstash或Flume做日志采集。但在這個(gè)實(shí)驗(yàn)里我堅(jiān)持讓學(xué)生先用原生MapReduce寫(xiě)一個(gè)日志解析器。原因很簡(jiǎn)單Logstash的grok模式在面對(duì)真實(shí)業(yè)務(wù)日志時(shí)就像用瑞士軍刀削蘋(píng)果——功能全但每下都打滑。比如Nginx日志里常見(jiàn)的-占位符在不同字段含義完全不同$remote_user里的-代表未認(rèn)證$http_referer里的-代表直接訪問(wèn)$http_user_agent里的-可能代表爬蟲(chóng)偽裝。Logstash的%{NOTSPACE:remote_user}會(huì)把三個(gè)-全當(dāng)成字符串但后續(xù)分析時(shí)你得額外判斷哪個(gè)-該過(guò)濾、哪個(gè)該保留為“空來(lái)源”。而手寫(xiě)MapReduce強(qiáng)制你逐行讀取、逐字段拆解、逐條件校驗(yàn)。我們用的是Hadoop 3.3.6 Java 11核心邏輯在Mapper里public static class LogParserMapper extends MapperLongWritable, Text, Text, Text { private final static Pattern LOG_PATTERN Pattern.compile( (\\S)\\s(\\S)\\s(\\S)\\s\\[([^\\]])\\]\\s\(\\S)\\s([^\\\])\\s([^\\\])\\\s(\\d)\\s(\\S)\\s\([^\]*)\\\s\([^\]*)\); Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line value.toString().trim(); Matcher m LOG_PATTERN.matcher(line); if (!m.find()) { // 解析失敗的日志單獨(dú)輸出到另一個(gè)目錄便于人工抽檢 context.write(new Text(PARSE_ERROR), value); return; } String ip m.group(1); String remoteUser -.equals(m.group(3)) ? null : m.group(3); // $remote_user String timeLocal m.group(4); String method m.group(5); String url m.group(6); String httpVersion m.group(7); String status m.group(8); String bodyBytesSent m.group(9); String httpReferer -.equals(m.group(10)) ? null : m.group(10); // $http_referer String userAgent -.equals(m.group(11)) ? null : m.group(11); // $http_user_agent // 關(guān)鍵URL參數(shù)解析這是行為分析的核心 MapString, String params parseUrlParams(url); String productId params.get(id); String refSource params.get(ref); // 構(gòu)造結(jié)構(gòu)化輸出tab分隔字段順序固定 String output String.join(\t, ip, remoteUser null ? : remoteUser, timeLocal, method, url, status, bodyBytesSent, httpReferer null ? : httpReferer, userAgent null ? : userAgent, productId null ? : productId, refSource null ? : refSource ); context.write(new Text(ip), new Text(output)); } }注意parseUrlParams方法——它不是簡(jiǎn)單split()而是要處理URL編碼。比如%E4%BA%A7%E5%93%81要decode成“產(chǎn)品”。我們用java.net.URLDecoder.decode(paramValue, UTF-8)并捕獲UnsupportedEncodingException。這一步在Logstash里需要額外加urldecodefilter但學(xué)生往往忽略導(dǎo)致后續(xù)Hive建表時(shí)中文字段全是亂碼。Reducer階段不做聚合只做格式標(biāo)準(zhǔn)化把時(shí)間字符串10/Jan/2024:14:23:15 0800轉(zhuǎn)成ISO標(biāo)準(zhǔn)2024-01-10 14:23:15用SimpleDateFormat解析再格式化。這里有個(gè)巨坑SimpleDateFormat不是線程安全的如果在Reducer里new一個(gè)實(shí)例反復(fù)用多線程下會(huì)拋java.lang.NumberFormatException。正確做法是在setup()方法里初始化或用ThreadLocalSimpleDateFormat。最終輸出到HDFS的目錄結(jié)構(gòu)是/user/hive/warehouse/raw_logs/dt2024-01-10/文件名是part-r-00000。這個(gè)dt2024-01-10就是Hive分區(qū)的關(guān)鍵。很多學(xué)生把數(shù)據(jù)扔進(jìn)/raw_logs/根目錄然后Hive建表時(shí)寫(xiě)PARTITIONED BY (dt STRING)卻忘了執(zhí)行MSCK REPAIR TABLE導(dǎo)致Hive元數(shù)據(jù)里根本沒(méi)有這個(gè)分區(qū)SELECT * FROM logs WHERE dt2024-01-10永遠(yuǎn)返回空。這不是SQL問(wèn)題是HDFS路徑與Hive元數(shù)據(jù)同步的機(jī)制問(wèn)題。提示在實(shí)驗(yàn)環(huán)境里務(wù)必關(guān)閉Hive的嚴(yán)格模式set hive.mapred.modenonstrict;否則SELECT * FROM logs這種無(wú)where條件的查詢會(huì)被拒絕學(xué)生第一眼就懵了。這不是生產(chǎn)規(guī)范而是教學(xué)友好性。3. Hive建模外部表不是“懶人捷徑”而是數(shù)據(jù)治理的起點(diǎn)很多教程把Hive建表寫(xiě)成一行命令就完事“CREATE EXTERNAL TABLE logs (...) LOCATION /raw_logs;”。這在單機(jī)偽分布式環(huán)境里能跑通但在真實(shí)集群上它埋下了三個(gè)定時(shí)炸彈權(quán)限錯(cuò)亂、路徑漂移、分區(qū)失效。先說(shuō)權(quán)限。HDFS上/raw_logs目錄的owner是hdfs而Hive服務(wù)運(yùn)行用戶是hive。如果用EXTERNAL關(guān)鍵字但不指定OWNERHive元數(shù)據(jù)里記錄的location路徑實(shí)際訪問(wèn)時(shí)會(huì)以hive用戶身份去讀/raw_logs而hive用戶對(duì)hdfs創(chuàng)建的目錄默認(rèn)沒(méi)有read權(quán)限。報(bào)錯(cuò)信息是org.apache.hadoop.security.AccessControlException: Permission denied: userhive, accessREAD, inode/raw_logs:hdfs:hdfs:drwxr-xr-x。解決方案不是暴力chmod 777而是用hdfs dfs -chown hive:hive /raw_logs并確保hive用戶在HDFS的supergroup里。更大的陷阱在路徑設(shè)計(jì)。LOCATION /raw_logs意味著Hive認(rèn)為整個(gè)/raw_logs目錄下的所有文件都是這張表的數(shù)據(jù)。但我們的MapReduce輸出是按天分區(qū)的/raw_logs/dt2024-01-10/、/raw_logs/dt2024-01-11/。如果LOCATION指向根目錄Hive會(huì)把所有子目錄下的文件都掃進(jìn)來(lái)包括PARSE_ERROR目錄里的臟數(shù)據(jù)。正確做法是LOCATION必須精確到分區(qū)目錄的父級(jí)即LOCATION /raw_logs/末尾有斜杠然后通過(guò)ALTER TABLE logs ADD PARTITION (dt2024-01-10) LOCATION /raw_logs/dt2024-01-10/顯式添加每個(gè)分區(qū)。這樣Hive元數(shù)據(jù)里每個(gè)分區(qū)都綁定到唯一的物理路徑避免數(shù)據(jù)污染。建表語(yǔ)句因此變得冗長(zhǎng)但必要-- 第一步創(chuàng)建表結(jié)構(gòu)不指定LOCATION CREATE EXTERNAL TABLE logs ( ip STRING, remote_user STRING, time_local STRING, method STRING, url STRING, status STRING, body_bytes_sent STRING, http_referer STRING, http_user_agent STRING, product_id STRING, ref_source STRING ) PARTITIONED BY (dt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t STORED AS TEXTFILE; -- 第二步為每一天的數(shù)據(jù)添加分區(qū) ALTER TABLE logs ADD PARTITION (dt2024-01-10) LOCATION /raw_logs/dt2024-01-10/; ALTER TABLE logs ADD PARTITION (dt2024-01-11) LOCATION /raw_logs/dt2024-01-11/; -- ... 以此類推 -- 第三步驗(yàn)證分區(qū)是否加載成功 SHOW PARTITIONS logs;這里有個(gè)反直覺(jué)的細(xì)節(jié)ADD PARTITION命令執(zhí)行后Hive并不會(huì)去掃描該路徑下的文件。它只是在元數(shù)據(jù)庫(kù)如MySQL里插入一條記錄。所以即使你ADD PARTITION了SELECT COUNT(*) FROM logs WHERE dt2024-01-10還是0除非該路徑下確實(shí)有符合格式的文件。我們?cè)龅綄W(xué)生把MapReduce輸出文件名寫(xiě)成part-m-00000map任務(wù)輸出而Hive默認(rèn)只認(rèn)part-r-*reduce任務(wù)輸出導(dǎo)致分區(qū)“存在”但數(shù)據(jù)為空。更關(guān)鍵的是字段類型選擇。初學(xué)者常把body_bytes_sent響應(yīng)體字節(jié)數(shù)定義為INT但Nginx日志里這個(gè)值可能是-表示未發(fā)送Hive會(huì)把它轉(zhuǎn)成NULL而INT類型在Hive里是32位有符號(hào)整數(shù)最大值2147483647。真實(shí)電商網(wǎng)站單次響應(yīng)可能超10MB即10,000,000字節(jié)遠(yuǎn)小于INT上限但為了未來(lái)擴(kuò)展性我們定義為BIGINT。同理ip字段不能用STRING簡(jiǎn)單存儲(chǔ)而應(yīng)拆成ip_long BIGINT用CONV(SUBSTR(ip, 1, INSTR(ip, .)-1), 10, 10)等函數(shù)轉(zhuǎn)成數(shù)值方便后續(xù)IP段聚合。但這會(huì)增加ETL復(fù)雜度教學(xué)實(shí)驗(yàn)中我們權(quán)衡后仍用STRING但明確告訴學(xué)生“生產(chǎn)環(huán)境必須轉(zhuǎn)數(shù)值”。最后是數(shù)據(jù)傾斜的預(yù)警。當(dāng)執(zhí)行SELECT ref_source, COUNT(*) FROM logs GROUP BY ref_source時(shí)如果ref_source為null即直接訪問(wèn)的記錄占90%其他來(lái)源各占1%Hive的shuffle階段會(huì)把所有null發(fā)到同一個(gè)reducer導(dǎo)致該reducer內(nèi)存爆滿任務(wù)失敗。解決方案不是調(diào)大hive.exec.reducers.bytes.per.reducer而是用DISTRIBUTE BY打散SELECT ref_source, COUNT(*) FROM (SELECT ref_source, rand() as r FROM logs) t DISTRIBUTE BY r GROUP BY ref_source。但這是進(jìn)階技巧實(shí)驗(yàn)初期我們先用WHERE ref_source IS NOT NULL過(guò)濾掉null保證任務(wù)穩(wěn)定跑通。4. HBase集成RowKey設(shè)計(jì)不是藝術(shù)而是對(duì)查詢模式的逆向工程Hive解決了T1的離線統(tǒng)計(jì)但運(yùn)營(yíng)同學(xué)需要“現(xiàn)在”看到某個(gè)用戶最近5次訪問(wèn)詳情或者“實(shí)時(shí)”監(jiān)控首頁(yè)UV突增。這就輪到HBase登場(chǎng)。但很多實(shí)驗(yàn)到這里就斷了HBase裝好了shell里put能寫(xiě)get能查可一旦換成Java API或R的JDBC就連接超時(shí)、region unavailable、NoNode for /hbase/master。根源不在配置而在數(shù)據(jù)模型與查詢需求的錯(cuò)配。HBase沒(méi)有schema但RowKey就是它的靈魂schema。我們實(shí)驗(yàn)的目標(biāo)查詢有三類單用戶軌跡查詢輸入user_id返回該用戶最近N條行為按時(shí)間倒序時(shí)間段內(nèi)熱門(mén)頁(yè)面查詢輸入start_time,end_time返回訪問(wèn)量Top 10的page_path用戶-商品關(guān)聯(lián)查詢輸入user_id和product_id返回該用戶對(duì)該商品的瀏覽/加購(gòu)/下單次數(shù)。如果按傳統(tǒng)關(guān)系型思維建三張表user_behavior,page_popularity,user_product_action。但HBase的哲學(xué)是“一次寫(xiě)入多次讀取”且讀比寫(xiě)貴得多。所以我們要設(shè)計(jì)一個(gè)RowKey讓這三種查詢都能高效完成。常見(jiàn)錯(cuò)誤方案是user_id timestamp如u123456_20240110142315。這完美支持第1類查詢scan前綴匹配但對(duì)第2類查詢按時(shí)間范圍掃是災(zāi)難timestamp在RowKey末尾HBase的scan只能按字典序20240110142315到20240110152315的區(qū)間會(huì)掃到u123456_20240110142315、u123457_20240110142316……所有用戶的記錄效率比全表掃還低。正確解法是時(shí)間前置 散列后綴。RowKey格式定為ts_day#hash_prefix#user_id#timestamp_ms。例如20240110#u12#u123456#1704896595123。ts_day20240110支持按天范圍scan如20240110到20240111hash_prefixu12取user_id前兩位哈希把同一用戶分散到不同region避免寫(xiě)熱點(diǎn)user_idu123456保證同一用戶數(shù)據(jù)物理相鄰timestamp_ms1704896595123毫秒級(jí)時(shí)間戳倒序排列需在應(yīng)用層反轉(zhuǎn)存Long.MAX_VALUE - timestamp_ms。建表時(shí)必須預(yù)分區(qū)否則所有寫(xiě)請(qǐng)求都打到一個(gè)region# 在hbase shell里執(zhí)行 create user_behavior, {NAME cf, TTL 2592000}, # 30天過(guò)期 {SPLITS [20240101#, 20240110#, 20240120#, 20240201#]}SPLITS數(shù)組里的值是region的startKey。20240101#表示第一個(gè)region負(fù)責(zé)20240101#到20240110#之間的RowKey。這樣按天查詢時(shí)HBase能精準(zhǔn)路由到對(duì)應(yīng)region不用全集群廣播。Java API寫(xiě)入時(shí)最容易踩的坑是Put對(duì)象的addColumn方法。很多示例代碼寫(xiě)put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(url), Bytes.toBytes(url))但url是StringBytes.toBytes(url)會(huì)用平臺(tái)默認(rèn)編碼如GBK而Hive里存的是UTF-8。結(jié)果HBase里查出來(lái)是亂碼。必須顯式指定Bytes.toBytes(url, UTF-8)。更隱蔽的坑在R的JDBC連接。R的RJDBC包默認(rèn)把HBase的BIGINT列如timestamp_ms映射為R的numeric而numeric在R里是雙精度浮點(diǎn)最大安全整數(shù)是2^53-1 ≈ 9e15但毫秒時(shí)間戳1704896595123只有13位看似安全。但當(dāng)timestamp_ms超過(guò)2^53約28萬(wàn)年后就會(huì)精度丟失。雖然實(shí)驗(yàn)用不到但這是個(gè)原則性錯(cuò)誤。正確做法是用dbGetQuery(conn, SELECT CAST(timestamp_ms AS STRING) as ts_str FROM ...)把大整數(shù)當(dāng)字符串讀再在R里用as.numeric()轉(zhuǎn)換——雖然多一步但杜絕了精度風(fēng)險(xiǎn)。注意HBase的TTLTime To Live設(shè)置為2592000秒30天不是為了“自動(dòng)清理”而是教學(xué)實(shí)驗(yàn)的兜底策略。真實(shí)業(yè)務(wù)中TTL是防止數(shù)據(jù)無(wú)限膨脹的保險(xiǎn)絲但絕不能替代業(yè)務(wù)層的數(shù)據(jù)歸檔邏輯。5. R語(yǔ)言分析從JDBC連接到可信可視化跨越數(shù)據(jù)類型的鴻溝當(dāng)Hive和HBase的數(shù)據(jù)準(zhǔn)備就緒R就成了把數(shù)字變成洞見(jiàn)的最后關(guān)卡。但很多學(xué)生卡在第一步library(RJDBC)之后drv - JDBC(org.apache.hive.jdbc.HiveDriver, .../hive-jdbc-3.1.2.jar)就報(bào)錯(cuò)Error: Could not find function JDBC。這不是R沒(méi)裝好而是RJDBC包依賴rJava而rJava需要系統(tǒng)級(jí)Java環(huán)境匹配。在macOS上/usr/libexec/java_home -V顯示多個(gè)JDK版本但R默認(rèn)用的是系統(tǒng)自帶的JDK 1.8而Hive JDBC驅(qū)動(dòng)要求JDK 11。解決方案是啟動(dòng)R前設(shè)置環(huán)境變量export JAVA_HOME$(/usr/libexec/java_home -v 11)再運(yùn)行R。連接串的寫(xiě)法更是玄學(xué)集中營(yíng)。HiveServer2的JDBC URL格式是jdbc:hive2://namenode:10000/default;authnoSasl。其中authnoSasl是關(guān)鍵——很多教程省略它導(dǎo)致連接時(shí)拋GSS initiate failed。這是因?yàn)镠ive默認(rèn)啟用Kerberos認(rèn)證而教學(xué)集群通常沒(méi)配Kerberos必須顯式禁用。更麻煩的是數(shù)據(jù)類型映射。Hive的TIMESTAMP類型在R里通過(guò)JDBC讀出來(lái)class(df$event_time)顯示是POSIXct但時(shí)區(qū)是空導(dǎo)致as.Date(df$event_time)返回錯(cuò)誤日期。必須手動(dòng)指定時(shí)區(qū)df$event_time - with_tz(df$event_time, tzone Asia/Shanghai)。而HBase通過(guò)Phoenix JDBC暴露的表BIGINT列如view_count在R里是numeric但summary(df$view_count)會(huì)顯示Min. : 0.000, Max. : 1.23e12科學(xué)計(jì)數(shù)法掩蓋了真實(shí)整數(shù)。要用format(df$view_count, scientific FALSE)才能看清。真正的挑戰(zhàn)在分析邏輯。實(shí)驗(yàn)要求計(jì)算“用戶跳出率”Bounce Rate定義為只訪問(wèn)一個(gè)頁(yè)面就離開(kāi)的會(huì)話數(shù) / 總會(huì)話數(shù)。這需要識(shí)別會(huì)話Session。Hive里沒(méi)有session_id字段得用ip和time_local聚類。標(biāo)準(zhǔn)做法是按ip分組對(duì)time_local排序計(jì)算相鄰兩行的時(shí)間差若差30分鐘則視為新會(huì)話。Hive SQL可以寫(xiě)SELECT ip, COUNT(*) as session_count, SUM(CASE WHEN page_count 1 THEN 1 ELSE 0 END) as bounce_session FROM ( SELECT ip, session_id, COUNT(*) as page_count FROM ( SELECT ip, time_local, -- 用LAG窗口函數(shù)找上一行時(shí)間 LAG(time_local) OVER (PARTITION BY ip ORDER BY time_local) as prev_time, -- 計(jì)算時(shí)間差秒 UNIX_TIMESTAMP(time_local) - UNIX_TIMESTAMP(LAG(time_local) OVER (PARTITION BY ip ORDER BY time_local)) as diff_sec, -- 標(biāo)記會(huì)話開(kāi)始第一行或diff_sec 1800 CASE WHEN LAG(time_local) OVER (PARTITION BY ip ORDER BY time_local) IS NULL OR UNIX_TIMESTAMP(time_local) - UNIX_TIMESTAMP(LAG(time_local) OVER (PARTITION BY ip ORDER BY time_local)) 1800 THEN 1 ELSE 0 END as new_session_flag, -- 累計(jì)求和生成session_id SUM(CASE WHEN LAG(time_local) OVER (PARTITION BY ip ORDER BY time_local) IS NULL OR UNIX_TIMESTAMP(time_local) - UNIX_TIMESTAMP(LAG(time_local) OVER (PARTITION BY ip ORDER BY time_local)) 1800 THEN 1 ELSE 0 END) OVER (PARTITION BY ip ORDER BY time_local) as session_id FROM logs WHERE dt 2024-01-10 AND dt 2024-01-11 ) t1 GROUP BY ip, session_id ) t2 GROUP BY ip;這段SQL在Hive里執(zhí)行慢得像蝸牛因?yàn)榍短琢巳龑哟翱诤瘮?shù)。教學(xué)實(shí)驗(yàn)中我們改用R在本地處理先把原始日志按ip分組用dplyr::arrange(time_local)排序再用dplyr::mutate(diff_sec as.numeric(difftime(time_local, lag(time_local), units secs)))計(jì)算時(shí)間差最后group_by(ip, session_id cumsum(diff_sec 1800 | is.na(diff_sec)))。R的向量化操作比Hive的MR快一個(gè)數(shù)量級(jí)且邏輯清晰學(xué)生容易調(diào)試??梢暬h(huán)節(jié)ggplot2是標(biāo)配但學(xué)生常犯的錯(cuò)是geom_bar(statcount)直接畫(huà)結(jié)果柱狀圖y軸是計(jì)數(shù)而非百分比。跳出率是比率必須用geom_bar(aes(y ..count../sum(..count..)))。更專業(yè)的是用ggplot2::stat_summary()計(jì)算置信區(qū)間但教學(xué)實(shí)驗(yàn)中我們只要求畫(huà)出ref_source分布的餅圖并標(biāo)注百分比。代碼里geom_text(aes(label paste0(round(100*..count../sum(..count..), 1), %)))paste0拼接字符串round控制小數(shù)位這是R里最基礎(chǔ)也最易錯(cuò)的細(xì)節(jié)。最后所有圖表必須可復(fù)現(xiàn)。我們要求學(xué)生用knitr::opts_chunk$set(echo TRUE, cache TRUE)在R Markdown里嵌入代碼塊并用rmarkdown::render(report.Rmd, html_document)一鍵生成報(bào)告。這樣助教檢查時(shí)只需打開(kāi)HTML點(diǎn)“Run All”就能看到結(jié)果無(wú)需在自己環(huán)境里重裝一堆包。6. 實(shí)驗(yàn)閉環(huán)驗(yàn)證用三個(gè)真實(shí)問(wèn)題檢驗(yàn)?zāi)愕南到y(tǒng)是否“真可用”一個(gè)實(shí)驗(yàn)是否成功不看它能不能跑出結(jié)果而看它能否回答業(yè)務(wù)提出的三個(gè)尖銳問(wèn)題。我們?cè)谧詈笠还?jié)課會(huì)給學(xué)生發(fā)一份“運(yùn)營(yíng)需求清單”要求他們用剛搭建的系統(tǒng)給出答案。這三個(gè)問(wèn)題就是檢驗(yàn)系統(tǒng)是否真正閉環(huán)的試金石問(wèn)題一“昨天首頁(yè)UV是多少比前天漲了還是跌了”這看似簡(jiǎn)單實(shí)則串聯(lián)了全鏈路HDFS上必須有dt2024-01-10和dt2024-01-09兩個(gè)分區(qū)的數(shù)據(jù)Hive表必須已ADD PARTITIONSQL要能正確去重計(jì)數(shù)COUNT(DISTINCT ip)結(jié)果要能導(dǎo)出到CSV供R讀取R要能畫(huà)出對(duì)比柱狀圖。學(xué)生常在這里栽跟頭COUNT(DISTINCT ip)在Hive里是內(nèi)存大戶小集群上會(huì)OOM。解決方案是用approx_count_distinct(ip)近似去重誤差率2%但速度提升10倍。這是生產(chǎn)環(huán)境的常識(shí)但教科書(shū)從不提。問(wèn)題二“用戶從微信公眾號(hào)跳轉(zhuǎn)過(guò)來(lái)的平均停留時(shí)長(zhǎng)是多少和直接訪問(wèn)的比呢”這要求http_referer字段被正確解析。我們故意在日志里混入https://mp.weixin.qq.com/和https://weixin.qq.com/兩種微信域名學(xué)生如果用LIKE %weixin%模糊匹配會(huì)漏掉后者。必須用正則REGEXP mp\\.weixin|weixin\\.qq。更深層停留時(shí)長(zhǎng)需要time_local排序后計(jì)算相鄰行差值這又回到前面的窗口函數(shù)性能問(wèn)題。教學(xué)中我們?cè)试S用R本地計(jì)算但強(qiáng)調(diào)“如果數(shù)據(jù)量到1TB你還敢在R里算嗎”問(wèn)題三“找出最近7天對(duì)‘智能手表’這個(gè)關(guān)鍵詞搜索超過(guò)5次的用戶并列出他們?yōu)g覽過(guò)的所有商品ID?!边@需要HBase和Hive協(xié)同。Hive里url LIKE %search?q%找出搜索行為提取q參數(shù)得到關(guān)鍵詞HBase里用user_id查出該用戶所有行為再關(guān)聯(lián)得到商品ID。學(xué)生第一次做往往把HBase的get操作寫(xiě)在R循環(huán)里對(duì)1000個(gè)用戶發(fā)起1000次RPC超時(shí)崩潰。正確做法是用HBase的Scan配合FilterList一次性掃出所有目標(biāo)用戶的行為再在R里merge。這教會(huì)他們網(wǎng)絡(luò)IO永遠(yuǎn)比內(nèi)存計(jì)算貴。當(dāng)學(xué)生用system.time({ ... })測(cè)出問(wèn)題三的執(zhí)行時(shí)間從120秒降到8秒當(dāng)他們看到自己畫(huà)的漏斗圖里“加購(gòu)→下單”的轉(zhuǎn)化率是12.3%當(dāng)運(yùn)營(yíng)同學(xué)真的用這份報(bào)告調(diào)整了微信廣告投放——這個(gè)實(shí)驗(yàn)才算真正落地。它不再是PPT里的架構(gòu)圖而是能呼吸、能反饋、能驅(qū)動(dòng)決策的活系統(tǒng)。我在實(shí)驗(yàn)室的白板上一直貼著一句話“大數(shù)據(jù)的終點(diǎn)不是報(bào)表而是行動(dòng)?!?這個(gè)實(shí)驗(yàn)的全部意義就在于此。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人操人人插人www| 麻豆av一区二区三区| 亚洲成人在线资源| 人乳av| 九九黄色网| 午夜舔阴达高潮视频免费看| 无码人妻系列少妇| 九九英色视频| 亚洲精品一区二区三区新线路| 国产91精品福利在线| 亚洲资源站| 日韩丝袜高跟制服在线观看| 天美传媒国产原创中文字幕亚洲欧美另类 | 蜜桃精品一区二区三区ww| 超碰成人公开| 欧美人人操人人插| 九九综合久久中文字幕| 人人爱人人乐人人操| 色777999综合| 96精品久久久| 欧美成人国产精品| 91天天综合在线观看| 色九九九综合| 十八禁电影伊人网| 草草草视频| 一区二区三区男人的天堂| 精品九九九九九九九九九| 青娱乐 成人娱乐在线| 99综合免费视频| 乱伦日本色图AⅤ| 精品无码欧美三级| 91成人高清在线观看| 亚洲激情综合另类| 免费国产视频| 国产黄色剧情影片麻豆免费播放| 亚洲图片欧美| 精品午夜福利导航| 午夜性生活av免费在线看| 亚洲色欲天天人妻无码系列专区| 色色色色网站| 亚洲人成色9999精品久久 | 一卡二卡在线播放| 992视频一区| 久久99干一本高清| 美女啊啊啊啊啊啊| 一道α片欧美| 欧美经典一区二区三区| 国产成人无码网站在线视频| 国产亚洲国产超碰| 射丝袜高跟鞋99| 五月天久久婷婷亚洲| 中文97国产| 青娱乐手机日韩在线视频| 久久久久久久久久久久欧美日| daxiangjiao你懂的| 美女丝袜激情小说| 亚洲av资源| 一级性爱视频免费观看 | 最新三级网址| 激情深爱五月天| 91影视亚洲| 天天摸夜夜添无码小视频| 伦理日韩国产久久| 十八禁的黄污污免费网站| 一区二区三区国产在线播放| 午夜小电影在线插入淫高潮| 无码国产Av| 一本大道不卡一二三区| 秋霞福利网| 婷婷月色| 国产五码丝袜屁眼| 91蜜桃传媒精品久久久一区二区| 午夜一区| 欧美精品日韩久久久九| 天天综合色| 天天淫人人妻日日色| 使劲用力艹少妇视频一区二区| 久久人妻无码毛片A片麻豆| 麻豆成人AV| 久久香蕉综合一本到3atv| 97色干| 超碰97最新人妻| 色哟哟av| 日逼视频日本| 亚洲精品天天影视综合网 | 爱妻综合网| 中欧人妻丝袜中文字幕| 玖玖爱免费观看视频| 国产玖玖| 日本97久久| 91久久免费视频互動交流| 免费簧片在线观看| 日韩人妻无码精品系列| 91性感在线| 久久精品国产亚洲AV嘿嘿| 色性综合| 自拍六区| 久久色人体| 欧美狠狠干| 色91综合网| 曰韩少妇无码| 欧美91视频| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 午夜福利av电影在线| 欧美操逼一二三区| 天天综合-91入口| 日韩乱中文 | 国产色图乱伦| 日韩三级一区| 欧美一区二区| a在线观看| 欧美少妇性乱| 免费看日本操逼视频| 欧美色图人妻| 国产人妖视频一区在线观看| 久久亚洲熟妇在线视频| 老司机深夜18禁污污网站| 色哟哟国产精品免费网址| 精品人妻高清麻豆av| 欧美性爱视频免费一区一A| 熟女欧美日韩综合婷婷| 国产又黄又粗的视频| 清纯唯美激情四射| 国产午夜福利电影免费在线观看| 九一综合精品视品av| 99re这里只有精品2| 国产 无码 一区二区| 欧美色日| 9久久精品| 水滴偷拍| 亚洲AV无码天美传媒一区| 青青草国产欧美非洲黑人| 色99色| 春色91| 午夜男人天堂| 国产女人成人精品视频| 国产精品播放| 91色综合色| 人成午夜免费大片| 诱惑网综合| 夜夜爽妓女| 日产欧美电影一区二区三区| 欧美一区二区成人一卡| 亚洲 91 在线| 99色天堂| 成人一二| 大香蕉线| 久操在97| 久久精精区一区二区一蜜桃一区二区| 伊人天天久久动态图| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 精品四五区| 亚洲 欧美 日韩 国产一区二区 | 8050午夜少妇无码| 91伊人| 中文字幕乱碼在线| 强奸乱伦av电影| 少妇精品久久| 人妻熟女一区二区| 亚洲青青青视频在线| 久久精品国产99精品亚洲蜜...| 欧美日本不卡| 蜜桃臀 后入 一区 二区 三区 在线| 色综合V| 亚洲美腿丝袜香蕉影视欧美成人| 丰满精品人妻少妇久久字幕| 天天添天天干电影| AA丁香综合激情| 亚洲精品乱码线路中文字幕| 91狠狠综合久久| 青青草日本中文字幕| 色欲久久综合| 国产精品婬乱一级毛片彝族| 欧美亚洲国产91在线| 久久久久久久综合,国产| 波多野结衣之双飞调教在线播放| 操国产逼| 97超级色碰碰| 一级成人性爱| 我要色综合网| 手机在线大香蕉| 天美传媒av在线| 男人天堂站| www.久久| 欧美丰满熟妇XXXX性ppX人交| 国产精品一区二区手机看片| 殴美性天天| 亚洲。天堂。日本在线观看| 91 亚洲情侣偷拍 久久| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 99热啪啪| 午夜男人一级A片7777| 日本性交操一区二区不卡系列| 男人的天堂久久久| 久久香蕉国产线看观看亚洲女人 | 久九色| 精品人妻一区二区三区蜜桃视频| 精品久久艹| 高跟伊人julia ann| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 国产精品国产精品国产| 午夜经典| 91网站18禁| 午夜啊啊| 色综合天天爱去电影网| 久久97精品久久久久久久不卡| 欧美线天码中字| 久草在| 欧美中字二区| 亚洲天堂美臀在线| 久久精品女同亚洲女同13| 欧美综合 站| 久久九精品| 99后入| 香蕉av一区二区三区| 亚洲情色图片区| 蜜臀亚洲中文| 激情终合网| 婷婷香网站| 中文字幕综合人妻| 欧美第五页| 性欧美91| 91狠狠| 玖玖爱在线视频免费观看| 午夜男女爽爽大片免费观看| 一级日本牲交大片好爽在线看| 无码精品久久久天天影视| 国产强奸乱伦xd| 性在久久久久久| 亚洲精品中文字幕一区在线视频| 丰满人妻一区二区三区| 伊人影院在线理论播放| 二级毛片| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 天天久久久久久| 一本色道综合久久欧美日韩精品| 亚洲国产丝袜熟女av| AAAA欧美日韩| 静品嫩模一区二区| 亚洲国产一级中文综合久久天堂在线免费观看 | 亚洲国产青青| 欧美乱欲| 性在久久久久久| 久久久久国产一区二| 欧美日韩m| 999 久久久| 五月天婷婷社区| 夜草网站| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 天天日天天色| 超碰97最新人妻| 中文字幕国产| 日韩 欧美 视频 在线 一区| 东北女人av| 日韩av电影网站| 天天夜躁日日躁狠狠2002| 92人人操人人| 亚洲和欧美裸体美女双飞视频| 少妇精品久久久八区九区| 国产一级内射高清视频 | 成人情色综合网| 成人小说另类在线| 日本在线一二| 国产三级中文字幕粉嫩 | 亚洲。日韩。欧美| 日本色日夜干| 色婷婷五月综合激情中文字幕| 久久精品视频28| 国产精品久久泡妞网站| 97任你吞精| 欧美大片天天看| 久久系列| 婷婷丁香五月综合| 夜夜爽夜夜操| 超碰人人干| 久湿久久| 97欧美性爱| 97超碰巨乳| 1769国内精品视频| 人妻久热在线| 男人天堂电影院| 色噜噜狠狠色综合日日| 欧美亚洲特P| 免费看日本操逼视频| 综合av影片| 美女熟妇色| 97色插| 国产久久久久久| 色五月婷婷五月天| 久草这里只有精品| 蜜桃臀av在线观看| 欧美日韩传媒| 人妻精品综合中文字幕在线 | 亚洲无线观看久久| 欧美高潮在线| 精品日韩中文在线| 人妻喷水| 久久婷婷精品| 69XX一中文字幕人妻91| 欧美亚洲丝袜美女电影| 免费看黄视频亚洲网站| 歐美性天天| 亚洲精品天堂久久A∨51成人漫| 超碰精品| 成人性爱视频在线看| 天天摸天天舔天天操| 欧美色性爱| 美女网站黄页| 日本一级一级一级一级| 亚洲色图图片| 五十路二区在线| 日韩乱中文| 亚州精品人妻一二三区| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 中文字幕一区二区三区字幕| 久久9精品网站| www激情| 91人妻少妇| 国产精品亚洲四五区在线观看| 国产精品干干干| 曰本特级特黄特色黄色A级网站高清在线免费看 | 久久精品国产亚洲AV无码做| 清纯唯美亚洲另类| 欧美综合色站| 夜间福利片1000无码| 麻豆熟妇乱妇熟色A片在线看| 九九热在线视频| 成人蜜乳小视频网站| 人妻熟女一区二区三区在线| 99热精品在线观看| 日韩精品碰碰| 操逼操2| 性九九九九九九| 天天透伊人| 狠日操| 大粗鳼巴久久久久| 欧亚揄拍偷拍精品视频| 久妇网| 无码 有码 国产18p| 久久97精品久久久久久久不卡| 日本啊啊啊啊啊视频| 动漫爆乳3D奶水一区在线观看| a人欧美综合天堂麻豆| 97神马久久| 国产18精品亚洲精品| 国产内射爽爽大片| 日本久久久精品电影| 97精品国产97久久久久久| 日本免费一级AAA大片器 | 人人操人人色网| 一区二区播放| 人人搡人人肉久久精品| 亚洲熟妇极品| 色婷婷网| 97久久久| 丁香婷婷九月| 超碰成人公开| 91精品微拍福利| 亚州性色| 日本2020一区二区| 极品少妇久久久久| 999色欧美中文字幕| 亚洲色图自拍| 四虎精品一区| 久久 久久国内精品亚洲| 免费观看欧美日韩操逼视频| 国产无套粉嫩白浆在| 370p日韩欧美亚洲精品| a片在线播放| 中文字幕在线观| 夜夜高潮夜夜爽夜夜爱爱一区| 97超碰精品成| 日夜尻逼网| 亚洲天堂日本| 黄久在线| 人妻大香蕉| 欧美精品,四区。五区| 色麻豆AV| 少妇内射视频| 国产精品69久久久久久久| 久久少妇人妻| 欧亚韩国999| 欧美天天在线| aV中文麻| 色妺妺AⅤ| 黄骗免费网站| 精品亚洲一区在线观看| 91东京热男人的天堂| 91大神精品长腿在线观看网站| 欧美精品成人一区二区在线观看 | 极品五月天噜噜| 亚洲天堂男人在线| 九九玖玖精品| 亚洲少妇色图自慰直播| 色拍偷亚洲| 搡老熟女国产1000部| 麻豆色99999| 日韩综合色图| 国产精品国产亚洲区艳妇糸列| 少妇被c 黄 免费观看| 欧美精品69性爱| 免费观看性欧美一级| 国产最新小视频在线播放下载 | 欧美 传媒 麻豆 日韩 偷拍| 欧美影音在线| 99久在线精品99re8蜜桃| 久久综合激情| 欧美天天拍| 久久久久久久久久久久黄色| 哑洲在线| 日婷婷| 人人射人人操人人摸| 色墦五月丁香| 动漫av中文| 日韩欧美三级| 日韩无码操逼片| 亚洲图片欧美在线视频| 日韩 人妻 精品| 色爽——AV| 91亚洲在线| 亚洲精品无码成人久久久99| 天天爱天天韩国日本牛牛牛牛| 97 视频在线| 毛片99-全集电影手机免费观看完整-B029AV | 97超碰中文| 91性片| 18禁精品网站在线看| 9999久久久久| 久久久久人| 男人女人18禁片免费看网站| 精品超碰国产| 91 亚洲情侣偷拍 久久| 免费一二区| 把腿张开老子CAO烂你| 日韩免费人妻色情网站| 欧美中字不卡| 岛国A V在线免费看| 婷婷91| 天天影视射综合网| 九九热AV| 97国产超湿| 成人草草视频| 美國A片| 欧美一二三区四五区| 欧美色性情| 无码自拍SM| 久久妇| 日本操逼视频不卡直接放| 淫妻综合网| 亚州精品人妻一二三区| 国产精品亚洲天堂网址| 91亚洲影院综合| 亚洲狠| 丁香五月婷婷基地| 亚州黄站| 丁香六月婷婷综合| 日本幼女18+| 黄网色一区二区三区四区精品| 日韩欧美偷拍美女视频| 三级AV入口| 久久久婷| 无码精品久久| 色九九九九| 中文字幕日韩精品久久| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 欧美资源| 97超碰美国| 青草综合| 可以看的av| 一区二区三区 丝袜 高跟 美腿 | 影音先锋少妇| 草草草视频在线免费看| 伊人久久综合影院| 九九色综合| 久久久久女教师免费一区| 日韩中文字幕视频在线观看| 91男女| 国产在线视视频有精品| 亚洲精品蜜桃久久久| 成人黑料社久久| 四虎免费在线播放| 98色网| 婷婷色综合欧美日韩| 老女人爆菊| 高清无码久操视频| 9精品久久| 国产超碰| 97爱| 久草草一二三四区久久| 丰满的三级少妇欧美久久久| 美女网站91| 襙一襙| 久操99| 久久精品中文字幕女同| 99热在线观看| 国产精品熟女一区二区三区| 99夜夜操| 一级二级在线观看| 日韩99神马视频片| 成人性爱高清视频免费看| 欧美成97爱| 韩国轻伦国内自拍一区| 色成人Www精品永久观看| 国产乱码久久久| 日韩AV中文字幕电影| 狼狼色丁香久久婷婷综合五月| 91天天美女| 欧美久久草熟女| 黄在线| 神马麻豆福利院 | 啊啊在线| 亚洲乱色视频一区、二区在线| 91人妻素女| 另类天堂| 国产9熟妇视频网站| 日本女厕偷拍| 亚洲激情网一二三四区| 超碰成人公开| 思思热国产高清| 蜜臀一二三区| 五月天久久婷婷亚洲| 婷婷丁香五月激情啪啪| 操婢日韩| 成人午夜高潮av猛片| 午夜操一视频一区| 美女干逼2| 亚洲男人天堂网久久| 婷婷五月天网| 强奸xx国产| 91精品女厕偷拍视频| 蜜臀久久99精品久久久电影| 97色欧洲| 亚洲第一男人天堂| 97se综合| 天堂网 主播 亚洲| 91天射| 天天综合网久久ww| 97视频观看| 五月丁香六月婷| 欧美刺激色黄片免费看| 秋霞影音一区二区三区| 日韩激情小说一区二区| 日韩福利综合一区| 97超碰人人模人人拍人人| 精品美女少妇一区二区| 91视频女生| 色悠久久久av| 久久机热| asc国产精品| 欧美与日韩97| 热热色国产一二区AV| 欧美色图人妻| 91碰碰| 2019亚洲男人天堂| 97草草| 亚洲中文字幕一区| 欧美人妻一区二区| 亚洲黄色| 国产高清自拍视频| 日韩 国产 欧美自拍| 水多多映视AV| 亚洲一区操| 欧美人人曰人人操人人射射| 国产最新小视频在线播放下载| 国产精品一区av在线| 在线播放免费av福利片| 亚洲国产精品无码AV在线| 久久夜黄色无码A级大片| 国产女人操逼视频| 黄色av一区二区在线| 9色在线| 白嫩嫩一区| 91网亚洲| 欧美人妻另类在线| 精品国产乱码久久久A| 99re免费| 一级片在线观看高清无码| 久久成人午夜精品影院| 日韩成人大片一区二区| 98一区二区精品| 欧美色图亚洲特色| 国产精品动态一区二区三区四四| 人人妻人人爽| 91亚洲色人| 超碰成人国产| AV一二区| 久9综合在线| 热99这里有精品综合久久| 亚洲综合电影| 精品国产人成在线| 小泽玛利亚一二三| 在线一区| 91bbb| 黄页网站免费高清在线观看| 激情综合五月| 91精品婷婷国产综合久久竹菊| 蜜臀99久久精品久久久久久| 欧美极品美女aaaaaa级黄片| 日韩成人性爱电影在线播放| 精品无码一区二区| 神马九九九| 1000部熟女视频在线观看| 精品v日韩欧美国产| 美女人妻色网站| 日韩国产九九精品一区二区三区毛片| 男人在线天堂| 麻豆国产96在线| 日韩精品人妻系列无码天堂| 又黄又硬又粗又长国产视频| 成人av福利在线观看| 99在线观看| 亚洲色资源| 亚洲精品久久久久毛片A片拉屎| h无码动漫在线观看| 淫色网综合| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 99日韩| 日本久久综合| 国产精品成人AV片免费看网站| 性爱1区| 97国产色图 | 青青草视频久久久久| 人妻少妇精品久久久久久| 亚洲精品人妻在线| 大吊色| 白丝一区| 成人五月香网在线| 欧美综合网站999| 国产一区自拍欧美日韩| 久操高青| 久久久精品网站| 五月激情影院| 国产精品农村妇女精品| 免费人成?大片在线播放| 亚洲色入欧美| 18禁免费视频| 97国产天堂岛| 久久精品欧美一区二区三区不卡| 久久婷婷在线观看视频| 国产操逼网站亚洲一级黄色| 97色五月天完| 亚洲人妻在线精品| 美女露胸露尿口| 欧美人黑A片无码免视费| www.狠狠干.coom| 诱惑网综合| 青青草九九九九九| 秋霞午夜成人福利片片| 欧美亚男人的天堂| 无码人妻精品一区二区三区99不卡 | 人妻人人澡人人爽人人| 精品无码久久久久久国产浪潮| 国产传媒日本欧美专区| 国产三级资源在线观看| 精品美女少妇一区二区三区| 啪啪AV导航| 爱丝福利| 人妻少妇精品一区二区三区| 国产白丝精品在线观看| 国产男女无套97| 欧美亚洲一级在线观看| 97欧美色综合| 色情综合网| 激情五月天中文字幕色| 日韩av色图综合| 伊人影院综合是一个与深夜成人在线| 人妻少妇精品无码专区二区密桃| 国产这里只有精品| 五月天激情小说| 欧亚日韩中文在线| 欧美性暴力猛交XXXX| 丰满人妻无码一区二区三区| 国产少妇内射| 亚洲天堂综合AV| 免费少妇一区二区| 啊啊啊 在线| 亚洲熟妇图片| 日美免费黄片| 97爱综合| 视频在线中文字幕| 久久国产精品一级二级三级| 成人av影院在线观看| 久久大香蕉97| 久超超碰| 丁香五月影院| 精品亚洲国产成人精品| 久久无码精品| 伦理日韩国产久久| 色噜噜国产在线| 久久久久九九九| J?P?NESEHD熟女熟妇伦| 成人夜夜| 日韩精品第3页| 久热免费视频| 日本欧美一区二区三区免费| 日本一区二区三区四区五区六区七区八区九区| 亚洲精品欧洲精品| 五月综合视频| 中国国国产一级特黄毛片| 国产色图乱伦| 亚洲图片视频小说| 一区二区国产视频在线观看| 青青草原人妻| 色色婷婷丁香| 国产精品制服丝袜清纯唯美| 国产强奸无码乱伦| 91欧美www| 98福利在线视频| 欧美爆操91| 天美传媒国产原创中文字幕亚洲欧美另类 | 欧美色吧综合| 亚洲国产青青| 美女91在线观看| 粉嫩国产精品久久粉嫩| 日本中文字幕在线电影| 三级网色| 久久精品中文字幕观看| 国产精品乱码久久| 9精品久久久久| 欧美专区17页| 啊嗯嗯啊好大好爽| 国产精品丝袜久久亚洲不卡| 成人精品视频一区二区| 色综合一区二区三巨| 婷婷激情五月综合| 久久婷婷亚洲| 你懂得91| 国产超碰人人操| 成人日本视频人妻在线| 91精品人妻电影| 亚洲人妻中文高清| 久久九九视频九九视频| 久久久久久日韩| 国产在线视频二区| 国产精品爱欲| 在线观看无码三级少妇| 99久久久久久亚洲精品不卡| 99婷婷一区二区| 日韩一级性爱无码| 操逼视频国产无套| 最新日日夜夜天天干干| 中文字幕AV乱伦| 正在播放国产精品一区| 变态乱伦伪娘灌肠一区二区| 亚洲色图尤物视频| 色综合天天| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 色香在线| 天天爱综合网| 四虎精品永久在线观看| 欧美亚洲今日在线| 亚洲一区二区在线观看91| 人妻精品视频一区二区三区 | 国产少妇高潮| 超碰欧美97资源| 97鸡把在线视频| 97精品免费| 一本色道综合久久欧美| 能在线播放的国产三级| 女人爽到高潮潮喷18禁网站| 99欧美| 中文字幕55555| 国产偷人妻精品一区二区在线| 视频在线中文字幕| 密臀在线一区尤物| 一级性爱视频免费观看| 狠狠色狠狠色狠狠五月| 操碰91| 东京热一区二区三区四区五区六区| 求求你操操我| 超碰在线成人电影| 午夜精品久久一区二区| 2017人人操,人人摸| 九九无码视频| 动漫片子网站3黄| 欧美精品久久| 欧美综合另类| 美女午夜福利免费视频| 五月天婷婷成人网| 日日干男人的天堂| 日韩情色一区二区| 久久91视频| 人妻AV 中文字幕的| 欧美中文狠| 欧美 亚洲| 日逼视频日本| 欧美极品少妇交| 69久久久久久久久久久久久| 亚洲高潮影院| 国产女人高潮嗷嗷嗷叫小说| 色综合天天| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 伦在线97| 精品99999| 亚洲综合中文字幕有码| 欧美色图亚洲特色| 日韩欧美女求操每天更新| 久草免费福利在线播放| 天天操女人| 久久亚洲一区二区色婷婷| 欧美伊人久久综合网| 好吊妞转入那个网| 热的中文 热的有码 热的国产| 九九九九九精品视频| 日韩中文字幕视频| 五月综合久久| 亚洲熟妇AV日韩熟妇在线| 亚洲国产精品成人综合| 九九九九九九九精品视频| 美国三级日本三级久久99| 热无码中文亚洲H一道本一区二区| 欧美男人一区| 国产伊人精品在线| 操我无码| 啊嗯嗯啊好大好爽| 国产女人高潮嗷嗷嗷叫小说| 九一综合精品视品av| 综合色91| 丁香六月婷| 精品国产乱码久久久久久久| 精品黑人一区二区| 性九九九九九九| 欧美色性爱| 小骚逼被操的爽不爽| 一本色道久久天天射天天干| 青青操97| 99婷婷一区二区| 欧美 中文字幕 一区| 91人妻在线视频| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美亚洲高清晰| 啊啊啊啊啊啊啊啊啊在线观看| 看免费的黄片| 91最新综合| 超碰在线人妻中文字幕| 日韩av熟女一区二区三区成人| 亚洲国产97| 欧美不卡在线美女| 日本熟妇浓毛hdsex| 午夜精品99久久久久传媒| 屁股久久久久久| 九九毛片这里只有精品| 日韩国产精品人妻无码久久久| 嗯嗯嗯嗯啊啊啊好紧好大| 国产v亚洲v日韩v欧美v片另类| 久久99国产综合精品女同| 日本成人免费一区二区三区| 伊人精品视频| 天堂中文资源在线bt| 国产少妇内射| 日韩精品国产精品五码一区二区| 久久91| 色五月天AV| 亚洲系列第一页| 清纯唯美亚洲另类| 天天欧美色| 蜜乳视频网站| 2020中文字幕在线| 亚洲 日韩 欧美 国产综合体| 久久久久久九九九九| 蜜桃视频精品一区二区三区| 久久亚洲欧美中文字幕国语| 美女爽爽爽刺痛洞洞| 五月丁香啪啪啪| 国语对白露脸XXXXXX| 97视频900| 午夜丁香婷婷| 亚洲国产成人7777| 青青草一区二区三区四| 99热免费| 亚洲成人精品在线一区| 欧美性天天影院| 婷婷五月天激情网| 在线观看高清AV| aV中文麻| 亚洲情色电影网| 十八禁的黄污污免费网站| 日韩有码中文字幕女同性恋| 久久久久久久久久久久久久久乱码| 欧美另类综合久久| 日韩射精| 日日干夜夜骑| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久久9 9 9精品| 九九九九九九亚洲| 粉嫩绯色AV一区二区在线| 国产精品点击进入在线影院高清| 97爱碰| 素人美腿视频网站| a在线视频免费观看| 四虎午夜影院| 99热成人| 性开放中文AV高清无码免费看| 精品午夜福利| 日本一级不卡一二区| 精品久久久久黄少妇| 99热精品在线播放| 国产91乱伦| 色综合av综合久久| 中文字幕第二页| 成人欧美日超碰| 内射中出日韩在线观看视频| 日韩无码专区| 伊人影院综合是一个与深夜成人在线| 思思久热在线精品66| 欧美日韩欧美| www.acm成人黄色毛片| 自拍视频大全亚洲专媒视频/一区二区三区| 色综合色色| 日本精品高清一二区一本到| 中文字幕乱码人妻二区三区| 少妇久久久| 日日躁夜夜躁狠狠躁超爽| 欧美色图97| 国产性爱欧美性爱在线| 97这里都是精品| 精品人妻1237| 男人天堂婷婷五月天校园春色| 国产AV久久久蜜爱影集| 91快色色色色色| 亚洲精品三区在线观看| 精品日韩人妻视频| 伊人操| 91人妻人人澡人人爽人人精品| 日韩干B| 中文字幕少妇色| 色悠久久久av| 99久久精品国产高潮| 91在线欧美| 午夜AV污污污| 少妇毛片久久| 欧美一级色| 男人高清无码一区二区| 超碰人妻久久人妻中文97| 国产精品福利视频| 丰满人妻一区二区三区四区| 9美女超碰在线免费观看| 亚洲AV色图一区| 91视频女生| 91天天爽| 三级色影综合网| 亚洲精品少妇| 99婷婷一区二区| 综合久久久久久久久91| 操B视频日韩无码| 隔壁邻居波多野结衣中文字幕| 老熟女搡BBBB搡BBBB视频| 国内精品久久人妻性色av| 蜜乳AV.COM| 中国乱伦一区二区| 极品色www影院| 国内外色色色色色成人视频| 97天天摸天天碰| 中文字幕一二三区| 丝袜无码a片| 一区二区亚州激情久婷婷欧美| 黄色高清无码无码破解免费暗网| 国产AV高清AV无码| 调教熟妇 久久久久久| 亭亭丁香激情| 久草草一二三四区久久| 天天综合,91入口| 久久久亚洲| 91精品久久久久五月天精品| 91操人| 亚洲熟妇自偷自拍另欧美| 亚洲综合113页| 亚州国产成人精品女人久久| 99少妇| 人妻啪| 99热伊人| 久久欧洲| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产AB视频| 高清无码学生妹高潮| 人人妻人人爱人人玩| 欧美Aⅴ| 欧美成人性爱视频大全| 97香焦色区| 97精品中文字幕| 啊啊啊网站| 黄片色区软件| 久久侵犯人妻爽爽爽| 91路www| 极品另类| 最新日韩黄片| 天天享受天天看| 91精品丝袜久久久久久| 波多野结衣被操50分钟免费视频 | 精品无人区麻豆乱码1区2区图片| 青娱乐淫乱1314| 簧片免费看视频| 欧州激情视频在线一区二区| 欧亚三区动漫| 无码WWW免费视频网站| 玖玖综合.com| 不卡六六在线91| 思思热在线视频免费| 色婷婷小说| 2019午夜福利视频| 熟女激情综合网| 丁香五月婷婷基地| 黄久在线| 黄色电影在线播放综合网站| 91neishe| 久久久一区二区三区麻豆| 曰韩操B| 色哟哟-国产专区| 色臀AV| 伊人久久婷婷| 玖玖爱伊人玖玖爱| 国产亚洲精品美女久久久| av天天在线观看| 亚州黄站| 美女黄频a美女大全免费皮| 老师充足的奶水小说| 啪啪自拍九九综合| 精品人妻美妇91job| 九七毛片九九毛片| 国产乱伦亚洲| 大吊色| 内射老妇BBWX0C0CK| 精品国产一区二区久久| 欧美天天综合在线| 久99热| 久久三区四区| 成人日韩欧美| 99少妇| 99综合视频一体| 欧亚 另类 久| 99自拍视频在线观看| 国产精品一二三| 黄aaaaaaaaaaaaaaaaaa色网站| 久久九操在线观看| 亚洲最大的黄色电影网站。| 激情小说在线视频| 亚洲天堂性爱| 三上悠亚在线毛片91| 九九热免费国产视频婷婷伊人| 大香蕉综合网| 人人妻人人操人人乐| AAAA级日本片免费视频| 日本天堂网| 国产丝袜欧美在线视频| a人欧美综合天堂麻豆| 国产一级高跟丝袜| 超碰97欧美日韩| 欧美白嫩在线放| 中日韩久久久| 18一区二区三区| 男人天堂导航| 五月激情小说| 久久老女人| 美女的肌被草喷水视频| 亚洲乱色熟女一区| 99热日| 中文激情网| 蜜臀久久99精品久久久久久无删减 | 色在线视频导航| 少妇与黑人高潮在线| 日韩中文字幕人妻视频| 伊人久日| 久久久草成人网站久久久草成人久久久草久久久| 91欧美网| 亚洲永久永久永久永久一级一级一级精品| 性爱乱伦视频免费| 丝袜视频网国产90| 亚洲欧美大香蕉| 美国黄片aaa| 天天干夜夜| 亚洲AV无码天美传媒一区| 大香蕉免费3| 夫妻AV网站| 91人妻视频在线| 十八禁的黄污污免费网站| 强乱老妇中文字幕| 欧美亚男人的天堂| 日本五十路熟女一区二区| 91色插| 久操在97| 欧美性天天影视| 黄片免费看的| 中日韓欧美高清| 久久久禁| 麻豆天美电影一区二区| 先锋色眉乱伦资源| 日本506070| 嫩草黄页| 青青草亚洲一区| 日韩免费性爱视频在线观看| aaa亚无码专区| 大香蕉一人| 今日头条成人一区二区三区四虎精品| 久久久免费一级黄片| 黄色免费网| 水滴偷拍| 久久久91福利姬| 国产亚卅97| 性站| 欧美日韩操逼嗦吊| 眼镜人妻101.com| 美女91在线| 欧美黑人168页欧美黑人167| 中文字幕版| 亚洲人妻一区二区三区| 国产欧美日韩精品中文| 国模无码人体一区二区三| 超碰久超碰久| 激情内射| 国产精品久久久久久久久久久久久久久久 | 欧美日韩不卡a片| 91精品又粗又猛又爽| 亚洲,日韩,欧美,成人播放 | 99热欧美| 亚欧日韩成人| 欧美日韩大香蕉| 东京热天堂网| 超碰97久| 伊人久日| 超碰免费欧美7| 夜夜狠狠躁日日躁色视频| 蜜臀久久99精品久久久老,,| 久操不卡视频| 亚洲无码一二三区| 蜜乳Av成人片网站| 成年女人黄网站| 亚洲国产一区二区三区在线| 91Chinese在线| 免费一级毛片在线视频观看| 丰满人妻无码一区二区三区| 国产二区三区免费视频| 久久久久久久唑| 熟妇人妻丰满久久久久久久无码| 国产亚热在线久久| 亚洲青青草| 精人妻无码一区二区三区伊人直播| 超碰1024久久| 欧美性色综合网| 日本97久久久精品| 欧美爆操91| 欧美高潮在线| 精产国品一区二三产品| 肥臀熟女福利视频一区二区| 欧美 亚洲 制服 精品| 久久久艹艹艹| 日韩精品三区四区| 大香蕉伊人亚洲| 国产自产91区13区| 99re69综合| 久久久久久久久久久久久久久久9| 激情亚洲天堂| 免费成人在线熟妇网| 青青草玖玖爱| 国产蜜臀在线| 超碰色97| 日韩三级伊人| 中文字幕精品一区二| 高清无码一区二区三区| 日韩免费大片一级播放| 日本国产欧美高清在线|