国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

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

基于Spark的氣象數(shù)據(jù)處理與分析:從爬蟲到可視化完整實(shí)踐 簡介面向大數(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ù)入門者對照演練。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í)的路線——爬取全國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è)場景下沿用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ò)請求能發(fā)現(xiàn)數(shù)據(jù)不是渲染在HTML頁面里的而是通過異步請求直接返回JSON字符串。核心的請求路徑可以歸納為下面三條層級(jí)請求路徑返回內(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”請求城市列表時(shí)要帶上這個(gè)編碼返回的城市數(shù)據(jù)里又有類似“58847”的城市編號(hào)把它拼到第三級(jí)URL末尾才能拿到該城市24小時(shí)整點(diǎn)數(shù)據(jù)。爬蟲就是要順著這條鏈子把全國城市依次走一遍。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請求頭避免站點(diǎn)拒絕默認(rèn)的Python urllib請求。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è)城市就落盤一次——全國2412個(gè)城市每條數(shù)據(jù)有多個(gè)整點(diǎn)記錄如果全部堆在內(nèi)存里等到最后再一次性寫文件爬半小時(shí)內(nèi)存早就爆了。分段寫入之后即使中間某個(gè)城市請求超時(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ì)劃對課設(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í)行對六萬條數(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確保長字段不會(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與全局排序降雨量分析的思路很直接按省份和城市分組對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ù)按雨量倒排對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對象列表每個(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ù)觀測規(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ù)淖龇āormat_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ò)誤但對后續(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è)評分時(shí)如果要求提交“干凈的CSV文件”就選coalesce(1)。6. 結(jié)果驗(yàn)證與可視化輸出用matplotlib把分析結(jié)果變成圖表數(shù)據(jù)分析算完不算結(jié)束還要驗(yàn)證結(jié)果正確然后再畫圖。驗(yàn)證有一個(gè)很土但很有效的辦法——抽樣對賬。我從df_rain_sum.head(10)里隨機(jī)挑了三個(gè)城市找到它們在passed_weather_ALL.csv里的所有rain1h記錄手工在Excel里求和和Spark算出的rain24h對比。三次都對得上說明聚合邏輯沒問題。這一步強(qiáng)烈建議保留它能把“代碼跑通”和“結(jié)果正確”區(qū)分開答辯時(shí)也更有底氣??梢暬糠执a比較簡短用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)圖或直方圖查看全國城市日均氣溫的分布形態(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)制走一遍“抽樣對賬”再進(jìn)入可視化這個(gè)習(xí)慣幫我擋掉了至少三次答辯翻車。希望這份基于Spark的氣象數(shù)據(jù)處理與分析課設(shè)梳理能幫你也少踩幾個(gè)同樣的坑。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美日韩国产另类综合| 久久精品人妻一区二区| 精品97久久| 欧美日韩国产三级黄色| 久久国99999| 操逼无码操逼| 欧美视频第二页| 欧美精品二区视频在线| 亚洲精品丝袜| 欧美极品性爱天天射| 亚洲91亚洲| 牛牛AV人人夜夜澡人人爽| 91欧美高清| 亚洲欧洲综合| 成 人 影视 一区 二区 三区 四区| 清纯唯美综合| 熟女啪啪视频| 欧美亚洲色图另类国产| 亚洲一区制服诱惑| 六月婷婷综合| 狠狠爱夜夜| 超碰人人超在线观看| 福利五区| 黑人操一区二区| 国产欧美成人精品| 日本色色色视频| 国模精品一区二区三区苹果色戒 | 久久精品无码熟妇一区二区三区视频导航| 91国产美女丝袜足交精品视频| 91夜夜蜜桃臀1区2区3区| 国产SV一线| 五月天色电影| 97色97好| 大香蕉亚洲中文| 五月丁香啪啪啪| 色噜噜人妻丝袜a∨先锋影| 精品国产少妇高潮视频| www九九热| 深夜视频| 9久在线视频只有精品| 久久东京国产精品视频| 欧美成人黄网色网站| 日韩,欧美,中文在线| 97综合久第一页| 久久久久久AV无码免费网站| 91精品成人| 性爱av网站| 啪啪视频免费在线观看| 久久日韩肥臀| 精品人妻一区春色| 欧美男女午夜啪啪| 伊人网av| 91性高潮久久久久久久久| 亚洲av成人精品一区| 久久久九九| 国产高清不卡视频| 一区二区 韩日AV| 日韩一级特黄av毛片| 久久久97| 久久久久久久久国产| 超碰公开久久网| 久久九九综合| 丁香九月激情| 丁香六月啪啪| 麻豆人妻精品一区二区| 婷婷在线播放| 日韩人成网站在线播放| 国产精品人妻熟女aⅴ| 操逼视频国产无套| 热99这里有精品综合久久 | 久久久久久久久久久久久久久性生活视频| 人人爱人人操人人性| 人人操人人插 - 百度 - 百度| 精品对白久久不卡| 国产乱伦视频污| A级国产欧美激情在线| 日韩无码人妻| 成人乱人伦一区二区| 成人久久久| 国产蜜臀在线| 亚洲婷婷丁香在线| 久久透逼视频| 国产家庭乱伦性爱视频| 伦伦成年午夜免费视频| 99久久久无码国产精品性男| 婷婷激情五月| 亚洲色图a| 91美女色视频亚洲| 精品少妇一区二区三区| 操逼操2| 天天看天天日天天操| 中文字幕123| 精品视频一区二区| 偷拍欧美激情| 欧美日韩黄色片一区二区三区四区人与兽做爱| 激情欧美97| 欧美性猛交美女自慰91| www熟女乱伦com| 91电影色诱| 美女尤物人人操| 欧美日本不卡| 日本三级中国三级99人妇网站| 久操视频这里只有精品| 91亚洲不卡一区| 日本东京热加勒比久久| 欧美综合色综合| 色综合99| 天天操人人操狠狠插| 精品久久九| 韩国黄色片精品久久久| 91久久久久久久久18| 91色综合激情| 国产区91柔拿会所技师| 91n欧美| 日日夜夜狠狠| 精品精品精品| 中文字幕AV片| 日韩精品9999| 欧美丝袜美女电影一二三四区| 欧美A√综合网| 亚洲限制级| 91色情黑丝搞鸡在线观看一区二区三区三州 | 久久久中文版| 夜夜免费视频| 五月亭亭六月丁香| 黄色电影在线播放综合网站| 制服少妇欧美| 九九九不卡| 麻豆天美国美国产| 九九久久一区二区伦理| 尤物视频新赏网鲜网色诱网| 熟妇一区二区三区| 精品性爱无码在线播放| 精品蜜乳AV免费观看| 久久久久9999| 日韩99精品视频综合区| 久久熟女精品不卡一区| 少妇国产不卡| 亚洲欧洲网站免费观看| 色综合V| 97色涩| 国产女人成人精品视频| 色综合20p| 亚洲制服欧美另类内射| 国产高清无码一区三区二区| 强奸乱伦AV一天堂网| 亚洲中文字幕在现观看| 欧洲亚洲人人爽爽视频| 国产老熟女| 26uuu最新| 新精精品久久精品| 日韩二三区| 欧美人与动性人交a| 噜噜在线| 91快色色色色色| 日韩/97| 性久久| 97天天插| 99色色| 国产精品白丝在线播放| 天天综合~91| 大香蕉综合在线| 69精品少妇一区二区三区蜜桃| 欧美性爱日韩高清| 欧美日韩操操操| 人人爽夜夜玩视频| 一区二区 电影 亚洲| 在线黄色污污网站| WWW美腿丝袜香蕉中文| 亚洲日韩资源| 青青操青娱乐| 天天干人人乐| 黑人天8A∨高清网站| 台湾佬中文娱乐自偷自拍| 午夜黄色免费在线观看| 精品综合久久久久久五月天| αⅴ天堂| 欧美激情性久久久久久| www.色婷婷| 97国伦国色| 精品大全99999| 日本色色色网站免费看不卡| 久久天天摸| 97在线视频免费观看| 综合五月天| 欧美系列在线一区二区| 蜜桃久久一区二区| 精品综合久久久久久97| 亚洲成a人v欧美综合天堂下载 | 综合色99| 小明看看网址| 嗯嗯啊啊好疼| 亚洲av热热色| 亚洲性刺激| 男人天堂导航| 岛国福利在线精品播放| 国产亚洲精品无码三区| 色婷婷导航| 久久超碰、| 9.1小视频| 人人搞人人插人人操| 人人操人人大香蕉| 欧美中文字幕男人天堂久久精品| 99re在线视频这里只有精品| 男人午夜天堂| 狠狠操狠狠插| 亚洲双插| 男人天堂黄片| 理论久久婷婷网 8| 青操影院| 超清福利精品视频在线| 男人高清无码一区二区| 日韩欧亚太美不卡| 色色97爱| 综合操逼| 亚洲欧洲无码一区夜| 色妇综合网| 色999亚洲人成色| 亚洲色图久久精品蜜| 亚洲性少妇| 国产资源中文字幕在线 | 国产精品第一页国产大屁股视频免费区i| 欧美性夜| PMv在线观看| 深田咏美亚洲精品福利社| 日韩激情视频| 国产97免费视频| 久热精品在线| 国产精品国产拍高清AV| 国产和美国毛片| 超碰97 线线 在现| 五月婷婷激情网| 热久日综合| 久久久久久网址| 国产1769在线| 男人的天堂久久狠| 国产无码精品无码| 欧美曰韩国产精品| 女人天堂av在线播放| 男人的天堂2019AV| 精人妻一区二区三区| www黄片免费看com| 亚洲色资源| 91精品丝袜久久久久久| 另类天堂| 欧美一区二区| 五月丁香| 久久一二三四| 天天综合精品| 后入式免费视频| 黄色性爱网网| 日日干日日摸| 亚洲婷婷五月天| 天美传媒麻豆一区二区三区国产精| 日本性爱不卡视频| 亚洲AV在线资源| 人妻日日干| 日日夜夜噜| 欧美天天干| 亚洲素人网| 免费观看国产不卡av| 九九热在线精品视频| 欧美爱三级日韩久久| 精品国产三级av韩国在线| 丁香五月偷拍| 国产精品com| 中文字幕人妻丝袜| dy888午夜老子影视达达兔| 两性色网| 一摸二插三插| 久久久久久久伊人精品| 国产2.3.4区| 狠狠爱综合网| 成人免费性爱视视| 熟女高潮合集-永久久久-成人AV| 性做久久久久久久| 性色av一区二区| 免费AV中文网在线观看| 亚洲第一页欧美| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 97超碰欧美| 欧美日韩淫加| 少妇一级无码精品| 亚洲男人的天堂网| 综合久久久久久久久91| A一级色女| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 中文字幕一区二区在线日韩精品| 中文字幕在线观看永久| 日韩黄色一区二区三区| 97精品国产97久久久久久户外免费| 视频二区美腿丝袜制服人妻欧美| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 婷婷影院入口| 成人性爱视频在线看| 一牛影视久久久一区二区三区| 美女露胸露屁股| 91亚洲影视| 久久精品人体| AV一二区| 欧亚性爱视频免费看| 加勒比色99999| 欧美丰满少妇交换91欧美精品| 黄色成年| 精品国产一区二区三区四区在线看| 校园春色美腿丝袜 | 伊人97色天使| 九九人妻| 青青青操| 中文字幕性感少妇av| 九九九不卡| 91黑丝美女| 欧美性爱在线无码| 激情综合二| 日本一区二区不卡| 九九草| 欧美在线啊啊啊| 激情五月综合| 中日韩久久久| 91色人妻| 亚洲中字慕不卡| 狠狠狠狠狠干| 伊人影院综合是一个与深夜成人在线| 十八禁啪啪视频| 中文字幕人乱码中文字的预防方法| 亚洲情色91| 91精品久久综合熟女| 亚洲一区操| 亚洲图片欧美| 国产精选视频| 91精品少妇搡搡搡| 裸体美女久久久| 每日更新AV| 国产精品一区二区亚洲人成毛片| 69人妻精品丰满熟女区| 中文字幕国产精品1区| 国产精品免费视频不卡| 把腿张开老子CAO烂你| 亚州熟女乱伦| 乱伦一二三| dy888午夜老子影视达达兔| 亚91网| 天天综合网合集91| 青青色综合| 国产欧美美女免费观看视频| 成人网址在线观看| 26uuu国产免费观看| 国产一在线观看| 另类天堂| www.成人无码| 日本在线不卡一二区| 校园春色中文字幕AV| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 蜜乳AV一区二区三区四| 欧美亚洲日韩人妻在线观看| 在线 制服丝袜中出 人妻| 用力操死我| 亚洲色图 图片| 美女啊啊啊啊啊| 日韩久久.一级黄色片| 欧美日日操| 久久一区二区高清免费| 蜜乳性色无码专日粉嫩骚逼AV| 被窝影院午夜看片无码| 日韩欧洲操屄视频| 色99视频| 顶级丝袜熟女一区二区三区| 亚洲色吧网| 国产suv精品一区二区四区999| 国产免费大片| 91熟女少妇| 人人操人人摸人人骑| 超碰97 线线 在现| 伊人骚琪琪亚洲天堂网站| 男人天堂2030| 欧美激情在线观看视频| 午夜操一操| JuliaAnn丝袜熟女系列| 欧美日韩中文视频播放| 亚欧性爱在线无码| 亚洲一区二区久久久久| 国色综合天| 搡老女人老妇女老妇老熟女怎么读| 日本性爰一道本| 天天色粽合合合合合合合| 91夜夜蜜桃臀1区2区3区| 区一二区日韩亚洲乱码av电影| 屌逼麻豆| 久久怡红院| 992这里有精品| 家庭乱伦网站国产| 欧美精品1区2区3区| 十八禁视频网站| 98一区二区精品| 狠狠干综合| 旡码电影特区| 人妻熟女一区二区| 91综合网站| 婷婷在线视频在线观看| 极品极品色影院| 日韩pv中文| 男人网站婷婷| 91色伦| 天天爽天天操啊啊啊| AV99热18这里只有精品| 91久久精品美女高潮喷水| 欧美人妻二区三区| 色香色欲天天综合网天天来吧| 在线观看AV片| 激情色播| 麻豆视频test| 人妻丰满熟妇av无码区蜜桃| 精品人妻一区二区三区日产乱码| 久久青青草原免费视频| 人人乐大香蕉| 91无摭挡| 亚洲一区中文精品| 色婷婷99| 麻豆蜜桃视频在线观看| 日韩人妻丝袜美腿中文| 91亚洲黄色网| 一区二区三区探花在线观看| 国产精品视频精品一二| 久久久久久久久久久久久久久乱码| 午夜精品久久久99热蜜桃的功能特点| 久久久新亚洲AV| 青青青国产手线观看视频2| 精品午夜福利导航| 日韩欧美性吧婷婷乱伦大香蕉| 伊人伊人LD| 国产精品一区二区三区免费视频| 一区二区三| 日韩成人综合网| 日韩乱码Av| 国产深喉| 国产精品久久久久无码A√| 婷婷久草一区二区三区| 九热超碰| 中文字幕国产| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 婷婷九月| 青青草导航在线视频| 高清国产无码av| 欧美|91色综合| 啊啊啊啊,啊啊好多水 | av凤凰久久久| 五月天色电影| av网站在线观看了| 俺去久久| 久操99| 欧美日韩精品国产91| 欧美大战久久久伊人| 五月婷婷久久综合| 97大色网| 免费观看日本操逼视频| 男人的天堂啪啪啪啪啪蜜桃不卡| 国产精品毛片| 老司机射| 欧美在线 亚洲| 浓厚中出中文字幕在线| 91+欧美| 日韩天天综合| 亚洲AV无码成人精品久久| 综合91网| 懂色av色欲av蜜臀av| 丰满人妻一区二区三区| 南澳成人一级片在线播放| 亚洲精品a人片在线观看视| 久日综合网| av网站在线观看了| 亚洲精品乱码久久久久久蜜桃麻豆| 久久性爱精品一区| 亚洲一二三精品久久网 | 国产一区二区三区导航| 91强在线播放| 色男人色天堂东京热| 一中国女人毛片水真多| 亚洲第一页欧美| 免费a v| 久久久久9999妇女| 嗯啊不要啊啊在线观看视频| 日本性感人妻91| 色丁香久久| 91情色在线| 亚洲性综合9| 国产精品女aA片爽爽视频| 综合色图亚洲欧美| 午夜福利1区2区3区| 日韩中文字幕2020| 日本三级R| 欧美成人亚洲精品| 免费精品中文字幕| 国产AV天美传媒一区二区三区 | 久久的网站啊啊啊啊啊| 清纯唯美综合亚洲| 久久99网站| 3级毛片一二| 欧美亚洲综合999| 91久久精品美女高潮喷水| 在线观看黄色电话| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 韩国国产欧美情侣视频在线| 国产美女口爆吞精视频| 91精品少妇搡搡搡| 三级三级三级日本99| 亚洲不雅视频1区二区| 亚洲一二三精品久久网| 少妇干B| 丰满欧美放荡少妇在线| 日韩另类色图| 在线综合 亚洲 欧美中文字幕| 96久久久精品| 日韩精品区二区三区不卡| 性色av大全| 精品然女一区二区| 久久久99久9| 久久啊啊| 嫩草影院永久在线制服丝袜| 九九热AV| 日本男人天堂| 亚洲福利影院一区久久| 蜜桃视频一区二区三区| 丁香六月激情综合| 超碰成人人人爽人人爽| 亚洲凸凹超碰成人| 91色艳| 国模不卡| 96精品久久久久久久久| 97超碰总站| 精品无码不卡视频| 天天噜| 99re在线精品78| 97舔舔| 激情综合二| 亚洲色图A| 国产中文福利| 久久久九九网站| 家庭乱伦国产精品| 亚洲免费97免费| 91综合网在线| 亚洲性少妇| 女同性恋久久| 一本精品日本在线视频精品| 国产一区二区a毛片| 精品视频在线观看| 日韩国产十八禁| 国内三级自拍小视频在线观看| 欧美亚洲自拍另类人妻| 青青操视频在线| 黄色成品网站| 免费av大片| 人妻献身系列第54部| 狠日欧美| 96精品久久久| 超碰97玖玖爱| 男人的天堂成人的社区| 色综合五月天| 国产乱伦一二三区| 国产www色在线观看| 影音先锋每日最新资源在线观看 | 国产成人综合网| 思思热久久成人| 天天视频黄| 日日摸天天爽夜夜欢| 中文字幕国产| 欧美综合色图片| 美女丝袜激情小说| 日韩精品作爱导航| 欧美91精彩| 亚洲,欧美,春色,另类| 99热这里只有精品9| 一区二区娱乐网站| 国产精品三级视频网站| 欧美国产伊人久久久久| 韩国一级婬片A片无码天美 | 91欧美经典| 久久九九97| 麻豆婷婷成人一二三| 偷拍欧美激情| 日本理论在线| 婷婷综合在线| 国产成人亚洲精品自产在线 | 日韩人妻有码免费视频| 亚洲欧美内射| 欧美色道啊| 日韩专区久久久| 99精品无码| 熟女少妇一区二区三区| 欧美性五月| 秋霞福利网| 超碰 国产熟女精品一区| 九九人妻| 久草看看看| 欲香欲色综合天天伊人| 欧美色图91| 青青草久草| 中文字幕福利视频一区二区三区在线观看| 日本幼女18+| 嗯嗯啊啊啊好爽| 亚州男人天堂| 欧美97爱| 日本视频在线中文字幕| 亚洲av综合伊人久久| 一线黄色免费性爱片| 岛国色情视频在线观看| 国产三区免费在线观看| 午夜福利视频在线一区| 99精品无码| 亚洲天堂区| 一区二区三区男女操逼黄色小电影| 国产成自自拍在线观看| 亚洲。天堂。日本在线观看| 久久久91| 9国产超碰| 成人26uuu| 国语国产操逼伊人AV网| 亚洲成人免费电影| 5252色欧美在线| 超碰久在线天天做| 国产久久久久久| 欧美黄色片在线播放| 久久久久九九九| 97人肏| 午夜福利在线视频1000| 高清孕妇孕交 交孕妇| 亚洲色宗合| 人妻少妇被猛烈进入中| www.色婷婷| 97资源欧美| 国产suv精品一区| 韩国免费播放一级毛片| 日本日逼高清| av天堂影视中文在字幕在线中文| 国产一区二区三区中文字幕| 日韩一区二区熟女| 一二区在线观看视频| 亚洲黄片免费在线播放| 岛国AB视频| 欧美精品自慰系列寂寞少妇| 亚洲欧美中日韩| 国产久9| 91模特在线观看| 91天天综合日韩欧美| 亚洲精品一二区| 无码又爽又硬又激情免费视频| 夜夜嗨av午夜成人| 双插在线| 美女久久久久久久久久久| 亚洲成人激情小说视频| 婷婷视频网| 免费观看的av| 欧美日韩另类字幕中文| 亚洲国产综合视频| 成人日韩欧美| 天天日天天舔东京热| 97se亚洲综合自| 亚洲精品国产熟女| 怡红院网站在线视频| 国产精品久久发布| 大香蕉综合在线| 亚洲欧美碰碰| 亚洲最大无码中文字幕网站| 啊啊啊啊啊啊啊好爽不要| 60秒免费视频| 久久色精品视频在线| 尤物网址| 欧美熟女激情| 国产精品3| 亚洲欧美一区二区网址| 日韩人妻播放| 亚洲综合99999| 亚洲中文sv| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 亚洲无码成人精品| 国产精品视频电影| 久久久9999| 女同女同恋久久级三级| 91在线限制级| 亚洲国产美女久久久久| 天天操狠狠日夜夜干超碰撸com视频在线观看| 五月天加勒比啪| 国产97亚洲| 伊人久久大香线蕉无码| 热久久99999| 久久在线观看免费视频| 骚货| 亚洲图片欧美另类综合免费视频大大香| 麻豆国产精品午夜视频| 91天天日| 日本一二区不卡| www.色五月| 久久东京热久久| 欧美一级做a爰片免费视频| 上床不卡网站| 日韩黄片视频试看| 欧美大战久久久伊人| 亚洲好看强奸乱伦| 亚洲性猛| 成年人一级黄色毛片大全在线观看| 九一屌逼| 一区二区中文| 欧美综合色站| 影音先锋日本一区二区| 亚洲自拍另类丝袜综合| 黄片视频,下载| 欧洲天天在线| 无码久久亚洲高清,| 热久久99999| 日韩乱伦AⅤ| 岛国大片在线观看网站入口| 欧美一级特黄淫片在线观看| 国产精品自拍欧美在线| 91操人| 日日日日做夜夜夜夜无码| 99久久精品国产高潮| 人妻精品视频一区二区| 欧美无圣光在线| 熟人人妻少妇精品久久| 大香蕉一线视频| 懂色影视久久| 亚洲精品aa久久伊人| 国产91美女视频| 嗯嗯啊操我| 日本熟女不卡视频| 超碰久久网| 97国产高清视频在线观看| 噜噜瑟| 操久久久久久| 国产黄色剧情影片麻豆免费播放| 中文字幕人妻色偷偷久久皮| 国产探花精品在线| 抽插一区二区视频| 国产欧美日韩精品中文| 欧美色综合网| 美女高潮视频91| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 久操97| 大香蕉在线免| 国产亚洲禁久一区二区| 爱逼综合| 超碰在线97国产| 久久曰曰| 午夜福利无毒不卡| 蜜臀中文无码午夜| 红桃视频高潮| 久久性爱网站| 亲子敌伦对白在线播放| 九色97| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 久久噜噜噜精品国产亚洲综合| AV中文在线可看| 三级AV入口| 屁股久久久久久久久| 婷婷香蕉欧美在线一区二区三区 | 天天综合网91| 精品欧美日韩在线观看| 色婷五月| 国产精品探花色| 99999久久精| 麻豆激情综合| 日本久久久久久久久| 亚洲蜜桃V妇女| 91精品人| 白丝少妇一区二区| 在线强奷到舒服的无码视频| 麻豆天美传媒毛片| 精品然女一区二区| 亚洲中文字幕噜噜噜久久久| 国产家庭乱伦网址| 日韩偷拍一区二区三区| 国产又长又大又粗的视频| 亚洲情色婷婷五月天| 亚洲熟女中文字幕在线| 国产一级特黄大片处女| 青青草国产欧美非洲黑人| 男生女生啊啊啊啊| 蜜桃成人1区2区3区| 久久亚洲精品成人av| 欧洲综合无码| 少妇一区二区三区| 久久久18禁| 99久久精品无码一区二区| 一区AV| 亚洲脚交| 少妇第一页| 中文字幕亚洲欧美在线不卡| 操逼网免费无码视频| 国产精品网址| 91AV入口| 性交一区二区在线播放| 亚洲18禁| 精品女人999| 国产一区二区三区精品观看啪| 欧美A片中文字幕| 中文字幕熟女人妻丝袜| 欧美激情区| 97综合久第一页| 亚洲色情在线影视| 熟女日韩| 大香蕉综合| 逼逼逼逼操操操操操操操操操午夜剧场 | 欧美激情黑人| 精吧天堂| 91在线页| 丁香五月天激情| 亚洲日韩成人性爱视频| 100啪啪视频大全| 日日爱99| 1769成人国产精品视频| 一起草三级AV电影在线观看| 中文字幕第23区| 国产av热热色| 日韩精品怡红院| 性爱欧美五月| 精品一区二区三区蜜桃臀www| 性色av一区二区| 一区| 很黄很污的免费网站| 丁香五月影院| 色五月综合| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 久久受www免费人成| 午夜.DJ高清在线观看免费7| 欧美成人一级麻豆| 日韩视频精品在线观看| 人人干黄色| 欧美夜夜草视频| 欧洲亚洲国产综合在线| 18禁免费视频| 久久久无码av精| 欧美αv.com| 91三级理论片播放器| 日本中文字幕在线视频| 九九热精品在线| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 综合情欲网| 国内外激情在线| 美欧色综合| 成人性交午夜免费片| 操死我了啊啊啊| 久久99精品国产| 亚州色图片在线色| 九九九国产精品| 亚洲AV无码乱码| 伊人网免费视频| 黄色区免费观看中文字幕| 免费一级视频特黄色大片| 人妻激情另类| 欧美日韩国产电影| 日韩欧美天堂| 欧美精品庄| 超碰97COm中文| 午夜美女福利视频| av一区二区三区不卡| 亚洲国产成人7777| 国产99精品一区二区三区免费| 岛国AB视频| 久久久久成人亚洲国产| 免费a在线播放v| 91在线免费观看处女| 青青伊人加勒比海| www. 男人天堂成人在线| 欧色网址| 天天干干天天干干| 婷婷五月天激情网| 综合网,亚洲,欧美| 日韩熟女视频二区| 女人综合网| 精品高清一区二区三区三州| 五月激情在线| 午夜福利在线视频1000| 五月天婷婷社区| 伊人黄色片| www99热| 欧美亚洲日韩16色| 丰满人妻一区二区三区免费| 日韩精品一区二区高清| 91丨九色丨大屁股| 色九九九综合| 中文字幕丰满子伦无码专区在线视频最新 | 3PAV乱伦视频| a v网站在线播放| 国产精品爱欲| oumeisetupian| 麻豆精品一区二区三区四区免费观看| 日韩福利综合一区| 亚洲免费精品一区| 欧美91久久久久| 国产精品爆乳懂色蜜乳| 久久久98网站免费视频| 综合色区偷拍| 一级特级aaaa毛片免费观看| www99热| 国产精品久久久久av| 大香蕉丝袜一级片| 91丝袜美腿片| 男人的天堂啪啪啪啪啪蜜桃不卡| 人人操人人肉久久精品| 国产精品自产拍在线观看社区| 成人女人国产| 久久精品一区二区一8| 秋霞一级鲁丝片A片| 9久综合网| 99精品综合久久久久五月天| 草草影院日本第一页| 二区熟妇韩日| 91劲爆| 国产亚洲精品玖玖玖在线观看| 日韩中文字幕在线视频观看| 欧美高潮在线| 欧美人人操人人插| 亚熟在线| 级做a爱无码性色永久免费| 91天天日| 激情欧美97| 99re公开精品免费视频| 大香蕉免费乱伦视频| 伊人操操| 狠狠爱综合网| 色婷婷丁香五月天| 国产十八禁视频| 色九久| 熟女突然公开看18禁影片| 欧美亚洲厕所精品偷拍91| 国产日韩无码一区二区三区久久区| 欧美色五月| 91一区二匹| 蜜桃久久久久久久| 欧州一区二区三区四区| 天天日天天屌天天操| 欧美精品久久96人妻无码| 蜜臀久久99精品久久久久久无删减 | 欧美偷| 伊人色综合欧美| 香蕉国产97| 超碰精品| 日韩兔费看黄片| 国产成人在线观看综合| 91 丝袜在线观看| 久久夜色一区二区| 欧美一区二区在线资源| http://qxhbdz.com| 少妇免费视频| 91精品国产综合久久久蜜臀| 日韩久久三区| 色99视频| 你操综合| 亚洲天堂区| 国产一级内射无挡观看| 蜜臀网址在线| 九九热五区| 国产亚洲一黄| 欧美亚洲综合色| 老女人老91妇女老热女| 亚洲国产尤物yw在线观看| 国产乱不卡| 男人的天堂亚洲| 97亚洲综合影院| 嗯嗯,好大,好爽,好骚| 色成人Www精品永久观看| 一本大道青青| 欧美黑人猛交春色影视大全| 国产福利电影| 操逼短片| 五月丁香激情啪啪| 东北少妇高潮zzzz| 天美麻豆黄色录像| 色性综合| 伊人网青青| 999九九九九国产动| 9 9精品一区二区三区| 激情综合网亚洲| 日韩资源网| 99精品网| 国产成年精品高清在线观看91| 91女优在线观看| 亚州宗合另类| 色欲蜜臀AV| 日本五区不卡| 男人的天堂.com| 超碰人人超在线观看| 亚洲天天综合| 99热18这里只有精品| 欧美性爱97超碰| 色色色天美视频| 久久色网| 97丝袜亚洲在线播放| 一区二区三区在线资源| 人妻少妇被猛烈进入中| 亚洲精品黑丝| 亚洲av总站| 婷婷亚洲综合| 黄色AAAAA欧美| 三四中文字幕| 劲爆欧美人妖三区91| 蜜桃久久久久久| 成人在线视频网| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 91亚洲黑人| 欧美强奸一区二区诱惑| 久久精品无码专区| 日本高清熟女久久一区| 美腿色图| 五月婷婷大香蕉| 奇米四色影视777久久久| 精品人妻一区二区三区四区不卡在| 久湿久久 | 一级啊性爱在线视频| 日韩精品人妻一区二区| 久操av在线| 97亚洲欧美日韩| 日韩伦理久 久久 清纯 | 欧美一区二区亚洲天堂| 在线观看无码三级少妇| 97精品国产精品免费观看| AV中文在线可看| 欧美综合区| 操操逼操操逼操操逼逼| 精品国产三级av韩国在线| 国产白丝网站| 四虎影视 亚洲无码| 99re6国产精品99re| 物尤视频一区二区| 欧美熟女少妇| 91操人| 成人性爱美曰韩| 亚洲熟女性高潮久久久| 欧美黄页| av天堂电影网| 欧美性夜| 香蕉精品二区二区| 国产情色第一第二页在线观看| 91中文精品日韩欧美在线 | 800zy一区二区| 夜夜中出国产| 人妻啊啊人妻啊啊| 无码99| 韩国一级婬片A片AAAAA| 懂色AV蜜臀无码精品APP| 乱伦Av网| 顶级丝袜熟女一区二区三区 | 日本孕妇孕交| 性爱AV天堂| 婷婷另类小说| 搞中出视频在线观看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 69精品在线| 狠狠躁AV| 狼人综合婷婷激情四射 | 国产精品久久久久久久无码AV | 精品国产乱码久久久| 久久婷婷苹果| 色路综合| 午夜噜噜噜| 另类专区加勒比| 99热国产| 男人天堂导航| 久久中文字幕在线观看| 91n免费处女| 伊人亚洲综合| 免费男人的天堂| 高清视频一区| 啪啪啪综合网| 亚洲阿v天堂在线| 蜜乳成人AV| 成年人黄色小视频网站| 青娱乐久久艹| 国产乱伦一二三区| 性爱综合网| 九九热精品在线| 色噜噜人妻丝袜AV资源| 欧美日韩大陆黑人少妇99| 久久精品国产精品| 久久青娱乐| 性色A∨91| 又粗又长又大国产不卡| 国产精品一区二区久久精品| 天天操天天干一区二区| 久久美女福利是上海美女| 91足交| 丁香五月婷婷啪啪| 日韩成人色图| 亚洲视频,小说| 亚洲天天精品| 啊啊啊水好多| 国产午夜精品理论片a大结局| 国产无码高清操逼视频| 强歼乱伦资源网| 久热91| 亚洲男人天堂网久久| 91久久久老司机| 国产精选视频| 人妻三级在线中文字幕| 宅男影院久久久,99| 国产版a级片直播在线| 日韩欧美女优电影| 91久青| 色眯眯av| 五月情色天| 人妻献身系列第54部| 97摸视频| 超碰79人人乐| 偷拍综合亚洲| 国产路线专区| 日韩中文字幕精品一区在线| 在线观看黄色电话| 极品白嫩福利在线| 精人妻无码一区二区三区伊人直播| 亚洲欧美91| 一级片在线观看高清无码| 一起草精品人妻| 五月天色图| 91痴汉| 性爱视频免费网址| 亚洲最大网站av| 91暧暧| 久操免费视频| 嗯啊视频免费在线观看| 97电影院超碰| 60秒免费小视频| 69天堂| 五月丁香社区婷婷日韩欧美精品影院 | 日韩在线一区高清在线| 夂久色| AV久日| henhen91| 国产精品自拍xxxx| 国产视频三区四区| 欧日韩一二三f区| 久久久久免费看少妇A片特黄| 九九黄色网| 天天激色| 丰满人妻aA一区二区三区| 欧亚在线视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 亚洲国产97| 日本三级R| 久九干| 校园春色 亚洲| 免费一级特黄特色大片在线观看看 | 色哟哟 日韩精品| 欧美日韩成人在线| 国产成人精品一区| 欧美日韩在线小说 | 色色色色色色色色色色色色色色综合 | 久久九九国产精品| 久久久激情| 日韩精品人妻中文字有码在线 | 欧美综合 站| 成人五月天色网| 肉丝中文无码高清| 中文字幕一区二区三区50路| 成人免费视瓶| 美女久久久| 中日亚韩免费视频| 久视频在线观看| 自拍内地三级在线观看| 91狠狠综合久久久久久| 国产AV天美传媒一区二区三区 | 嗯嗯啊在线视频|