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

ARTICLE DETAIL

資訊詳情

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

基于Spark的氣象數(shù)據(jù)處理與分析:從爬蟲到可視化完整實(shí)踐

基于Spark的氣象數(shù)據(jù)處理與分析:從爬蟲到可視化完整實(shí)踐 簡(jiǎn)介面向大數(shù)據(jù)期末課設(shè)的Spark氣象數(shù)據(jù)處理與分析完整報(bào)告適合需要完成Spark實(shí)戰(zhàn)項(xiàng)目、掌握氣象數(shù)據(jù)分析全流程的大數(shù)據(jù)專業(yè)學(xué)生參考。項(xiàng)目基于中央氣象臺(tái)2412個(gè)城市、57888條真實(shí)天氣數(shù)據(jù)完整呈現(xiàn)從JSON異步數(shù)據(jù)爬取、CSV存儲(chǔ)、Spark DataFrame清洗聚合到matplotlib可視化的實(shí)現(xiàn)過程并給出省份、城市、天氣三級(jí)接口的解析思路與爬蟲源代碼。報(bào)告按課程設(shè)計(jì)標(biāo)準(zhǔn)撰寫章節(jié)涵蓋項(xiàng)目背景、實(shí)驗(yàn)環(huán)境、數(shù)據(jù)來源、數(shù)據(jù)獲取、數(shù)據(jù)分析與可視化其中重點(diǎn)演示了分組聚合、缺失異常值處理、窗口函數(shù)等Spark常用操作可作為課程報(bào)告或答辯展示的實(shí)用模板。內(nèi)含1個(gè)docx文檔744KB已有13405人學(xué)習(xí)適合大數(shù)據(jù)入門者對(duì)照演練。1. 基于Spark的氣象數(shù)據(jù)處理與分析一份能直接復(fù)用的大數(shù)據(jù)期末課設(shè)每年期末總有同學(xué)卡在同一個(gè)問題上Spark課設(shè)到底做什么才能既體現(xiàn)技術(shù)含量又能在兩周內(nèi)跑完這份基于Spark的氣象數(shù)據(jù)處理與分析課設(shè)項(xiàng)目走的就是一條非常務(wù)實(shí)的路線——爬取全國(guó)2412個(gè)城市、57888條整點(diǎn)天氣數(shù)據(jù)用Spark SQL完成24小時(shí)累計(jì)雨量和日均氣溫的聚合計(jì)算再用matplotlib把結(jié)果畫出來。整套流程覆蓋了數(shù)據(jù)獲取、清洗、分析、可視化四個(gè)環(huán)節(jié)技術(shù)棧就是Spark DataFrame API加Python沒有繞圈子也沒有堆砌高深算法。適合大數(shù)據(jù)專業(yè)期末課設(shè)、Spark入門實(shí)戰(zhàn)以及想了解“用Spark做氣象數(shù)據(jù)處理”完整鏈路的人。下文我按實(shí)際落地順序把環(huán)境、爬蟲、預(yù)處理、分析和踩坑點(diǎn)逐一拆開講。2. 環(huán)境與數(shù)據(jù)獲取從三級(jí)URL到57888條天氣數(shù)據(jù)的爬取鏈路2.1 實(shí)驗(yàn)環(huán)境選型與組件安裝這個(gè)課設(shè)的實(shí)驗(yàn)環(huán)境是一個(gè)典型的單機(jī)Spark開發(fā)環(huán)境不需要搭建集群。我復(fù)現(xiàn)時(shí)使用的組件版本如下表所示組件版本說明LinuxUbuntu 16.04課設(shè)報(bào)告中指定的操作系統(tǒng)Python3.9用于爬蟲、Spark任務(wù)和可視化Spark2.4.0計(jì)算引擎跑在local模式下Jupyter Notebook最新版交互式調(diào)試DataFrame和繪圖有一點(diǎn)值得注意Spark 2.4.0與Python 3.9的組合在實(shí)際使用中會(huì)有兼容性警告網(wǎng)上很多資料說Spark 2.4.0不支持Python 3.8以上的版本實(shí)際跑起來Spark SQL基礎(chǔ)功能問題不大但如果你用到pandas UDF或新的API建議直接換Spark 3.x。課設(shè)場(chǎng)景下沿用2.4.0沒有問題只要?jiǎng)e在它上面做太新奇的特性就行。裝完Spark和Jupyter之后還需要給Python補(bǔ)上可視化的依賴sudo apt-get install python3-matplotlib sudo apt-get install python3-tkpython3-matplotlib是繪圖庫本體python3-tk是matplotlib在本地窗口顯示圖表時(shí)需要的Tkinter后端。如果你用的是無顯示器的服務(wù)器還應(yīng)在代碼開頭加上matplotlib.use(Agg)否則繪圖時(shí)找不到顯示設(shè)備會(huì)直接報(bào)錯(cuò)。Ubuntu 16.04的apt源里自帶這兩個(gè)包優(yōu)先用它裝比pip裝更省事。2.2 三級(jí)URL接口設(shè)計(jì)先拿省份再拿城市最后拿天氣氣象數(shù)據(jù)的來源是某公開氣象服務(wù)站點(diǎn)。通過瀏覽器開發(fā)者工具觀察網(wǎng)絡(luò)請(qǐng)求能發(fā)現(xiàn)數(shù)據(jù)不是渲染在HTML頁面里的而是通過異步請(qǐng)求直接返回JSON字符串。核心的請(qǐng)求路徑可以歸納為下面三條層級(jí)請(qǐng)求路徑返回內(nèi)容省份列表/f/rest/province省份名稱與省份三位編碼城市列表/f/rest/province/{省份三位編碼}該省所有城市的名稱與城市編號(hào)整點(diǎn)天氣/f/rest/passed/{城市編號(hào)}該城市最近24小時(shí)整點(diǎn)天氣數(shù)組三級(jí)接口是典型的嵌套依賴關(guān)系省份編碼必須從第一級(jí)接口的返回里取城市編號(hào)必須從第二級(jí)接口的返回里取第三級(jí)接口才能拿到真正的氣象數(shù)據(jù)。比如某個(gè)省在省份接口里的編碼是“ABC”請(qǐng)求城市列表時(shí)要帶上這個(gè)編碼返回的城市數(shù)據(jù)里又有類似“58847”的城市編號(hào)把它拼到第三級(jí)URL末尾才能拿到該城市24小時(shí)整點(diǎn)數(shù)據(jù)。爬蟲就是要順著這條鏈子把全國(guó)城市依次走一遍。2.3 爬蟲代碼實(shí)現(xiàn)與CSV分段落盤爬蟲部分原課設(shè)報(bào)告用的是Python 2時(shí)期的urllib3.Request寫法但urllib3庫里并沒有Request類直接跑會(huì)報(bào)AttributeError。我改成Python 3標(biāo)準(zhǔn)庫的urllib.request邏輯保持一致import urllib.request import json import csv import codecs import os import time class WeatherCrawler: def __init__(self, base_url): self.base_url base_url def fetch_json(self, path): url self.base_url path req urllib.request.Request(url, headers{User-Agent: Mozilla/5.0}) with urllib.request.urlopen(req, timeout10) as resp: return json.loads(resp.read().decode(utf-8)) def write_csv(self, file_name, rows, write_headerFalse): if not rows: return with open(file_name, ab) as f: f.write(codecs.BOM_UTF8) writer csv.DictWriter(f, fieldnamesrows[0].keys()) if write_header: writer.writeheader() writer.writerows(rows)fetch_json里設(shè)置了User-Agent請(qǐng)求頭避免站點(diǎn)拒絕默認(rèn)的Python urllib請(qǐng)求。timeout10是超時(shí)控制防止某個(gè)城市接口卡住導(dǎo)致整個(gè)爬蟲掛起。write_csv里寫入codecs.BOM_UTF8是為了讓Excel直接打開CSV時(shí)中文不亂碼write_header參數(shù)控制是否寫表頭因?yàn)榉侄温浔P時(shí)只有第一個(gè)文件塊需要寫表頭。下面是三級(jí)數(shù)據(jù)獲取的完整調(diào)度邏輯def get_provinces(self): if os.path.exists(input/province.csv): return self.read_csv(input/province.csv) provinces self.fetch_json(/f/rest/province) self.write_csv(input/province.csv, provinces, write_headerTrue) return provinces def get_cities(self): if os.path.exists(input/city.csv): return self.read_csv(input/city.csv) cities [] for province in self.get_provinces(): code province[url].split(/)[-1].split(.)[0] cities.extend(self.fetch_json(/f/rest/province/ code)) time.sleep(1) self.write_csv(input/city.csv, cities, write_headerTrue) return cities def get_passed_weather(self): cities self.get_cities() passed_weather [] count 0 for city in cities: data self.fetch_json(/f/rest/passed/ city[code]) if data: count 1 for item in data: item[city_code] city[code] item[province] city[province] item[city_name] city[city] item[city_index] str(count) passed_weather.extend(data) time.sleep(1) if count % 50 0 and count 0: self.write_csv(input/passed_weather_ALL.csv, passed_weather, write_header(count 50)) passed_weather [] if passed_weather: self.write_csv(input/passed_weather_ALL.csv, passed_weather, write_header(count 50))這段代碼有兩個(gè)關(guān)鍵設(shè)計(jì)。第一個(gè)是冪等province.csv和city.csv已存在時(shí)直接讀取全量天氣數(shù)據(jù)已經(jīng)落盤后重新運(yùn)行也不會(huì)重復(fù)爬取想刷新數(shù)據(jù)就手動(dòng)刪掉這三個(gè)文件。第二個(gè)是每爬50個(gè)城市就落盤一次——全國(guó)2412個(gè)城市每條數(shù)據(jù)有多個(gè)整點(diǎn)記錄如果全部堆在內(nèi)存里等到最后再一次性寫文件爬半小時(shí)內(nèi)存早就爆了。分段寫入之后即使中間某個(gè)城市請(qǐng)求超時(shí)導(dǎo)致中斷已爬的部分也不會(huì)丟。3. Spark SQL數(shù)據(jù)預(yù)處理Schema推斷、類型轉(zhuǎn)換與異常過濾3.1 SparkSession初始化與CSV讀取數(shù)據(jù)爬下來之后下一步就是用Spark讀進(jìn)來。這里用的是Spark SQL中的DataFrame API而不是RDD——DataFrame有類型信息SQL風(fēng)格表達(dá)清晰而且Spark默認(rèn)的Catalyst優(yōu)化器會(huì)自動(dòng)優(yōu)化執(zhí)行計(jì)劃對(duì)課設(shè)這種量級(jí)的數(shù)據(jù)完全夠用。from pyspark.sql import SparkSession spark SparkSession.builder \ .appName(WeatherAnalysis) \ .master(local[4]) \ .getOrCreate() df spark.read.csv( input/passed_weather_ALL.csv, headerTrue, inferSchemaTrue )master(local[4])表示本地模式用4個(gè)線程并行執(zhí)行對(duì)六萬條數(shù)據(jù)來說綽綽有余。headerTrue把CSV第一行作為列名inferSchemaTrue讓Spark掃描數(shù)據(jù)后自動(dòng)推斷每一列的類型。這樣temperature和rain1h會(huì)被識(shí)別成double后續(xù)做數(shù)值計(jì)算不用手動(dòng)轉(zhuǎn)換。但inferSchema有一個(gè)坑如果CSV某列的前面一部分行是缺失值或非數(shù)字字符串Spark可能把整列推斷成string后面用比較運(yùn)算符直接報(bào)錯(cuò)。穩(wěn)妥的做法是在讀取后打印Schema檢查一遍df.printSchema() df.show(5, truncateFalse)printSchema()輸出的每一行格式是“列名 類型”一眼就能看出有沒有推斷錯(cuò)誤。show(5, truncateFalse)則是查看前5條原始數(shù)據(jù)truncateFalse確保長(zhǎng)字段不會(huì)被截?cái)喾奖阒苯佑^察time字段的格式。3.2 字段選擇與數(shù)值類型轉(zhuǎn)換原課設(shè)報(bào)告里有一個(gè)很容易被忽略的細(xì)節(jié)CSV經(jīng)過Python爬蟲寫出后即使Spark用inferSchema讀入某些列的類型仍是字符串。更穩(wěn)妥的做法是在分析前顯式做一次類型轉(zhuǎn)換把注意力集中在真正需要的列上from pyspark.sql.functions import col df_rain df.select( province, city_name, city_code, rain1h ).filter( col(rain1h).cast(double) 1000 )select只取四個(gè)字段把數(shù)據(jù)寬度壓縮到最小col(rain1h).cast(double)強(qiáng)制把降雨量轉(zhuǎn)成數(shù)值型這樣即使某一行是空字符串也不會(huì)讓整個(gè)作業(yè)報(bào)錯(cuò)而是轉(zhuǎn)為null。過濾條件 1000是排除異常值——正常城市24小時(shí)累計(jì)降雨量不可能超過1000毫米一旦出現(xiàn)這種記錄基本是站點(diǎn)數(shù)據(jù)采集故障或爬取時(shí)拿到的臟數(shù)據(jù)。3.3 時(shí)間字段解析與溫度數(shù)據(jù)準(zhǔn)備溫度分析需要把time字段拆成“日期”和“小時(shí)”兩部分這就要用到pyspark.sql.functions里的兩個(gè)函數(shù)from pyspark.sql.functions import date_format, hour df_temp df.select( province, city_name, city_code, temperature, time ).withColumn( date, date_format(col(time), yyyy-MM-dd) ).withColumn( hour, hour(col(time)) )date_format(col(time), yyyy-MM-dd)從時(shí)間戳里截取日期部分hour(col(time))提取小時(shí)數(shù)值。這里的前提是CSV里time字段能被Spark識(shí)別為時(shí)間類型。如果Spark讀進(jìn)來之后time是字符串這兩個(gè)函數(shù)會(huì)返回null。遇到這種情況先看原始數(shù)據(jù)的time字段格式再?zèng)Q定是加一個(gè)to_timestamp(col(time), yyyy-MM-dd HH:mm:ss)轉(zhuǎn)換還是直接用字符串截取函數(shù)處理。整個(gè)預(yù)處理階段的目標(biāo)就是得到兩張干凈的中間表一張是帶rain1h數(shù)值的df_rain一張是帶date和hour字段的df_temp。兩張都是懶加載的DataFrame真正觸發(fā)計(jì)算的是后續(xù)的groupBy聚合操作。4. 兩個(gè)核心分析任務(wù)24小時(shí)累計(jì)雨量與四時(shí)次日均氣溫4.1 累計(jì)降雨量分析groupBy、agg與全局排序降雨量分析的思路很直接按省份和城市分組對(duì)rain1h字段求和得到每個(gè)城市過去24小時(shí)的累計(jì)雨量然后降序排列取Top-N。Spark代碼是這樣的df_rain_sum df_rain.groupBy( province, city_name, city_code ).agg( {rain1h: sum} ).withColumnRenamed( sum(rain1h), rain24h ).sort( col(rain24h).desc() )agg({rain1h: sum})是傳入字典的寫法鍵是列名值是聚合函數(shù)結(jié)果列名自動(dòng)生成為sum(rain1h)所以緊接著用withColumnRenamed重命名成rain24h后面引用起來更直觀。.sort(col(rain24h).desc())是分布式環(huán)境下的全局排序Spark會(huì)做一次shuffle把所有分區(qū)數(shù)據(jù)按雨量倒排對(duì)2400多個(gè)城市的數(shù)據(jù)量來說代價(jià)很小。排序之后head(10)可以直接取到雨量最大的十個(gè)城市這個(gè)動(dòng)作會(huì)觸發(fā)Spark真正執(zhí)行前面的所有轉(zhuǎn)換步驟top_rain df_rain_sum.head(10) for row in top_rain: print(row[city_name], row[rain24h])注意head(10)返回的是一個(gè)Row對(duì)象列表每個(gè)Row就像是Python里的字典用row[列名]取值。這一步執(zhí)行時(shí)Spark會(huì)把懶加載的整個(gè)血緣關(guān)系鏈從CSV讀取一路算到排序所以如果前面某一步寫錯(cuò)了報(bào)錯(cuò)是在這里炸出來而不是在groupBy那里。4.2 日均氣溫分析四時(shí)次篩選與聚合計(jì)算日均氣溫這一段是項(xiàng)目里最有氣象業(yè)務(wù)味道的地方。根據(jù)《地面氣象服務(wù)觀測(cè)規(guī)范》日平均氣溫取的是02時(shí)、08時(shí)、14時(shí)、20時(shí)四個(gè)時(shí)次氣溫的平均值而不是24小時(shí)整點(diǎn)氣溫的算術(shù)平均。這是氣象行業(yè)的規(guī)范直接決定了代碼里的過濾條件from pyspark.sql.functions import count, sum as spark_sum, format_number df_4point df_temp.filter( col(hour).isin([2, 8, 14, 20]) ) df_avg df_4point.groupBy( province, city_name, city_code, date ).agg( count(temperature).alias(cnt), spark_sum(temperature).alias(temp_sum) ).filter( col(cnt) 4 ).withColumn( avg_temperature, format_number(col(temp_sum) / 4.0, 1) ).select( province, city_name, city_code, date, avg_temperature )整個(gè)流水線的關(guān)鍵是先計(jì)數(shù)再求均值count(temperature)看看每個(gè)城市在目標(biāo)日期里是否四個(gè)時(shí)次的數(shù)據(jù)都齊了只有cnt 4的記錄才參與平均計(jì)算。如果某個(gè)城市某天只有3個(gè)時(shí)次的數(shù)據(jù)直接算平均氣溫會(huì)和真實(shí)值有偏差過濾掉才是嚴(yán)謹(jǐn)?shù)淖龇?。format_number(..., 1)把結(jié)果格式化成帶一位小數(shù)的字符串方便直接用于可視化展示。這個(gè)查重邏輯在課設(shè)報(bào)告里已經(jīng)說得很細(xì)但我復(fù)現(xiàn)時(shí)發(fā)現(xiàn)一個(gè)數(shù)據(jù)層面的問題爬蟲是在白天某個(gè)時(shí)刻運(yùn)行的當(dāng)天20時(shí)還沒到那么當(dāng)天20時(shí)的記錄根本不存在。原報(bào)告也提示了“建議在當(dāng)天20時(shí)30分之后再爬取數(shù)據(jù)”這說明分析結(jié)果的質(zhì)量高度依賴爬取時(shí)機(jī)。4.3 cache與coalesce性能優(yōu)化和輸出控制兩個(gè)分析任務(wù)在最后都調(diào)了cache()和coalesce(1)這一步值得展開講df_rain_sum.cache().coalesce(1).write.csv(output/rain_sum, headerTrue) df_avg.coalesce(1).write.json(output/avg_temp, headerFalse)cache()把前面經(jīng)過groupBy和sort的中間結(jié)果物化到內(nèi)存里這樣后面如果既要做head(10)又要write.csvSpark不用從頭再算兩遍。coalesce(1)是把分區(qū)數(shù)量壓縮到1個(gè)這樣CSV輸出只有一個(gè)文件而不是默認(rèn)的幾十個(gè)part-00000碎片后續(xù)直接讀這個(gè)單文件就行。但coalesce(1)不是免費(fèi)的。它本質(zhì)上是一次結(jié)果重分區(qū)把所有分區(qū)的數(shù)據(jù)拉到同一個(gè)分區(qū)再寫出數(shù)據(jù)量大時(shí)會(huì)產(chǎn)生單點(diǎn)瓶頸。雨量Top-N分析加coalesce(1)沒問題但如果以后換成每天幾十GB的氣象數(shù)據(jù)正確做法是保留分區(qū)數(shù)并寫成parquet格式不要強(qiáng)行合并成單文件。這個(gè)邊界要拎清楚。5. 常見問題與排查爬蟲、Spark和可視化里的五個(gè)坑5.1 Python 3下運(yùn)行報(bào)錯(cuò)sys.setdefaultencoding不存在現(xiàn)象把課設(shè)原爬蟲代碼直接丟到Python 3環(huán)境運(yùn)行啟動(dòng)就報(bào)AttributeError: module sys has no attribute setdefaultencoding。原因sys.setdefaultencoding(utf8)是Python 2時(shí)代處理默認(rèn)編碼的命令Python 3的默認(rèn)編碼就是UTF-8這個(gè)函數(shù)已經(jīng)被移除。原課設(shè)寫的是reload(sys)和sys.setdefaultencoding(utf8)這是典型的Python 2代碼。解決直接刪掉這兩行。如果擔(dān)心中文編碼有問題用Python 3在打開文件時(shí)指定encodingutf-8就夠了不需要再動(dòng)全局默認(rèn)編碼。這個(gè)坑幾乎是每屆課設(shè)必現(xiàn)看到這個(gè)報(bào)錯(cuò)就知道代碼是從舊版本遷移過來的。5.2 爬蟲結(jié)果CSV用Excel打開中文亂碼現(xiàn)象passed_weather_ALL.csv在終端和代碼里讀著都正常用Excel雙擊打開時(shí)中文全部變成亂碼省份名和城市名完全不可讀。原因CSV文件沒有BOM頭。Python默認(rèn)用UTF-8寫文本文件不摻BOM而Excel的CSV解析器在識(shí)別非UTF-8編碼時(shí)傾向用ANSI解碼中文結(jié)果就是亂成一團(tuán)。原報(bào)告里在write_csv中寫入codecs.BOM_UTF8就是為了解決這個(gè)問題。解決寫入CSV前先寫一次codecs.BOM_UTF8這是給Excel看的編碼標(biāo)記。注意每次打開文件追加寫入時(shí)都要判斷文件是否已存在如果已存在就不要重復(fù)加BOM否則表頭里會(huì)多出隱藏的非法字符。5.3 Spark讀CSV后數(shù)值列變成字符串過濾直接報(bào)錯(cuò)現(xiàn)象df.filter(col(rain1h) 1000)執(zhí)行時(shí)拋出分析異常提示無法用字符串和數(shù)字比較打印Schema發(fā)現(xiàn)rain1h列的類型是string而非double。原因inferSchemaTrue不是萬能的。如果CSV的前若干行里rain1h字段是空值或占位符比如--Spark在推斷類型時(shí)會(huì)認(rèn)為整列是字符串。尤其是爬蟲寫CSV時(shí)把數(shù)字轉(zhuǎn)成了字符串空字段就是空字符串更容易觸發(fā)誤判。解決最直接的辦法是用col(rain1h).cast(double)做顯式轉(zhuǎn)換再配合filter過濾。另一種做法是給read.csv顯式傳schema參數(shù)例如StructType里指定rain1h為DoubleType()徹底跳過推斷機(jī)制。從工程習(xí)慣來說顯式指定Schema比inferSchema更可靠但課設(shè)階段寫清楚cast就夠了。5.4 日均氣溫結(jié)果城市數(shù)大幅縮水只有幾百個(gè)城市現(xiàn)象計(jì)算完日均氣溫后輸出結(jié)果里的城市數(shù)遠(yuǎn)少于數(shù)據(jù)源里的2412個(gè)城市少了一半還多。檢查原始數(shù)據(jù)發(fā)現(xiàn)每個(gè)城市確實(shí)有整點(diǎn)氣溫?cái)?shù)據(jù)。原因filter(col(cnt) 4)把只擁有部分時(shí)次記錄的城市全部剔除了。爬蟲運(yùn)行時(shí)間是白天當(dāng)天20時(shí)的數(shù)據(jù)不存在有些城市02時(shí)或08時(shí)的記錄缺失湊不齊四時(shí)次的都被過濾掉了。解決四種選擇。一是按原報(bào)告建議在當(dāng)天20時(shí)30分之后再爬取保證當(dāng)天四個(gè)時(shí)次都齊二是把cnt 4放寬到cnt 3并在報(bào)告里說明“基于三時(shí)次近似計(jì)算日均氣溫”適合只想跑通流程的情況三是查看缺失時(shí)次的分布規(guī)律找出是哪幾個(gè)時(shí)次最容易缺四是修改爬蟲邏輯補(bǔ)充歷史數(shù)據(jù)接口而不是只爬最近24小時(shí)。課設(shè)報(bào)告采用的是第一種輸出的質(zhì)量是最高的。5.5 結(jié)果目錄里出現(xiàn)一堆part文件沒有單個(gè)CSV文件現(xiàn)象執(zhí)行df_rain_sum.write.csv(output/rain_sum)后打開目錄看到的是part-00000-xxx.csv、part-00001-xxx.csv十幾個(gè)文件而不是想象中的rain_sum.csv。原因Spark分布式寫入時(shí)每個(gè)分區(qū)各自寫一個(gè)文件分區(qū)數(shù)就是輸出文件數(shù)。默認(rèn)情況下shuffle之后分區(qū)數(shù)較多自然會(huì)產(chǎn)生多個(gè)part文件。這不算錯(cuò)誤但對(duì)后續(xù)人工查看數(shù)據(jù)很不方便。解決寫之前加coalesce(1)強(qiáng)制把分區(qū)數(shù)減到1輸出就只有一個(gè)part文件了。更省事的辦法是不加coalesce(1)讀取時(shí)直接spark.read.csv(output/rain_sum)讀整個(gè)目錄Spark會(huì)自動(dòng)合并多個(gè)文件的內(nèi)容。兩種方式我都用過課設(shè)評(píng)分時(shí)如果要求提交“干凈的CSV文件”就選coalesce(1)。6. 結(jié)果驗(yàn)證與可視化輸出用matplotlib把分析結(jié)果變成圖表數(shù)據(jù)分析算完不算結(jié)束還要驗(yàn)證結(jié)果正確然后再畫圖。驗(yàn)證有一個(gè)很土但很有效的辦法——抽樣對(duì)賬。我從df_rain_sum.head(10)里隨機(jī)挑了三個(gè)城市找到它們?cè)趐assed_weather_ALL.csv里的所有rain1h記錄手工在Excel里求和和Spark算出的rain24h對(duì)比。三次都對(duì)得上說明聚合邏輯沒問題。這一步強(qiáng)烈建議保留它能把“代碼跑通”和“結(jié)果正確”區(qū)分開答辯時(shí)也更有底氣??梢暬糠执a比較簡(jiǎn)短用matplotlib畫橫向條形圖展示雨量Top-10城市import matplotlib.pyplot as plt top df_rain_sum.head(10) names [row[city_name] for row in top] values [float(row[rain24h]) for row in top] plt.rcParams[font.sans-serif] [SimHei, WenQuanYi Zen Hei] plt.rcParams[axes.unicode_minus] False plt.figure(figsize(10, 6)) plt.barh(names[::-1], values[::-1]) plt.xlabel(24小時(shí)累計(jì)降雨量mm) plt.title(過去24小時(shí)累計(jì)降雨量 Top10 城市) plt.tight_layout() plt.savefig(output/rain_top10.png, dpi150)plt.rcParams兩行是解決中文字符顯示成方塊的設(shè)置SimHei是Windows下的黑體Linux下沒有時(shí)就回退到WenQuanYi Zen Hei。names[::-1]和values[::-1]是把列表倒序讓雨量最大的城市顯示在條形圖最上方符合閱讀習(xí)慣。savefig的dpi150保證圖片在答辯投屏?xí)r不模糊。氣溫分析的結(jié)果可以用類似思路畫一張散點(diǎn)圖或直方圖查看全國(guó)城市日均氣溫的分布形態(tài)。到這一步從爬蟲、清洗、聚合到出圖整條鏈路就閉環(huán)了。想起那次復(fù)現(xiàn)后半段我發(fā)現(xiàn)某個(gè)城市計(jì)算出日均氣溫為97度一查是20時(shí)的氣溫字段爬到了異常值溫度列混入了噪點(diǎn)數(shù)據(jù)。從那以后我每次做數(shù)據(jù)類課設(shè)都會(huì)強(qiáng)制走一遍“抽樣對(duì)賬”再進(jìn)入可視化這個(gè)習(xí)慣幫我擋掉了至少三次答辯翻車。希望這份基于Spark的氣象數(shù)據(jù)處理與分析課設(shè)梳理能幫你也少踩幾個(gè)同樣的坑。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
av资源在线播放天堂| 日本新免费二区三区| 久久超碰爱| 青青青操| 欧美性暴力猛交| 国产高清午夜成人在线观看| 国产精品一区午夜福利| 东北黄色电影| 超碰在线第一页| 97在线观看播放视频| 户外裸露刺激视频第一区| 色婷婷狠狠18禁| 91九色丨国产丨爆乳| 亚洲熟久久| 欧美色图91| 91中文在线| 加勒比AV网| 啊啊啊久久| 91综合天天看| 国产 日韩 另类 视频一区爱| 国产91精品久久久久久久网曝门| 天堂资源站| 91综合色噜噜| 亚洲少妇在线影音| 国产91精品福利在线| 熟妇人妻一区二区| 午夜美女福利视频| 日本狠狠干| 欧美丝袜中文字幕07在线| 嗯啊不要在线| 91激情国产| 成片免费播放| 操操逼操操逼操操逼逼| 久久黄黄| 精品丝袜无码一区二区三APP| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 欧美性夜| 夜色五月天| 亚洲国产精品无石码久久| 98精品国产乱码久久久久久| 婷婷午夜| 日韩Va亚洲va欧美Ⅴa久久| 黄视频免费| 国产偷仑| 丝袜 亚洲 偷拍| 国产成年女人免费视频播放a| 日韩人妻免费精品| 香蕉婷婷| 久久久一区二区三区三州| 漂亮人妻被强中文字幕hd| 亚洲欧洲自拍图片专区满春格| 99999久久精| 暖暖精品二区三区观看| 五月天偷拍| 精品欧美老熟女一二区| 亚洲丝袜综合| 天天操天天7| 欧美操人| 日韩一区二区精品视频| a一区二区三区乱码在线| 牛牛久久国产精品视频一二三| 精品一区二区成人动漫| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 天天综合网在线观看| 禁止观看美女黄| 色情成人五月天| 成人午夜小视频手机在线看| 国产男女边吃边摸视频网站| 欧美狠狠干| 啊啊啊啊嗯嗯在线久久久| 91精品丝袜久久久久久无码人妻| 日本不卡二三区| 在线免费观看日韩一区| 国产树林里野战在线看| 九九99久久| 97免费在线| 欧美亚洲激情| 日韩成年人性爱视频| 99re在线视频国产| 色yeye成人免费视频| 狠狠超| 欧洲精品网| 超碰地址97| 免费啊啊啊| 国产激情在线| 中文字幕久久婷婷丁香五月天| 青草精品视频日本久久久久网站在线| 中文字幕蜜乳av| 91伊人久| 一级免费啪啪片| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 玖玖资源中文字幕制服丝袜| 97操97色| 经典丝袜一区| 亚洲影院成人| 天堂精品在线| 国产肏屁眼视频| 日本一卡二区在线| 白丝少妇一区二区| 蜜臀久久99'精品久久久| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产无马在线| 日韩午夜啪啪视频| 亚洲熟女乱综合一区二区三区| 黑人性欧美| 超碰色综合| 9九九国产| 91无遮挡| 老熟女91av| 国产少妇内射| 黄页视频网站野外| 天天爽入口| 无码操逼网| 亚洲成人在线播放| 国产精品久久久久久夜夜夜夜| 日韩一级二级三级免费看完整版 | 国产精品日日摸天天碰| 久久精品小视频| 色区97| 手机在线A片| 国产女乱淫真高清免费视频| 97露脸精品丝袜| 国产资源中文字幕在线| 天天综合香 ld视频| 日本片日本片祼观看网站在线看中文版网页在线看| 人乳av| 91久久久亚洲| 欧亚综合一卡二卡中文字幕| 国产av激情无码久久天堂| 偷拍欧美综合| 国产家庭乱伦网址| 一区二区三| 97视频在线观看高清资源| 亚洲成人免费中文字幕| 综合网亚洲| 亚洲成人妻日韩在线| 天天搞在线综合网| 国产精品不卡av免费在线观看| 超碰天天操你比| 国产在线76页| 九九aV| 在线毛片片免费观看| 亚洲清纯综合| 亚洲欧美精品一区天堂久久| 亚洲AV无码国产成人| 91国产操逼视频| 欧美大香蕉专区网| 天美91| 亚av顶级裸体一区二区三区四区五区| 婷婷激情五月| 亚洲激情在线观看一区| 欧美一区二区| 老司机午夜精品福利视频一区二区| 中文字幕二区日韩天堂| 五月色综合| 亚洲激情综合另类男同| 99精品高潮| 四虎影库国产精品免费| 五月婷婷性爱| 伊人一区二区在线播放| 天天日日夜夜| 日韩97超碰中文字幕| 五月丁香激情综合| 人妻少妇被猛烈进入中| 亚洲少妇在线观看| 婷婷伊人一区| 4141514逼喷水三级片| 午夜久久一区二区无码中出| 中文字幕艹艹| 中文字幕乱碼在线| 色婷婷综合久久中文字幕雪峰| 啊啊啊 在线| 婷婷久久综合| 揉揉揉夜夜| 亚洲欧美日韩电影网站一区| 国产精品 午夜福利| 亚州国产成人精品女人久久| 青青草色情网站视频| 色婷婷婷五月天激情四射| 亚洲欧美另类少妇精品| 手机不卡视频不卡在线一二三区| 国产丝袜视频| 素颜老阿姨乱情色| 国产中文字幕在线观看| 久久久精品网站| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 97超碰中文字幕| 熟女露脸激情自拍视频| 色五月av| 中出20p| 日韩高潮一区| 日韩av电影网站| 91九色丨风韵犹存| 酒色综合网| 99久久9| 日日日啊啊啊| 韩日男人的天堂| 美女骚尻视频| 国产亚洲精品美女久久久| 操逼免费视频无码国产| 久都青青视频| 亚洲 欧美 日本 国内 首页| 另类欧美色| 免费精品人妻一区二区三| 日韩99神马视频播放| 亚洲 欧美综合| 亚洲天天操| 久久ww| 91美乳| 婷婷超| 精品中文字幕一区二区l - 百度| 97在线资源| 国产91亚洲精品一区二区三区| 国产成人网| 最新精品久久蜜桃| 日美免费黄片| 亚洲 中文 欧美 日韩 在线| 又粗又长又爽在线观看| 香蕉精品二区二区| 天天舔天天| 又大又大又大又粗爽高潮观看| 偷窥自拍A片| 97这里都是精品| 激情色图| 色眯眯射| 99re国产精品视频| 五月天久久人妻| 18禁精品网站在线看| 中文字幕丝袜美腿| 欧美一区二区三区入口| 国产性爱欧美性爱在线| 日韩精品一区二区三区四虎影视| 99久久免费看精品国产一区| 波多野结衣之双飞调教在线播放 | 国产精品久久久久久片| 91天天爽| 亚洲成A∨人影院在线欢看| 欧美人妻少妇| 小泽玛利亚一二三| 精品成人亚洲午夜电影| 中文字幕精品专区搜索结果91| 欧美视频中文字幕区| 伊人四虎综合| 自拍亚洲综合| 18禁免费视频| 亚洲91色| 五月天精品| 五月天久久婷婷亚洲| 91婷婷伊人狠人| 亚洲一区日韩精品中文字幕| 98超碰日本| 67194无码不卡| 神马九九| 欧美大干日韩| 国产精品久久久久久久久久久久久久久久久久| 久久五月丁香| 久久综合99| 超碰人人操97碰| 国产精品一二三区18| 欧洲一区二区| 免费视频a级毛片免费视频| 国产视频一区二区在线| 婷婷五月色| 一二三四区电影| 亚洲一卡2卡3卡4卡乱码网站| 黄片免费久久久久久久| 99re这里| 岛国艾薇凹凸视频天堂| 日韩一级欧美一级在线观看| 婷婷亚洲色| 欧美东京热精品A∨| 郑州宾馆老熟女露脸啪啪| 午夜一区二区三区国产| 中欧人妻丝袜中文字幕| 影音先锋乱伦资源| 户外裸露刺激视频第一区| 色综合国产在线观看| 日韩性爱小视频| 国产精品第一区第一页| 人人看人人爰人人操| 黄色视频60分钟| 97天天摸天天爽| 强奸乱伦免费网站| 岛国大片在线观看网站入口| 精品在线观看视频在线| 天天干天天日天天射黄色大片| 亚洲图片欧美制度| 久草精品一区 | 亚洲丝袜综合| 欧洲亚洲人人爽爽视频| 青青青青青手机视频| 国产精品福利视频| 国产一区二区免费福利片| 午夜理论片在线观看免费| 夜夜操二区| 久久亚洲一区女同性恋中文字幕| 欧美国产精品| 吉田爱美AV在线| 男人天堂资源| 成人资源中文字幕在线观看天天| 亚洲少妇激情一区二区三区| 天天干人人乐| 国产AV毛片| 亚洲欧洲无码一区夜| 蜜乳AV.COM| 国产精品色哟哟| 亚洲?V无码专区在线电影| 欧亚洲精品有视频| 在线观看免费视频国产| 91最新综合| 国产91福利小视频在线观看| 韩国女主播青草在线| 牛牛操视频逼| 四虎影视 亚洲无码| 丁香五月色| 亚洲另类春色| 色91综合网| 神马久久久久久伦理片| 中文字幕第95页| 午夜天堂啪啪| 天天澡天天爽日日AV| 天天日日本| 激情丁香婷婷| 欧美性性性| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 中文字幕在线观看AV| 懂色av一区二区三区天美传媒| 少妇国产不卡| 亚洲色图欧美视频| 乱操乱伦AV| 欧美色图自拍| 亚洲熟女乱综合一区二区三区 | 国产亚洲性生活视频播放| 亚洲drav色图| 97 国产一区| 色黄污美女啪啪啪免费网站| 台湾佬大香蕉| 亚欧操逼片在线观看| 欧美精品另类人妖xxxx| 九九探花视频在线观看| 欧美色图欧美| 有码专区最新中文字幕有码| 久久大陆| 熟妇国产免费一区| 五月天婷婷久久| 国产一级高跟丝袜| 亚洲h片在线免费观看| 精品国产乱码久久久| 97超碰超欧美。| 嗯嗯啊啊视频一区二区三区| 视频国产精品未满十八禁止在线观看| 国产精品探花色| 欧美色网| 思思热在线视频免费| 九九九九热| 青久久| 欧美日韩99精品麻豆传媒| 99熟女| 欧美日韩大香蕉| 大香蕉人妻久久| 中文字幕一区二区无码成人| 熟妇人妻丰满久久久久久久无码 | 国模不卡| 国产女大学生AV| 本道综合精品| 校园春色亚洲| 自慰白浆在线观看| 性性欧美| 老司机福利社视频在线观看| 91丝袜视频在线观看| 超碰久久网| 97jingpin| 国产高潮AA片免费看| 精品一区二区久久| 中文字幕成人乱码熟女精品国50| 中文字幕 国产区| 成人区人妻精品一| 欧美日不卡| 夜夜草我| 欧美精品欧美精品系列| 日韩中文字幕宗合在线| 日韩人妻中文视频| 日本精品免费一区二区三区四区| 亚洲欧洲第二视频在线观看色图| 亚洲国产欧美中文永久| 黄片无码在线制服| 91美女在线精品视频| 国产无码精品无码| 超碰 欧美| 中文色综合| 九九热九九热| 色欧洲| 欧美劲爆视频一区二区| 国产精品不卡一区二区三区| A 天堂| 女人高潮抽搐喷水视频网站| 操人91| 亚洲熟女乱色| 中文字幕av片| 欧美日本不卡在线| 超碰97欧美日韩| 中国AV美女| 六月丁香网| 色网在线| 久久精品三级影视| 欧美熟女丝袜| 可能人人看人人摸| 日韩少妇在线视频| 天天色播亚洲综合网站| 91色色综合| 热99这里只有精品| 国产精选视频| 蜜桃精品一区二区三区ww| 97超碰中文在线| av天天在线观看| 亚洲天堂精品日韩电影| 中文字幕少妇色| 一起草三级AV电影在线观看 | WWW.操逼.COM| 国产农村妇女精品1区二区| 欧美v亚洲v综合v国产v妖精| 日韩另类色图| 国产精品一区二区a| 26uuu欧美| www.99色| 日日摸日日弄日日拍| 亚洲少妇喷视频看| 久久久久免费看少妇A片特黄| 亚洲欧洲色情高清| 狠狠干综合| 欧美日韩*字幕一区| 男人的天堂三级| 99婷婷| 国产无码精品无码| 国产自产22区| 色欲天天综合网| 青青操网| 国产AV人人夜夜澡人人爽麻豆| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 综合网欧美在线| 影视综合无码少妇| 欧美日韩中文字幕人妻| 国产日韩中文字幕欧美| 午夜男女爽爽爽在线视频| a片久久久久久久久久久久 | 天天干夜夜一操| 人人摸人人舔一区二区| 99啪| 欧美色偷拍| 天堂中文日本在线观看| 日本人妻中文字幕精品| 东北女人性交| 婷婷国产精品一区二区| 国产九九九九九九| 丁香五月婷婷啪啪| 97精品综合久久| 一区二区三区免费岛国片| 久久首页| 精品久久久久久无码| 天天澡天天爽日日AV| 你草精品在线视频| 亚洲永久AV无码精品秋霞| 丝袜内射| 欧美亚洲综合色| 最新日韩黄片| 99色综合| 久久男人精品| 高潮内射在线| ai欧美亚洲小说| 亚洲暴力强奸AV| 日本大香蕉| 色屁屁影院www国产| 91蜜臀熟女| 丰满人妻一区二区三区免费| 亚洲黄色影视| 久久久月天| 婷婷在线播放| 夜夜嗨一区二区三区直播内容| 欧美一级黄片免费播放| 乱操9999| 天天射影院| 国产传媒av天美传媒在线| 六六久久日韩不卡| 人人模人人看| 97一区二区三区视频| 超碰在线观看av不卡| 日韩精品99久久久久久中文字幕| 香伊人在线| 美女骚尻视频| 天堂蜜桃无码视频一区二区| 国产成人超碰在线| 日韩色图 一区二区| 99re久久| 大学生美女口爆| 日本黄 R色 成 人网站| 97色碰| 天天色怡春院| 久都青青视频 | 99热超碰| 九九精品99| 久久久久久91香蕉国产| 五月天精品| 男人的天堂2018.| 后入式在线免费观看60秒| 国产9熟妇视频网站| 99色色网| 色99久草| 日韩啊V| 中文自拍欧美影视| 精品国产91久久久久久一区黄无| 91女优在线观看| 清纯唯美亚洲综合| 精品欧美А∨无码黑人大荫蒂| 国模不卡| 色欲人妻一区二区在线| 久久人妻熟女一区二区| 蜜乳AV一区| 亚洲 图片 综合91| 丝袜熟女一区二区三区| 精品免费一区| 91九久| JULIA一区二区三区在线播放| 一区二区三区高清| 蜜臀无码一区二区| 九月丁香婷婷| 激情五月婷婷| 强奸乱伦大香蕉| 天堂性色| 国产精品国产精品国产| 国产精品3| 九九玖玖精品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 91影库| 蜜桃狠狠色伊人亚洲综合 | 大香蕉五月天| 麻豆精品久久久久久久| 手机不卡视频不卡在线一二三区| 好淫网一二三视区| 九九九九九九九九九五码| 日韩精品99久久久久久中文字幕| 日本在线播放不卡一区| 久久91精品国产9丨久久分亭| 久久天天艹| 一区二区三区成人高清视频| 八戒无码国产午夜福利| 国产成人午夜视频网址| 人妻 欧美亚洲| 亚洲精品一二牛牛| 曰韩精品九九无码| 久久极品一区二区| 欧美成人午夜免费福利785| 国产中文字幕曰本毛片| 亚洲资源站| 黄页网站成人免费| 热久久国产精品视频大陆精品| 伊人女女资源在线观看| 中文字幕AV乱伦| 亚洲久草AV色图| 青青草国产一区二区三区| 麻豆 欧美 日韩| 乱伦AVxx| 神马精品视频| 久久99综合| 五月婷婷大香蕉| 乱伦图一区| 91bbb| 国产精品久久久久中文字幕| 97五月天| 天天影视之亚洲综合网| 网站A V在线| 又黄又爽在线观看视频| 国产精品青青草| 国产精品熟女九九九| 99热| 玖玖久久久| 国产福利精品98视频| 成人精品视频一区二区| 伊人久久亚洲色欲综合网站| 熟女熟妇伦久久影院毛片一区二区 | 亚欧韩av| 亚洲精品蜜桃久久久一区二区三区| 大香久久| 91精品久久久久久| 天天热精品| 97超碰超欧美。| 91美女色视频亚洲| 老女人91| 无码精品啪啪啪一区二区三区三州| 精品999日本| 日韩无码AB| 亚洲精品1区| 欧美成人国产精品| 国产精品高朝久久久久久久| 色777999综合| 久久午夜神马| 性天堂| 伊人宅男大香蕉| 秋霞鲁丝午夜无码一区二区三| 亚洲国产综合久久天堂| 9精品在线| 欧美综合第一| 亚州 综合 色图| 青青草狠狠撸| 久草线上视频免费看| 欧美色老汉| 777超碰| 九热中文字幕| 自拍偷拍国产欧美日韩韩| 中文字幕精品一区欧美| 色综合久久av| 青青草天天亲夜夜操网| 亚洲天堂色图| 日韩精品人妻中文字有码在线| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | oumeisetu综合| 亚洲一二三精品久久网| 啊啊啊啊啊舒服| 90后后入| 久久精品国产AV一区二区三区| 中文字幕日韩人妻视频一区二区三区 | 日本免费一级AAA大片器| 国内亚洲高清无码| 国产精品久久久久无码AV会牛| 亚洲一区二区麻豆影院| 色九九九综合| 大香蕉2017| 水滴偷拍| 成人一道本免费视频| 亚洲欧美国产日本一区二区三区| 成人影 天天操 亚洲| 免看60秒涩涩视频| 青青草大香蕉视频| 高清成年美女黄网站免费大全| 丁香色色网| 色好看av| 中文字幕三四五区| 免费国产电影一区二区| 99操逼| 日韩精品怡红院| 精品人妻av区天天看片| ji熟女.com| 99蜜桃臀亚洲成人在线观看| 久久久91| 成人av动漫在线观看| 国产又大又粗又长视频在线| 日日摸日日碰夜夜爽视频| 欧美性爱中文字幕无线码| 人人看人人摸人人色| 天天操av懂色| h色99999| 偷拍精品一区二区三区| 黑丝少妇| 超碰97在线色男人??| 午夜视频久久久久一区| 有码免费观看| 91日韩| 久久草草欧美精品| 亚洲drav色图| 操逼操逼操| 手机在线观看不卡无码av| 久久大线蕉一区| 国产成久久综合片| 久久免费老司机精品| 日韩欧美女求操每天更新| 天堂а√在线最新版在线| 久久中文色图| 久久成年片色大黄全免费网站| 日夜伊人网| 日韩成人小视频| 欧美色亚洲| 欧美后入式| 熟女91网站| 精品传媒在线一区| 久久五月天婷婷| 加勒比色99999| 乱伦av麻豆| 超碰在97| 多乙久久久久久| 激情露脸爱| 亚洲AV麻豆Aⅴ无码电影一| 大胆91| 久久久精品中文字幕麻豆| 亚洲风情在线观看| 久久久九97| 蜜臀99久久| 欧美日韩免费专区在线| av爱爱爱| 亚洲熟女乱色一区二区三区久久久 | 99久久99九九99九九九| 67914亚洲精品| 国产精品午夜AV完会免费| 人妻AV 中文字幕的| 久久精品视| 九九AV| 精品一区二区综合熟妇| 黑丝91视频| 国产又黄又爽| 国产福利精品最新在线| aⅴ日韩成人电影av在线免费看av大全 | 天天精品| 国产一区二区在线电影| 国产suv精品一区| 日产狠狠干| 宅男影院久久久,99| 蜜桃臀一区二区三区久久| 日韩久久激情精品| 男人的天堂 在线一区| 91成人在线| 国产精品成人无码av无码免费| 久草电影网| 天美欧美国产| 色情综合网| AV一起草在线| 大香蕉性欧美| 射欧美综合| 亚洲人妻AV| 91丨九色丨国产丨人妻在线| 无套内射性感少妇视频| 国产精品不卡一区二区电影| 五十路成人在线视频二区三区| 久操99| 性开放中文AV高清无码免费看| 九99久久| 日本视频在线观看污污污| 99热色精品| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 久久禁| av无线看| 国产999精品久久久久久| 欧美性生活内射| 九九久久精品| 欧美熟爽综合| 欧美国产日韩高清在线| 色青青久久影视| 亚洲情色91| 试看60秒 爽| 日韩精品大香蕉伊人在线| 一个人免费HD91视频| 校园春色欧美| 日本一本道A级黄色毛片试看60分钟| 精品无码久久久久久国产浪潮| 日韩无码AB| 狠狠色婷婷7777久| 最新日产中文在线麻豆| 亚洲无码偷拍| 亚洲日韩美女丝袜美腿人妻视频| 男人的天堂2000| 94色色电影网| 亚洲无限观看| 国产青视频| 久久色一区| 9999亚洲电影| 亚洲综合春色| 熟妇在线视频一区二区| 日本黄 R色 成 人网站| 久久久久成人亚洲国产| 国产成人无码啪| 另类天堂| 欧美亚洲| 97操| 久久久精| 久久久9 9 9精品| 97网址www| 国产视频一区二区三区久久亚洲天堂 | 一二三啪啪专区| 精品91摸| 亚洲国产综合久久久性感熟妇| 国产丝袜视频| 亚洲天堂男人在线| 91精品丝袜在线观看| 丁香婷婷啪啪| 91黑丝露脚| 青青草在线视频美女| 嗯嗯啊啊好疼| 超碰在线一区二区| 人妻丝袜日本| 欧美性爱免费短视频| 亚洲欧美日韩免费观看| 国产三级片在线观看| 中文字幕无码不卡啪啪| 人妻少妇精品视频一区二区三区| 素颜老阿姨乱情色| 国产美女精品| 国产伦精品| 伊人久久综合影院精品久久久| 在线洲亚线| 九七人妻在线| 日日摸日日碰夜夜爽视频| 天天影视综合色| 五月综合色| 手机午夜电影神马久久| 日韩欧美成人午夜福利| 日韩人成网站在线播放| 国产欧美一区激情交| 校园春色 男人天堂| 国产SV一线| 嫩草黄页| 午夜精品久久久99热蜜桃的功能特点| 人人澡人人澡人人| 伊人宅男大香蕉| 欧美日韩性爱无码| 97久久免费| 巨爆乳肉感一区二区三区竹菊影视| 国产欧美美女免费观看视频| 美骚妇av高清在线| 午夜福利 成人 91| 爱媛媛久久国产福利| 91在线丝袜| 丁香五月色情| 欧美日韩夜夜| 九九九久千久久激情蜜桃在线看 | 激情文学欧美| 国产精品69久久久久久久| 久久久久久九九九九九| 国产在线视频二区| 免费观看欧美日韩操逼视频| 精品视频久久区| 天天欧美97| 无码人妻一区二区三区色欲aⅴ| 亚洲国产奇米影视久久| 久久人妻视频网| 日韩资源网| 天天综合亚洲综合| 中文字幕成人理论在线| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 久热热| 亚洲欧美激情另类色图| 精产品久久| 九九成人视频| 亚洲欧美电影| 性感女人网页在线观看视频| 四虎午夜影院| 亚洲污污网站| 女同在线视频一区| 日本1区2区不卡视频| 日韩免费a级毛片无码a∨| 亚洲精品国产无码高清| 欧美美女自慰一区二区三区| 大香蕉综合久久| 啊啊啊想要| 久久艹逼视频| 亚洲综合校园春色| 国产家庭乱伦性爱视频| 亚洲中文字幕噜噜噜久久久| 九九五月天| 黄色视频特级毛片| 欧洲大香蕉| 久久久久人妻二区精品叶可怜| 日本不卡卡一区| 97爱爱爱| 亚洲一区二区AV| 婷婷大香蕉| 97久久久精品| 亚洲欧美色图片| 你懂的在线观看区国产 | 强奸乱伦动态污图免费 | 欧美熟爽综合| 婷婷激情五月| 午夜超爽| 被窝影院午夜看片无码| 97色婷| 亚洲综合图片在线| 天天干夜夜一操| 老熟女乱伦一区| 日本大香蕉综合网红本杳社区| 日本高清熟女久久一区| 亚州乱码中文字幕综合久久久| A V少妇特黄三级| 亚洲一区日韩| 性色av大全| 97超级久久| 天天综合色图| 亚洲男人bt天堂| 成人国产二区三区在线,男女精品。| 国产三级多多影院2022国产AA一级毛片无码| 992这里有精品| 97视频免费播放| 在线观看一卡二卡| 美欧色综合| 亚洲精品久| 亚洲欧美日韩制服另类| 欧美日韩夜夜| 91av一区二区在线观看| 久久久久久久久久久999| 午夜视频久久久久一区| 欧洲精品久久| 亚洲日韩视频二区| 久久综合精品一区二区三区| 超碰精品日韩欧美国产| 色综合20p| 看免费一级在线播放毛片| 人妻人人澡人人爽人人| 极品国产内射| 啊啊啊好舒服好爽啊啊啊视频| 在线观看岛国有码| 97在线亚洲| 四虎AV在线观看| 日本无码1| 国产日本顶级一区二区三区| 亚欧性爱无码| 天天干少妇| 亚洲女人毛茸茸91| 97色97好| 97精品综合久久网| 人妻天堂三区| 91深夜夜| 殴美牲| 熟妇高潮二区三区| 影音先锋日本一区二区| 亚洲精品人伦一区二区| 婷婷色在线| 一级性爱视频免费在线| 大香蕉在线86| 亚洲人妻中文高清| 97超碰超| 99国产精品久久久在线播放| 成人在线视频网| 亚洲欧洲av影音| 噜噜噜久久亚洲精品色情| 五月天社区| 国产精品999zyz| 熟女熟妇一区二区三区视频| 青娱乐蜜桃臀AV色婷| 红杏大香蕉| 最新亚洲人成网站在线影院| 超碰美国| 亚州九九九精品视频| 色噜噜人妻丝袜a∨先锋影| 欧美日综合| 亚洲第一成人影院色播| 亚洲鸥美色图| 少妇xx精品| 欧美综合网A| 国产精品人人爽人人做可爱福利| 91高潮| 麻豆国产第一| 日韩av不卡在线看| 日韩十八禁| 五月天久久人妻| 亚洲综合99999| 日韩中文字幕国产| 伊人国产av| 国产午夜福利电影免费在线观看| 操国产高清| 97在线观视频免费观看| 99精品国产户外露出| 人妻少妇久久中文| 五月丁香六月激情| 亚洲最新中文字幕免费| 欧美v日韩v亚洲v最新在线| 欧美91色| 精品少妇人妻av久久免费| 婷婷五月天补不补| 色色97爱| 四虎影库国产精品免费| 老司机天天操| av2014 日韩在线中文字幕| 亚洲999综合| 国产精品青草综合久久| 黑人猛交| 又黄又粗又硬又长又大| 欧美人人操人人插| 超碰综合97在线| 久偷拍| 亚洲αv一区二区三区| 亚州欧美一区| 好吊色综合| 丁香五月天堂网| 精品一区二区人妖| 久久久久久亚洲中文| 蜜臀99久| 色哟哟av| 夜夜国自区| 大香蕉男女超碰精品在线| 久久精品国产Aⅴ| TS人妖另类精品视频系列 | 成人av性爱电影在线观看| 97在线视频观看| 百度百度日本操逼| 绯色一区二区三区不卡少妇| 久久永久无码人妻视频| 激情天天视频| 日本成人免费一区二区三区| 日日插夜夜| 亚洲av淫乱| 亚洲久热| 人妻久久久久久| 久久免费老司机精品| 色香色欲天天综合网天天来吧| 国产免费久久久久| 欧美成人9797| 爽爽爽免费视频| 99热99re6国产在线播放| 精品二999| 婷婷性网| a亚洲欧美色欲| 欧美熟妇精品黑人巨大91| 日韩欧美日韩| 色网在线视频观看免费| 四虎影院成年人片| 日本99视频| 天天色粽合合合合合合合| 久久久久婷婷| 九九成人精品| 欧美伦乱爱| 亚洲av资源| 精品国产无码中文| 中文字幕中文字幕一区二区| 999精品女人| 国产日韩在线播放av| 少妇高潮特黄A片| 色官网在线| 亚洲啪啪性视频| 九九英色视频| 俺也射| 蜜桃天美传媒AV一区二区三区| 2026国产精品视频| 综合第一页| 国产精品视频自拍在线| 美女黄页| 亚洲好色人妻| 国产精品午夜福利| 日韩精品啪啪啪| 少妇久久久久久| 成人免费福利在线观看| 97精品国产97久久久久久免费| 亚洲综合一| 国产欧美在线观看免费观看| 伊人激情| 亚洲色图第四色| 97超碰磁| WWW黄片COM| 99热导航| 91综合在线| 久久露脸国产老熟女| 欧美夜色| 久久av无码| 久操精品网| 熟女天天干| 色色网91| 色婷婷丁香五月天| 91国产丝袜美女| 久久久精品视频欧州站| 亚洲无码太久| 丁香六月婷| 日本道日本道中文字幕日本道最新日本道在线观看 | 四虎免费看黄| 久九色| 国产亚洲精品第一最新| 美性中文综合网| 日本熟女中文字幕一区| 欧美久久婷婷| 26uuu性物| 国产综合操逼高清| 国产成人欧美一区二区三区的国产| 在线观看视频91| 精品黑人一区二区| 91白虎| 国产suv精品一区二区四区999| 绯色一区二区三区不卡少妇| 在线观看岛国有码| 中文有码9| 亚洲国产一级中文综合久久天堂在线免费观看| 97在线免费看视频| 超碰97在线中文| 久久精品中文字幕女同| 性爱视频免费网址| 中文字幕91综合| 夜夜高潮夜夜爽| 岛国天天午夜影院传媒网| 手机在线看片免费人成视频| 91n免费处女| 日本熟妇人妻中出视频| 91激情网| 无码高清国产AV| 深夜激情| 狠狠穞A片一區二區三區| 97超碰欧美精品| 婷婷97| 国产精品3| 色婷婷导航| 日韩十八禁| 国产天天看| 欧美性爱1080p| 亚洲久9| 亚洲熟女综合| 午夜福利无毒不卡| 精品无人区麻豆乱码1区2区图片| 日本狂喷奶水在线播放212| 欧美综合网站999| 欧美图片偷拍| 精品美女久久久久| 亚洲精品97p| 欧洲综合视频| 日本性爰一道本| 久久妇| 99re在线观看| 性爱视频无打码在线观看| 天堂亚洲精品| 欧美 中文字幕 一区| 最新的亚洲无吗| 无套后入双马尾| 色九九综合AV| 成年男人的天堂| 艹少妇网站| 日本国产亚洲一区在线观看| 成人八戒网站| 少妇一区二区三区| 99黄页网站| 亚洲老熟妇xxx| 午夜男女爽爽大片免费观看| 美女爽爽爽刺痛洞洞| 国产高清MV操逼视频| 天天干18禁| 9精品在线| 亚洲欧美日韩偷拍色图| 国产黄色剧情影片麻豆免费播放| 日产操逼| 日韩操逼HD| 日韩欧美中文| 亚洲日韩一区电影| 欧洲乱码视频| 9久久久久久| 国产女大学生AV| 色婷婷综合网| 尤物黄色在线观看网站| 久久 久久国内精品亚洲| 国产精品999aaa| 久久精品国产亚洲AV无码做| 97国产超碰| 天美传媒av在线| 熟女在线视频| 欧美亚洲国内自拍| 亚洲码专区| 成人麻豆av电影网站| 国内偷拍精品一区二区| 综合熟妇一区二区三区| 日本东京热大香蕉a片| 蜜臀国产AV中文字幕| 丁香久久| 亚洲精品国产无码高清| 一区二区三| 亚洲精品成人激情在线| 色天天野狼综合社区| 裸体1区| 日本精品免费一区二区三区四区| 欧插网站| 婷婷九月| 亚洲日韩一区电影| 九九色精品| 日韩人妻一区二区精品| 亚洲制服aⅴ中文字幕| 乱伦一二三区| 夜夜操美女| 这里都是精品| 亚洲天堂少妇| 91n美女视频| 亚洲欧美人妻| 97资源亚洲| 尻女朋友一夜|