免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

基于Hadoop與Spark的大數(shù)據(jù)信貸風(fēng)控系統(tǒng):從數(shù)據(jù)鏈路到模型驗證

基于Hadoop與Spark的大數(shù)據(jù)信貸風(fēng)控系統(tǒng):從數(shù)據(jù)鏈路到模型驗證 簡介這是一套基于Hadoop與Spark構(gòu)建的金融信貸風(fēng)險控制系統(tǒng)源碼面向大數(shù)據(jù)開發(fā)、金融風(fēng)控算法及數(shù)據(jù)工程方向的開發(fā)者可用于理解海量借貸數(shù)據(jù)下的信用評估與欺詐檢測全流程。資源包共69個文件大小約72KB以36個Java文件、8個Scala文件組成核心計算邏輯配套12個XML配置及5個properties參數(shù)文件便于調(diào)整Spark/Hive運行環(huán)境與模型參數(shù)另有SQL、JSON、JS等文件輔助數(shù)據(jù)集成與可視化展示。項目覆蓋數(shù)據(jù)接入、預(yù)處理、邏輯回歸/隨機森林等模型訓(xùn)練、風(fēng)險評分及實時批處理結(jié)合等模塊源碼分層清晰適合以此為基礎(chǔ)擴展實時風(fēng)控、特征工程或監(jiān)控告警等實踐。已有1219人學(xué)習(xí)下載對于希望掌握大數(shù)據(jù)風(fēng)控項目架構(gòu)與技術(shù)選型的開發(fā)者來說是一份可直接研讀和二次開發(fā)的參考實現(xiàn)。1. 基于Hadoop、Spark的大數(shù)據(jù)金融信貸風(fēng)險控系統(tǒng)先看懂它的數(shù)據(jù)賬信貸風(fēng)控這個場景有個反直覺的結(jié)論真正決定系統(tǒng)能不能跑起來的不是模型有多先進而是從申請信息、還款流水、外部征信到最終風(fēng)險評分的這條數(shù)據(jù)鏈路是否通暢。我拿到一套大數(shù)據(jù)金融信貸風(fēng)險控系統(tǒng)源碼第一件事從來不是翻模型代碼而是先看它的數(shù)據(jù)處理鏈路是怎么組織的。基于Hadoop、Spark的大數(shù)據(jù)金融信貸風(fēng)險控系統(tǒng)本質(zhì)是用HDFS做全量數(shù)據(jù)底座、用Hadoop生態(tài)做離線批處理、用Spark做高時效計算把信貸審批和貸后監(jiān)控變成一條可審計、可回溯的數(shù)據(jù)流水線。它能解決的是數(shù)據(jù)量大、特征維度多、審批時效要求高的信貸風(fēng)控場景。適合誰讀正在做風(fēng)控平臺技術(shù)選型、準(zhǔn)備把這類源碼落地成生產(chǎn)系統(tǒng)的工程師或者想系統(tǒng)理解數(shù)據(jù)鏈路與模型鏈路如何銜接的新手。2. 從源數(shù)據(jù)到風(fēng)險分Hadoop 做數(shù)據(jù)底座、Spark 做計算引擎的架構(gòu)拆分2.1 分層設(shè)計離線層、近線層、在線層各管哪一段一套完整的信貸風(fēng)控系統(tǒng)數(shù)據(jù)鏈路一定不是一條直線而是按時效性拆成三個層次。離線層跑在Hadoop之上數(shù)據(jù)落在HDFS表結(jié)構(gòu)放在Hive里負(fù)責(zé)T1的全量批處理歷史申請數(shù)據(jù)歸檔、月度特征重算、模型訓(xùn)練樣本生成。近線層用Spark的微批或Structured Streaming負(fù)責(zé)分鐘級到小時級的增量特征刷新比如貸后行為監(jiān)控、額度復(fù)評需要用到的近幾小時交易匯總。在線層則是規(guī)則引擎和模型服務(wù)需要在毫秒級返回風(fēng)險分這部分通常不直接跑Spark而是讀取預(yù)計算好的特征。這里有個常見誤解既然Spark既能做批處理又能做流處理為什么還要保留Hadoop答案是兩者根本不是替代關(guān)系。Hadoop提供的是分布式存儲HDFS和資源調(diào)度YARNSpark是運行在YARN之上的計算框架。換句話說Hadoop是底座Spark是引擎。源碼里如果看到MRv2的作業(yè)或Hive UDF別急著說“這技術(shù)過時了”它們負(fù)責(zé)的是數(shù)據(jù)歸檔、全量重算這類對實時性不敏感但對穩(wěn)定性要求極高的任務(wù)。技術(shù)選型不是追新是讓每類任務(wù)落在它最合適的位置上。三層之間的流轉(zhuǎn)也很關(guān)鍵。離線層產(chǎn)出的特征寬表會被同步到在線層的緩存或特征庫中供實時查詢在線層產(chǎn)生的審批結(jié)果和貸后表現(xiàn)又會回流到Hive表里成為下一輪模型訓(xùn)練的新樣本。這個回環(huán)結(jié)構(gòu)是信貸風(fēng)控系統(tǒng)和一般推薦系統(tǒng)最大的不同風(fēng)控系統(tǒng)的數(shù)據(jù)是自我進化的每放一筆款、每產(chǎn)生一筆逾期都會成為未來模型的訓(xùn)練素材。2.2 特征加工鏈路Spark 做寬表 joinHadoop 做歸檔沉淀特征加工是風(fēng)控系統(tǒng)最重的一塊計算。申請人的基本信息、流水、多頭借貸記錄、歷史逾期記錄分散在幾十張表里必須拉到一起才能計算特征。常見做法是先用Spark SQL做多層寬表加工把明細(xì)數(shù)據(jù)聚合成以申請為粒度的特征表寬表里一行就是一個申請單對應(yīng)的幾百個特征這是后續(xù)模型訓(xùn)練和規(guī)則判斷的輸入。加工過程中Spark的優(yōu)勢體現(xiàn)得很明顯內(nèi)存計算避免了反復(fù)讀寫磁盤同一個口徑下Spark跑一個多表join的耗時通常只有MapReduce的幾分之一這對于需要按天重跑的全量特征任務(wù)來說直接決定了能不能在業(yè)務(wù)開門前跑完。Hadoop在這一環(huán)節(jié)的職責(zé)更多是數(shù)據(jù)沉淀。經(jīng)過Spark加工后的結(jié)果會寫回Hive表以分區(qū)形式組織按業(yè)務(wù)日期分區(qū)存放。這樣設(shè)計的價值在于一旦發(fā)現(xiàn)某個特征口徑算錯了可以只重跑對應(yīng)分區(qū)而不需要動全表另外Hive表配合HDFS的副本機制天然承擔(dān)了數(shù)據(jù)備份和災(zāi)難恢復(fù)的職責(zé)。生產(chǎn)系統(tǒng)里我一般會在離線層保留最近三年的原始明細(xì)數(shù)據(jù)壓縮后存放在HDFS上為后續(xù)的模型回溯分析留足彈藥。用Spark接增量明細(xì)、加工特征再落回Hive分區(qū)表的骨架大概長這樣from pyspark.sql import SparkSession from pyspark.sql.functions import col, to_date, current_timestamp spark SparkSession.builder \ .appName(customer_feature_etl) \ .enableHiveSupport() \ .getOrCreate() biz_date 2025-01-15 df spark.read.format(parquet) \ .load(hdfs:///data/ods/customer_trans/dt{}.format(biz_date)) df_clean df.filter(col(trans_amt) 0) \ .withColumn(etl_time, current_timestamp()) \ .withColumn(feature_dt, to_date(col(trans_time))) df_clean.createOrReplaceTempView(trans_detail) spark.sql( SELECT customer_id, SUM(trans_amt) AS amt_total, COUNT(*) AS cnt_total, AVG(trans_amt) AS amt_avg FROM trans_detail GROUP BY customer_id ).write.mode(overwrite) \ .format(parquet) \ .partitionBy(feature_dt) \ .saveAsTable(dws.customer_feature_agg)代碼邏輯分四步先按業(yè)務(wù)日期讀取ODS層的客戶交易明細(xì)讀取時直接定位到當(dāng)天分區(qū)避免全表掃描然后做基礎(chǔ)清洗過濾掉金額為負(fù)的異常流水同時補上ETL時間和特征日期字段接著注冊成臨時視圖用Spark SQL做聚合最后按feature_dt分區(qū)寫入DWS層特征聚合表。這里有兩個參數(shù)值得留意一是read.load的路徑中dt{}這個日期參數(shù)應(yīng)當(dāng)由調(diào)度平臺傳入保證任務(wù)重跑時能指定正確分區(qū)二是write.mode(overwrite)對于按分區(qū)寫入的場景overwrite模式只覆蓋對應(yīng)分區(qū)不會影響其他日期的數(shù)據(jù)遠(yuǎn)比先刪表再重建安全。2.3 樣本與標(biāo)簽風(fēng)控建模里最容易翻車的時點對齊問題信貸風(fēng)控訓(xùn)練數(shù)據(jù)和普通機器學(xué)習(xí)訓(xùn)練數(shù)據(jù)最大的區(qū)別在于標(biāo)簽不是立刻能拿到的。某筆申請在1月15日通過審批它是不是壞樣本要看放款后90天甚至180天有沒有逾期這就是風(fēng)控里常說的表現(xiàn)期。因此源碼里樣本表的設(shè)計通常包含三個時間字段申請時間、放款時間、表現(xiàn)期截止時間。切樣本的時候只能取那些表現(xiàn)期已經(jīng)走完的歷史申請還在表現(xiàn)期內(nèi)的不能進訓(xùn)練集。特征時點對齊是另一個重災(zāi)區(qū)。訓(xùn)練樣本里某個特征比如近三個月消費金額計算窗口的截止點必須嚴(yán)格卡在申請時間點不能把申請之后的流水也算進去。這個坑如果踩了模型在回測時的AUC會虛高上線后卻立刻失效。典型的錯誤寫法是直接拿當(dāng)前時間作為窗口終點去算歷史樣本的特征這在源代碼評審時是最先要揪出來的問題。正確的做法是把申請時間作為參數(shù)傳入特征計算任務(wù)讓每一條樣本的特征都嚴(yán)格截取在它自己申請時間之前。還有一種常見做法是在數(shù)據(jù)表設(shè)計上做約束申請事實表和特征表都用申請單號做主鍵觀察期、表現(xiàn)期作為字段存下來。這樣不管是訓(xùn)練還是推理都從同一個寬表里取數(shù)避免訓(xùn)練和上線兩套口徑。寬表生成后模型訓(xùn)練只讀這張表不再回源明細(xì)既快又不容易出錯。3. 讀懂這類源碼的四塊核心數(shù)據(jù)接入、特征計算、規(guī)則與模型、任務(wù)調(diào)度3.1 數(shù)據(jù)接入把申請信息與還款流水接進 Hive 的 Spark 作業(yè)骨架拿到源碼包先別急著跑先按目錄結(jié)構(gòu)把模塊劃分認(rèn)清楚。這類系統(tǒng)常見的模塊拆法是數(shù)據(jù)接入層、特征加工層、決策引擎層、管理后臺層。數(shù)據(jù)接入層負(fù)責(zé)把業(yè)務(wù)庫、消息隊列、外部數(shù)據(jù)源里的數(shù)據(jù)搬運到HDFS和Hive里是整個鏈條的起點。信貸場景里的數(shù)據(jù)源有幾種典型形態(tài)業(yè)務(wù)申請數(shù)據(jù)存在業(yè)務(wù)庫中常用Sqoop或DataX同步還款流水和行為埋點走消息隊列外部征信數(shù)據(jù)以文件或接口方式提供。源碼里這一層通常是最穩(wěn)定的因為模式相對固定但也是最先出問題的地方。以還款流水接入為例用Spark接消息隊列再落Hive分區(qū)的骨架代碼如下from pyspark.sql import SparkSession from pyspark.sql.functions import col, from_json, to_date from pyspark.sql.types import StructType, StringType, LongType, DoubleType spark SparkSession.builder \ .appName(repay_flow_ingest) \ .enableHiveSupport() \ .getOrCreate() schema StructType() \ .add(loan_id, StringType()) \ .add(repay_amt, DoubleType()) \ .add(repay_time, LongType()) \ .add(status, StringType()) raw spark.readStream.format(kafka) \ .option(kafka.bootstrap.servers, node01:9092,node02:9092) \ .option(subscribe, repay_flow) \ .option(startingOffsets, latest) \ .load() parsed raw.select( from_json(col(value).cast(string), schema).alias(data) ).select(data.*) parsed parsed.withColumn(dt, to_date(col(repay_time).cast(timestamp))) def write_batch(batch_df, batch_id): batch_df.write.mode(append) \ .format(parquet) \ .partitionBy(dt) \ .saveAsTable(dwd.repay_flow_daily) parsed.writeStream \ .foreachBatch(write_batch) \ .outputMode(append) \ .trigger(processingTime5 minutes) \ .start()這里用了Structured Streaming的foreachBatch模式每5分鐘把攢下的一批數(shù)據(jù)寫入Hive分區(qū)表。foreachBatch比直接writeStream到Hive更可靠因為可以在這里加入去重、格式校驗、甚至調(diào)用其他依賴該批數(shù)據(jù)的任務(wù)。參數(shù)上重點關(guān)注兩處startingOffsets設(shè)為latest表示只消費新數(shù)據(jù)如果要做歷史補數(shù)需要改成earliest或指定offsettrigger的processingTime決定數(shù)據(jù)可見延遲5分鐘一刷對貸后監(jiān)控夠用但需要按業(yè)務(wù)對時效的要求動態(tài)調(diào)整。3.2 特征計算窗口函數(shù)與時間滑窗的典型寫法特征加工是風(fēng)控源碼里代碼量最大的部分也是最值得逐行讀的部分。常見特征按窗口分為近1個月、近3個月、近6個月、近12個月甚至包含節(jié)假日在內(nèi)的特殊時段特征。這類時間滑窗特征在Spark SQL里非常適合用窗口函數(shù)加條件聚合來實現(xiàn)。近3個月還款行為特征的典型SQL寫法如下SELECT loan_id, customer_id, SUM(CASE WHEN repay_status overdue THEN 1 ELSE 0 END) AS overdue_cnt_3m, COUNT(*) AS repay_cnt_3m, SUM(repay_amt) AS repay_amt_3m, AVG(repay_amt) AS repay_avg_amt_3m, MAX(repay_amt) AS repay_max_amt_3m FROM dwd.repay_flow_daily WHERE repay_time TO_DATE(2025-01-15) - INTERVAL 3 MONTHS AND repay_time TO_DATE(2025-01-15) GROUP BY loan_id, customer_id這條SQL把還款明細(xì)按申請單聚合輸出逾期次數(shù)、還款筆數(shù)、總額、均值、最大值五個特征。需要注意的是WHERE條件里窗口終點的寫法用TO_DATE(2025-01-15)而不是CURRENT_DATE。如果用CURRENT_DATE跑歷史樣本的補數(shù)任務(wù)時就會把未來數(shù)據(jù)也算進去導(dǎo)致訓(xùn)練集和線上特征口徑不一致。這個細(xì)節(jié)在多人協(xié)作的項目里反復(fù)出現(xiàn)也是絕大多數(shù)特征口徑事故的根源。另外特征計算任務(wù)最好做成配置驅(qū)動窗口長度、聚合字段、時間字段都放在配置表或配置項里代碼里不寫死。好處有兩個一是新增特征時不用改代碼改配置加一行就行二是模型迭代時方便對照特征清單審查口徑。源碼里如果特征都是硬編碼在一個大SQL里后續(xù)維護成本會很高拿到手后第一步建議就是把它重構(gòu)為配置化。3.3 規(guī)則引擎與模型打分規(guī)則表、PMML、原生 Pipeline 的取舍信貸風(fēng)控決策不是純模型而是規(guī)則與模型融合的結(jié)果。硬規(guī)則負(fù)責(zé)攔截監(jiān)管紅線和極端風(fēng)險比如年齡超限、黑名單命中、身份證格式非法模型負(fù)責(zé)對剩余申請做精細(xì)化風(fēng)險排序。源碼里面向這一塊的代碼通常分兩部分規(guī)則引擎和模型推理服務(wù)。規(guī)則引擎的設(shè)計常見做法是規(guī)則配置化規(guī)則不寫死在代碼里而是放在數(shù)據(jù)庫表或配置文件中支持熱更新。規(guī)則表的結(jié)構(gòu)一般包含這些字段CREATE TABLE risk_rule_set ( rule_id STRING, rule_name STRING, rule_expr STRING, -- 例如 score_model 600 AND apply_amt 50000 action STRING, -- PASS / MANUAL / REJECT priority INT, status STRING, update_time TIMESTAMP );rule_expr里存的是可解析的表達(dá)式規(guī)則引擎啟動時加載全表把表達(dá)式編譯成內(nèi)存對象逐條對申請數(shù)據(jù)做匹配。action表示命中后干什么priority決定多條規(guī)則沖突時聽誰的。把規(guī)則從代碼里抽出來放到表里最大的價值是風(fēng)控業(yè)務(wù)人員可以直接配置、即時生效不需要等開發(fā)排期上線。模型打分這部分選型的核心矛盾是跨語言部署和性能。常見做法有三種把模型導(dǎo)出為PMML格式用Java加載打分導(dǎo)出為ONNX格式用推理引擎加載或者直接用Spark ML庫的Pipeline保存和加載。PMML在信貸風(fēng)控里用得仍然很廣因為它對特征順序敏感字段名一一對應(yīng)部署方不需要關(guān)心訓(xùn)練方的代碼細(xì)節(jié)。用Spark訓(xùn)練完的模型保存并加載做打分流程最順但需要保證運行環(huán)境里有匹配的Spark版本依賴。3.4 任務(wù)調(diào)度與血緣離線任務(wù)為什么必須配調(diào)度信貸系統(tǒng)的離線任務(wù)數(shù)量通常幾十上百個靠crontab或人工觸發(fā)根本管理不過來。源碼包里如果有部署文檔調(diào)度配置一定是重點章節(jié)。調(diào)度平臺要做的事是兩件一是按依賴關(guān)系編排任務(wù)上游產(chǎn)出分區(qū)數(shù)據(jù)后下游才能啟動二是失敗重試和告警任務(wù)掛了自動重試幾次再不行就通知值班的人。任務(wù)依賴編排的核心是數(shù)據(jù)就緒檢測。一個Spark任務(wù)啟動前要先確認(rèn)它依賴的Hive分區(qū)已經(jīng)生成而不是用sleep硬等。常見做法是調(diào)度平臺支持前置檢查節(jié)點檢查SQL返回的分區(qū)數(shù)據(jù)量是否大于0。離線跑批鏈路里ODS同步?jīng)Q定了今天有沒有原材料DWD清洗決定了加工質(zhì)量DWS特征寬表決定了模型和報表能否產(chǎn)出。任何一環(huán)掛掉后面的任務(wù)即使跑成功產(chǎn)出的也是臟數(shù)據(jù)。源碼里這一塊的工程價值最容易被低估但生產(chǎn)事故往往就出在這——任務(wù)報SUCCESS但數(shù)據(jù)是空的比任務(wù)失敗更難排查。血緣管理同樣值得提。每個特征字段要能追溯到它來自哪張源表、經(jīng)過了哪些加工步驟否則排查問題時只能靠翻代碼。實際項目里我會要求所有特征加工腳本都登記一張源表-目標(biāo)表映射表調(diào)度平臺跑完任務(wù)后就更新血緣信息半年下來這套元數(shù)據(jù)比代碼注釋可靠得多。4. 讓源碼落地集群規(guī)劃、打包提交與必調(diào)參數(shù)4.1 環(huán)境選型物理機、云主機還是容器化的判斷標(biāo)準(zhǔn)拿到源碼后的第一個決定是在什么環(huán)境上跑。判斷標(biāo)準(zhǔn)其實就三條數(shù)據(jù)量、任務(wù)節(jié)奏、運維能力。數(shù)據(jù)量在幾TB到幾十TB、任務(wù)以T1批處理為主的用幾臺物理機構(gòu)建小型Hadoop集群最經(jīng)濟。數(shù)據(jù)量在百TB級、還需要彈性擴容應(yīng)對大促高峰的云主機會更合適按需擴容、用完釋放。想跑在容器里的也可以但Hadoop生態(tài)的容器化方案對網(wǎng)絡(luò)和存儲要求比較高運維能力不夠的話不建議一步到位。規(guī)模參考按節(jié)點數(shù)給個常見范圍5臺以內(nèi)屬于入門規(guī)模適合跑通源碼和開發(fā)環(huán)境10到20臺能支撐千萬級用戶的風(fēng)控跑批再往上就要考慮業(yè)務(wù)拆分了。機器規(guī)格方面NameNode節(jié)點對內(nèi)存敏感建議64GB起步DataNode節(jié)點磁盤容量優(yōu)先計算密集時CPU核數(shù)多給一些。Spark的executor和HDFS的DataNode通?;觳吭谕慌?jié)點上這樣數(shù)據(jù)本地性最好——Spark讀數(shù)據(jù)時直接從本機磁盤拿省去網(wǎng)絡(luò)傳輸。4.2 從源碼到運行打包、上傳、提交 Spark 作業(yè)源碼工程一般是Maven或Gradle組織的多模塊工程拿到后先編譯打包再提交到集群運行。打包和提交的命令如下mvn clean package -DskipTests -Pdist hdfs dfs -mkdir -p /apps/credit-risk hdfs dfs -put credit-risk-1.0.jar /apps/credit-risk/ spark-submit \ --master yarn \ --deploy-mode cluster \ --class com.example.credit.CreditBatchMain \ --files hdfs:///apps/credit/risk_rule.conf \ --conf spark.executor.extraJavaOptions-Dconfig.filerisk_rule.conf \ --queue risk \ --executor-memory 16g \ --executor-cores 4 \ --num-executors 20 \ /apps/credit-risk/credit-risk-1.0.jar \ --env prod \ --dt 2025-01-15各參數(shù)作用拆開看--master yarn表示交給集群資源調(diào)度--deploy-mode cluster讓Driver也跑在集群里適合離線批任務(wù)--class指定要運行的入口類--files把外部配置文件分發(fā)到每個執(zhí)行節(jié)點--queue指定YARN隊列把風(fēng)控任務(wù)單獨放一個隊列可以避免和其他業(yè)務(wù)互相搶占資源最后兩個參數(shù)--env和--dt是業(yè)務(wù)參數(shù)--dt就是第2章里提到的業(yè)務(wù)日期特征計算任務(wù)都依賴它來定位分區(qū)。初次啟動時建議先不用--num-executors改用Spark的動態(tài)資源分配讓集群按負(fù)載自動伸縮。等穩(wěn)定運行一段時間后再根據(jù)監(jiān)控數(shù)據(jù)固定executor數(shù)量或直接保留動態(tài)策略。源碼里如果自帶啟動腳本重點看腳本里的參數(shù)值——不同公司集群規(guī)模差異很大直接照搬的后果通常不是OOM就是資源浪費。4.3 必調(diào)參數(shù)executor 內(nèi)存、分區(qū)數(shù)與動態(tài)資源Spark作業(yè)調(diào)參是玄學(xué)但有幾條基本邏輯不是玄學(xué)。Executor內(nèi)存、CPU核數(shù)、分區(qū)數(shù)三者必須放在一起看單獨調(diào)哪一個都可能翻車。常見參數(shù)配置參考如下參數(shù)常見取值調(diào)整依據(jù)spark.executor.memory8g ~ 32g每個任務(wù)的數(shù)據(jù)處理量、是否有大聚合spark.executor.cores2 ~ 4越高并行度越高但要控制單節(jié)點總核數(shù)spark.sql.shuffle.partitions200 ~ 2000和shuffle數(shù)據(jù)量掛鉤過少導(dǎo)致單分區(qū)壓力過大過多導(dǎo)致小文件膨脹spark.dynamicAllocation.enabledtrue / false生產(chǎn)環(huán)境建議開啟讓集群彈性伸縮spark.yarn.executor.memoryOverhead1g ~ 4g存放JVM堆外內(nèi)存頻繁O(jiān)OM時優(yōu)先調(diào)這里spark.sql.adaptive.enabledtrue動態(tài)調(diào)整reduce分區(qū)數(shù)解決數(shù)據(jù)傾斜第一次跑源碼任務(wù)時我一般先把shuffle分區(qū)分母設(shè)成executor總核數(shù)的2到3倍比如20個executor、每個4核、共80核分區(qū)數(shù)設(shè)160到240然后看Spark UI里每個stage的耗時分布。如果某個stage最后幾個task明顯比別的慢很多大概率是數(shù)據(jù)傾斜。解決數(shù)據(jù)傾斜優(yōu)先開spark.sql.adaptive.enabled還不行再考慮加鹽或者拆廣播變量。executor內(nèi)存溢出則優(yōu)先調(diào)memoryOverhead它不是堆內(nèi)存但堆外內(nèi)存不夠一樣會OOM。還有一個容易被忽略的參數(shù)是spark.speculation開啟后Spark會重跑那些明顯滯后的task取最先完成的那個結(jié)果。對大數(shù)據(jù)量的批處理任務(wù)能兜底但也可能帶來重復(fù)計算穩(wěn)妥做法是在跑的慢的節(jié)點上臨時開啟穩(wěn)定后關(guān)掉。參數(shù)調(diào)整后必須觀察Spark UI上的GC時間、shuffle落地量、單task處理時長三個指標(biāo)不要只看任務(wù)成功還是失敗。5. 風(fēng)控系統(tǒng)落地避坑五條值得記住的排查記錄5.1 現(xiàn)象夜間批處理任務(wù)堆積Spark 作業(yè)反復(fù)失敗某次生產(chǎn)環(huán)境凌晨的T1批處理任務(wù)在3點后開始堆積Spark作業(yè)提交成功但運行幾分鐘后就被YARN殺掉。現(xiàn)象是任務(wù)反復(fù)失敗日志里出現(xiàn)大量ExecutorLostFailure和Container killed messages。原因是executor申請的內(nèi)存超過節(jié)點可用內(nèi)存加上多個任務(wù)在同一批節(jié)點上同時運行物理內(nèi)存被打滿后觸發(fā)系統(tǒng)OOM容器直接被回收。這不是單次任務(wù)的問題而是所有夜間批任務(wù)擠在同一時間窗口、資源池沒有隔離的必然結(jié)果。解決分兩步先給風(fēng)控任務(wù)單獨劃分YARN隊列限制隊列最大資源占用防止批任務(wù)之間互相爭搶再調(diào)小單executor內(nèi)存把16g降到8g同時增加executor數(shù)量保住總計算能力。更根本的辦法是把大任務(wù)拆成多個有依賴關(guān)系的小任務(wù)錯峰執(zhí)行讓峰值內(nèi)存需求錯開。5.2 現(xiàn)象實時評分接口延遲抖動從 200ms 漲到 2s風(fēng)控實時評分接口平時穩(wěn)定在200ms左右某段時間開始下午高峰期漲到2s甚至超時?,F(xiàn)象沒有規(guī)律不是每次都慢但慢的時候集中在流量大的時間段。抓線程和GC日志后發(fā)現(xiàn)在線評分服務(wù)讀取特征緩存時每次都用同步方式請求遠(yuǎn)程緩存一旦緩存服務(wù)出現(xiàn)網(wǎng)絡(luò)抖動或者慢查詢調(diào)用方線程全部阻塞在等待上。另外服務(wù)本身的JVM堆設(shè)置偏小高峰期Full GC頻繁也會放大延遲。解決是在評分服務(wù)本地加一層二級緩存把熱點特征緩存到本地內(nèi)存設(shè)置2分鐘的過期時間遠(yuǎn)程緩存只在本地未命中時回源。同時把遠(yuǎn)程緩存查詢改成異步刷新請求進來先查本地緩存查不到就直接回源一次后臺再異步更新。改動后接口延遲穩(wěn)定在100ms到300ms之間抖動問題沒有再出現(xiàn)。5.3 現(xiàn)象訓(xùn)練集和線上特征口徑對不上模型 AUC 虛高模型在回測時AUC到了0.82上線后實際區(qū)分能力明顯達(dá)不到回測水平調(diào)閾值也沒用。排查后發(fā)現(xiàn)訓(xùn)練特征和上線特征不是一個源頭。根因在特征計算任務(wù)的日期參數(shù)上。訓(xùn)練樣本的特征是歷史某一天跑的批任務(wù)產(chǎn)出的當(dāng)時用的窗口終點是當(dāng)天線上評分時特征服務(wù)用的窗口終點是當(dāng)前時刻。對同一個申請單如果特征引用的是未來一段時間的流水訓(xùn)練出來的特征分布和線上完全不同。更隱蔽的是缺失值處理邏輯不一致訓(xùn)練時用了全表均值填充線上實時服務(wù)沒有這個均值表填的0分布直接偏移。解決是整個團隊統(tǒng)一用特征生成腳本的同一份代碼訓(xùn)練和線上共用一套特征邏輯。新增一個特征校驗任務(wù)每天對比訓(xùn)練特征表和線上特征表的同名字段的均值、標(biāo)準(zhǔn)差、分布差異PSI超閾值就報警。這個機制上線后口徑不一致的問題基本做到了早發(fā)現(xiàn)早處理。5.4 現(xiàn)象Hive 小文件暴漲NameNode 內(nèi)存吃緊集群NameNode堆內(nèi)存使用率持續(xù)攀升Hive表查詢越來越慢。查看后發(fā)現(xiàn)DWS層特征表的文件數(shù)量從上萬個漲到了十幾萬個大量幾KB到幾百KB的小文件占滿了NameNode內(nèi)存。原因是特征計算任務(wù)用了動態(tài)分區(qū)寫Hive同時shuffle分區(qū)數(shù)設(shè)得過大Spark寫出的文件數(shù)量等于shuffle分區(qū)數(shù)乘以動態(tài)分區(qū)數(shù)數(shù)據(jù)量沒漲文件數(shù)漲了好幾倍。小文件多不僅拖垮NameNode還會讓后續(xù)讀取任務(wù)啟動大量task每個task都在做元數(shù)據(jù)操作整個集群變慢。解決分兩層Spark寫入前先做一次repartition把輸出分區(qū)數(shù)控制在合理范圍內(nèi)寫入后跑一次合并任務(wù)用Hive的MERGE或Spark repartition按新分區(qū)數(shù)重寫一遍。參數(shù)方面把spark.sql.shuffle.partitions從2000降到400匹配實際數(shù)據(jù)規(guī)模而不是簡單照搬。關(guān)鍵是建立一條小文件巡檢任務(wù)每天統(tǒng)計各層表的文件數(shù)變化超過閾值就自動觸發(fā)合并。5.5 現(xiàn)象模型上線后壞賬率不降反升新模型上線一個月后審批通過率沒有明顯變化壞賬率卻比舊模型時期高了一截。團隊第一反應(yīng)是模型不行但要區(qū)分是模型本身的問題還是客群結(jié)構(gòu)變化的問題。排查后發(fā)現(xiàn)新模型確實更準(zhǔn)但它會把一批舊模型認(rèn)為高風(fēng)險、拒絕掉的人群放進來。這批人其實是舊模型時期被拒絕、沒有真實貸后表現(xiàn)、只能靠拒絕推斷去估計其風(fēng)險的人。新模型使用了更寬泛的特征給了部分原本該拒絕的人通過而這些人的實際表現(xiàn)比訓(xùn)練時預(yù)估的更差。解決思路是引入拒絕推斷的修正樣本把被拒絕人群的風(fēng)險標(biāo)簽做權(quán)重調(diào)整后放進訓(xùn)練集同時上線前做嚴(yán)格的回測和影子評分。更穩(wěn)妥的做法是新模型分階段放量先放行新模型判定為低風(fēng)險的申請觀察幾周真實貸后表現(xiàn)再逐步放開閾值。這樣即使模型有偏差損失也可控。6. 拿來即用的進階驗證回測與影子評分給上線前的模型兜底回測和影子評分是我在信貸風(fēng)控項目里最看重的兩道驗證工序?;販y的核心是時間切分把歷史數(shù)據(jù)按時間切兩段前一段用來訓(xùn)練后一段用來驗證。和一般機器學(xué)習(xí)隨機切分不同風(fēng)控回測必須按時間切因為信貸樣本天然有時序關(guān)系隨機切分會把未來信息泄漏進訓(xùn)練集。切分點一般選在表現(xiàn)期之前比如驗證段要留出90天表現(xiàn)期那就至少把最后90天的申請排除出訓(xùn)練集?;販y指標(biāo)要同時看區(qū)分度、排序穩(wěn)定性和群體穩(wěn)定性三類區(qū)分度看KS和AUC排序穩(wěn)定性看每個分?jǐn)?shù)段通過率是否和訓(xùn)練期一致群體穩(wěn)定性看PSIPSI超過0.25說明推理時的特征分布和訓(xùn)練期差異已經(jīng)很大模型需要重訓(xùn)。影子評分是把新模型旁路部署在線上但不參與實際決策生產(chǎn)請求進來舊模型打分決定審批結(jié)果新模型同時打分但結(jié)果只落庫不生效。跑上一到兩個星期拿新模型的分和舊模型的分做對比看排序一致性、各分?jǐn)?shù)段通過率差異、特征分布偏移情況。影子評分能驗證一件事回測驗證不了的事特征在真實線上環(huán)境里取數(shù)是否穩(wěn)定。我在一個項目上吃過虧回測時AUC很漂亮影子跑了一周發(fā)現(xiàn)新模型的評分均值比舊模型低了將近30分原因是線上特征服務(wù)對某些長尾特征取到的值大量為0和訓(xùn)練時的分布完全脫節(jié)。從那次以后我養(yǎng)成一個習(xí)慣任何模型上線前必須跑至少一周影子評分并對比分位數(shù)、PSI和特征覆蓋率三個報表。這個習(xí)慣雖然讓上線周期拉長了幾天但攔下了不少看著好看、落地就翻車的模型。這套驗證鏈路值得每一個做信貸風(fēng)控的團隊堅持希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷丁香社区| 思思re视频在线| 九九视频在线观看| 久久国产色| 亚洲黄色影视| 久九九热| 婷婷激情久久| 国产精品涩涩涩视频网站| 99爱在线视频观看| 婷婷五月激情的图片| 99re8热精品免费视频| 97碰碰视频| 五月激情精品视频| 日本一毛片| 99噜噜噜在线播放| 亚洲色色色| 激情小说五月欧美亚洲丁香| 天天开心AV色综合婷婷五月天| 丁香五月大香蕉AV| 91大屁股在线| 亚洲精品久久久久久久久久飞鱼| 色色激情五月天| 逼里香不卡| 99热网站| 伦乱天堂| 婷婷五月综合久久中文字幕| 欧美啪啪网| 熟女人妻一区二区三区免费看| 激情五月久久| 天天干天干| 亚洲五月天第一综合干| 久99久在线| 1769在线观看欧美国产| 97久久人人人干| Av九九| 亚洲欧美另类在线23p| 欧美va亚洲va| 新久久五月天激情| 亚洲欧洲99| www久久久久| 99这里只有精品| 欧美色99| www.久久| 综合激情五月丁香| 亚洲综合五月| 丁香五月婷婷基地| 五月丁香综合激情| 桃色成人网| 91九九| 人人操AV| 99ri国产在线| 久久丁香| 996热| 99碰网站| 五月天社区| 色噜噜狠狠一区二区三区| 爱的综合网| 国产va在线视频| 成人噜噜网| 人人操人人干AV| 婷婷六月久久| www.99热这里精品| 9久久久| 激情婷婷在线| 久久久免费图片视频| 96自拍视频九色在线观看| 91操碰| 五月天色丁香| 年轻的妺妺伦理HD中文 | 日韩欧美老妇性视频91久久久| 色婷婷aV四虎| 91丁香五月| 爆乳熟女一区二区三区爆乳| 97久久久久| 97se视频在线| 婷婷开心深爱五月天| 精品久久99| 色色五月天激情| 婷婷九九| 嫩草AV久久伊人妇女超级A| 99ri国产| 欧美成人AAA片一区国产精品| 九热视频| 婷婷九月丁香中文| 久99久视频免费观看| 182TV大香蕉| 大香蕉久久久| 婷婷黄色五月天在线视频| 婷婷丁香六月综合激情站| 成人五月天在线观看| 丁香五月香蕉在线| 秋霞三及片| 五月丁香婷婷综合| 久久综合九九| 丁香五月婷婷少妇| 色婷丁香| 丁香婷婷色五月天| 激情六月丁香| 影音先锋自拍网| 色五月噜噜| cao久久| 色99在线视频| 可以免费看的av网站| 99热这里只有精品在线播放| 丁香五月激情视频在线| 色婷婷狠狠18yy| 五月婷婷丁香综合| 婷婷色色网站| 91视频一起草| www.日韩艹| 久久色五月天综合网| 激情深爱五月天| 99九九99九九九视频精彩| 99热这里是精品| 丁香婷婷五月激情四射网| 99热国产婷婷| 麻豆五月丁香婷婷| 婷婷五月六月| aV欲望人妻中文字幕| 亚洲一个色| www久热com| 日本三级中国三级99| 97操操| 婷婷五月精品| 婷丁五月| 曰曰久久| 另类视屏| 久热A| 丁香婷婷五月综合色情| 天天透天天干| renre人人操国产超碰在线| 五月丁香六月婷婷欧美综合| 亚洲精品一区无码A片| 欧美日韩日韩成人| 另类激情五月| 五月丁香啪啪| 色久九| 99热这里只有精品在线播放| 亚洲国产精品VA在线看黑人| 综合五月天亚洲婷婷| 色五月丁香婷婷| 天天做天天爽| 五月婷婷免费| 大香蕉五月天婷婷| 丁香五月激情视频在线| www.色五月天.com| 热思思九九| 色婷婷五月天激情在线播放| 色你久久| 激情五月综合网最新| 无码地址| 久99综合婷婷| 99天堂网最新| 欧美婷婷五月天综合| 六月婷婷综合激情| www,99色| 婷婷激情五月天小说| 91啪啪视频| 国产一区18| 99热精品综合| 亚洲亚洲人成综合网络| www.五月天| 天天舔天天爽| 久热天堂| 99热这里只有精品86| 激情综合网,婷婷| www.色综合.com| 婷婷五月天97干| 丁香五月婷婷亚洲人| 九九婷婷五月天| 天堂草在线观看| 操碰97| 久久久精品AV| 91seav| 97人妻碰碰碰久久| 啪啪99| 色色草97| 亚洲天天操| 久久婷婷老| 第2色五月婷| 激情综合婷婷| 91操操| 综合久久高清| 色情五月综合婷婷| 激情婷婷五月| 六月婷婷狠狠色在线观看| 色色色色网站| 91婷婷色 | 开心婷婷五| 色激情五月| 亚洲成人影视在线| 色了色综合| 色婷婷成人做爰A片免费看网站| 色婷婷五月婷婷五月婷婷五月| 激情五月久久| 欧美这里只有精品| 国产日比| 九九综合九九| 这里只有精彩视频| 丁香六月视频免费观看| 97碰91| 天天色图| 9|在线观看视频| 99re热精品在线视频| 日本一级一片免费视频| 最新av在线观看| 五月天天综合网色婷婷| www.综合久久.com| 国产欧美婷婷五月| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 天天撸天天干天天插| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 人妻精品一区二区三区| 久久婷婷五月天蜜桃| 网色99| 婷婷丁香97| 操比激情五月综合| 五月天丁香网| 96五月丁香熟女| 色爱综合五月| 91久久久久久| 五月婷婷九| www.久操| 五月天激情丁香| 色五月开心五月激情五月| 嫩草极品| 直接看的AV| 欧美人久久| 五月开心久久| 亚洲色情网站| 久久久婷婷婷| www.99色在线| 超碰91在线| 久久综合网免费视频| 国产精品久久久久久久久久| 色色色无码| 伊人玖玖婷婷| 亚洲色色色| www激情com| 97五月久久丁香婷婷| 91久久久久久久久18| 97在线观视频免费观看| a久久免费视频| www,欧美干干干干干干| 亚洲色99| 久久综合五月天| www.五月婷婷久久.com| 91色在线 | 日韩| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 激情五月丁香六月| 久久九九免费大视频| www.丁香黄色五月天人与| WWW.17C亚洲精品| 色播五月婷婷综合| AV动漫不卡无码免费| 亚洲无码色| 激情综合色婷婷啪啪六月天| 日本成人小说婷婷六月| 思思99热热热99| 色欲AVV| 91九色国产在线| 婷婷五月天手机版视频| 色色色综合网| 久久伦乱| 狠狠色丁香婷婷五月| 99精彩视频| 开心五月激情网| 五月天色官网| 五月天天丁香婷婷在线中| 亚洲成人电影在线免费观看| 武则天精品久久| 26uuuuuuuu国产| 99热最新地址在线| 婷婷色丁香五月| 天天射影院| 青草性爱视频| 超碰在线99| 色婷婷在线影院| 婷婷99狠狠躁天天久久久九九九| 九九热精品视频在线观看| 狠狠干无码| 亚洲狠狠婷婷综合久久久| 超碰色婷婷| 91在线97视频| 日韩av手机在线观看| 婷婷中文字幕| 欧美内射AA| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 操97在线观看| 色五月 婷婷, 大香蕉| 五月婷婷色色| 婷五月天在线草| 日日夜夜天天| 婷婷色中文| 97久久久久| 色色AV色色色东莞| 夜夜夜夜夜操| 色视频五月天| 思思精品热在线| 婷婷激情丁五月| 色情·com| 丁香五月综合| 综合丁香婷婷五月天| 激情综合五月天| 天天肏高清在线| 97婷婷狠狠| 99色日本| 91精品国产99久久久久久天美| 五月婷婷六月情| 六月丁香色婷婷| 婷婷射图五月天| 天天干天天操天天干天天操天天干天天操| 狠狠色丁香婷婷基地| 日日爽日日操| 热这里| 大香蕉久| www.色婷婷。com| 婷婷爱综合| 99热国产这里只有| 夜夜爽天操| 丁香五月激情鲁| 激情九九这里只有精品| 99热.com| 9l视频自拍9l视频自拍九色学生| 超碰AV在线| 日日综合网| 粉嫩AV久久一区二区三区| 国产av天堂| 国产看真人毛片爱做A片| 九九在线热九九在线热99热| 色情成人五月天| 五月天色色色色色| 九九九九毛片| 就爱干 在线| 欧美激情五月| 9l视频自拍9l九色9l成人| www九九| 狠狠做深爱婷婷久久综合一区| 丁香五月色| 99操视频| 婷婷六久久| 久久久99免费视频| 99久久婷婷国产综合精品草原| 免费看欧美成人A片无码| 亚洲A片成人无码久久精品青桔 | 亚洲六月婷婷| 伊人热在线大香蕉| 91成人看片| 激情影院内射| 婷婷五月天男人影院色色网| 亚洲天堂大香蕉| 99无码| www五月婷婷88导航| 色黄啪啪| 人人操Av| 久久天天| 欧洲电影在线观看免费版英语版| 9久久久| 日韩成人AV在线| 啪啪 综合网| 五月丁香久久婷| 91青娱乐青青草| 婷婷五月综合色中文字幕| 婷婷成人丁香色情基地30 | 九九碰九九爱97| 99热这里在线精品| 五月天激情久久| 九九综合| 伊人久久丁香五月91| 狠狠第四色| 骚逼视频一区2区| 9久久婷婷国产综合精品性色| 琪琪理论片| 日本熟女二区| 狠狠色婷婷7777久| 色99在线观看| 小香蕉av| 色婷亚洲| 亚洲在线操| 色五月综合激情| 99热99干| 婷婷黄色五月| 五月天色不卡| 激情综合网色播五月| 婷婷五月综合网激情| 99碰碰| 五月好婷婷| 俺去也婷婷| 婷婷刺激综合| 丁香婷婷六月激情文学| 操逼三区| 丁香五月婷婷国产av| 91人人爽狠狠狠| 天天天天天日| 日本婷婷色| 婷婷欧美色| 五月婷婷草| 99re欧美精品| 五月天激情国产综合AV| 六月色婷婷欧美| 99er久久| 丁香五月婷婷综合啪啪| 婷婷区日本| 99国产在线| 噜噜操操| www久久久久久久| 六月丁香五月天| 精品成人无码A片观看香草视频| 婷婷丁香五月天影院| 涩五月色婷婷| 婷婷综合伊人| 五月激情六月综合| 新激情五月天| 婷婷色情小说| 日本三级第一页| 婷婷5月开心6月| 思思久久99| 五月婷婷六月丁香综合| VA色婷婷| 色婷五月| 夜夜操夜夜操| 四月婷婷五月色综合| 99九九在线精品热动漫| 丁香九月综合| 91一起操| 【乱子伦】黄色| 狠狠色成人影片| 99re66热这里只有精品| 99在线免费视频| 久久无码激情视频| www.五月天| 久久这里只有精品07| 色五月天综合网| 伊人激情| 97caop| va婷婷在线免费观看| 九九热视频这里只有精品| 天天做天天爱天天高潮| 婷婷在线五月天观看| 亚洲日韩一页精品发布| 9这里只有精品| 五月丁香| 激情婷婷五月基地| 黑人无码一区| 夜夜撸日日操| 五月天婷婷成人资源站| 色五月大| 操操碰| 夜夜操夜夜姧| 天色综合网| 亚洲成人中心| 五月色亭丁香| 激情五月天.色网| 人妻久久久久久| 五月天激情四射网站| 99人这里只有精品| 色在线99| 日本激情综合| 婷婷六月视频| 色情成人五月天| 天天综合干| 99在线视频操999| 欧美xx激情视频在线观看| 天天综合五月天| 综合激情五月天| 亚洲综合新99视频| .肏屄视频一区二区| 任你搞网站| 999精品乱码77777| 久久久av久av久片一区二区| 九九热视频在线观看| 超碰在线成人| 九九艹女| 丁香五月播播| 婷婷婷婷婷开心无码播放| 日本色图综合| 无码少妇高潮喷水A片免费| 婷婷五月天免费视频| 91久久精品视频| 色五月激情五月天| 久久性视频| wwccc久久久| 亚洲在线成人| 国自产拍偷拍精品啪啪一区二区 | 开心五月深爱五月丁香五月激情五月| 色三级色三级| 国产欧美精品AAAAAA片| 五月丁香大香蕉| 婷婷情色开心五月天99| 久久久精品色| 99热精品10| 五月天基地| 色色热| 精品丁香五月天在线播放| 五月Huangsewang| 在线综合91| 五月婷综合性中心| 亚洲第一综合| 天天色视频| 青青草深爱激情网| 五月丁香色婷婷久久| 中文人妻AV久久人妻18| 亚洲成人一区| 日本爆乳片手机在线播放| 日韩狠狠色婷婷| 色色色丁香| 99这里有精品| www.超碰在线| 五月丁香六月激情| 开心日韩丁香婷婷五月| 五月天激情综合网俺也去| 色爱综合五月| 六月丁香色婷婷| 激情5月舔| 91色逼| 丁香五月婷婷激情蜜桃| 深夜婷婷 丁香| 五月婷婷久久综合| 久久五月视频| 婷婷伊人中文字幕| 日本啪啪天堂| 久久 婷婷 五月天| 六月婷婷视频| 99久久久久久www| 五月色亚洲| 激情五月综合网最新 | 亚洲成人网站在线观看| 五月婷婷在线免费观看 | 久Se视频在线观看| 丁香五月777| 92久久久| 亚洲在线成人| 无码一级片| 免费一区二区三区| 婷婷黄色网| 婷婷五月丁香第四色超碰在线| 狠狠狠狠狠狠| 无码人妻少妇色欲AV一区二区 | 欧洲综合视频| www.99热视频| 久色网| 超碰人人干| 伊人www22综合色| 99热在线中文字幕| 99色视频在线观看最新| 五月丁香啪啪啪综合网| 亚洲综合五月天| 少妇激情五月天| 超碰在线人妻| 99自拍视频在线观看| 噜噜狠狠色综合久| 激情久久久久久| 欧美影院婷婷| 五月婷婷色| 狠狠色色| 五月天色色无码| 久久久婷丁香五月| 欧美超碰亚洲| 91久久久久久久91| 99操逼| 九九视频免费| 日韩五月天婷婷| 青青草婷婷综合五月| 99在线69| 大香蕉综合在线| 91爱操| 嫩草AV久久伊人妇女超级A| 中日韩狠狠色| 色五月五月婷婷| 九九 激情 网| 婷婷午夜精品久久久| AV堂狠狠干| 日韩啪啪网| 96性爱视频| 97操资源婷婷| 中文在线成人| 丁香婷婷精品视频| 精品国产一区二区三区四区阿崩 | www.超碰在线| 色色色热| 激情五月,激情综合网| 久久婷婷五月激情综合| 免费观看亚洲AV片| 激情婷婷五月丁香啪啪啪| 久久这里有| 色狠狠综合入口| 天天久久狠狠色综合| 天天爽夜夜爽夜夜爽精| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | www.色色五月天.com| 思思热视频在线| 森林影视大全,最好看的2019年视频 | 国产成人精品一区二三区熟女在线| 日韩久久这里只有精品| 狠狠九九婷婷韩| 色婷婷久久| 丁香五月狠狠综合欧美| 欧美大道不卡| 亚洲视频一区| 五月婷丁香| 婷婷免费精品视频| av在线播放网站| 99精品在线| 日本激情ⅩXX免费视频| www.夜夜爱.com| 狠狠狠色激情综合适合| 色天天综合天天综合频道。 | 亚洲国产99| 噜噜噜噜婷婷五月天| 九九99精品免费播放| 激情综合六月| 精品九九网| 九久9精品| 天天操屄网| 99色激| 五月天婷婷丁香人人操91| 青草激情综合| 色久五月天| 欧洲一区二区| 狠狠爱成人综合网| 国产激情综合五月久久| 六月激情婷婷| 热久久66| 他改变了拜占庭| 日韩婷久| 99国产精品白浆在线观看免费| 亚洲一区二区无遮挡A片| 婷婷五月天.com| 成人在线网站| 九九热9| 色五月丁香网| 91九色熟女| 99re这里只有精品在线观看| 久久五月天激情美女| 大香蕉啪啪啪啪啪啪| 少妇人妻偷人精品无码视频新浪| 丁香六月啪啪啪| 精品综合五月| 天天天久久久| 在线观看的av| 99热 在线播放| 国产肥白大熟妇BBBB视频| 超碰在线精品| 五月婷婷无码专区| 99er这里只有精品| 操逼毛片国语对白| 婷婷丁香色五月天| 99热思思| 五月丁香婷婷色| 色色色综合网| 五月激情站| 开心五月婷| 五月婷婷xxx| 91免费看片| 婷婷色基地在线看 | 98色丁香五月婷婷综合网| 天天肏在线| 天天做天天爽| 欧美va在线| 九九色综合九九色| 久久aaa| 99久热这里只有精品视频删减版| 久久网日本| 久久宗合影| 日本9区视频| 日本韩国视频在线观看社区免费的9| 性爱综合网| 人人干99| 丁香婷婷色五月| 丁香五月精品| 日日爽天天| 激情5月天天天| 色丁香五月婷婷婷| 成人va在线观看视频| 色婷婷久久| 99精品久久久久久久婷婷| 91肏| 97人人看| 亚洲AV网址| w婷婷五月婷婷w| 9久热在线视频精品| 激情五月色综合网| 精品国婬伦V无码久久久| 任你躁XXXXX麻豆精品| 久久在线视频免费观看| 亚洲国产精品VA在线看黑人| 日本欧美成人片AAAA| 极品人妻VIDEOSSS人妻| 思思热在线| 五月天久久久| 色婷婷成人做爰A片免费看网站| 色婷婷电影网| 国产熟妇乱子伦hd| 婷婷视频在线碰| 午夜69成人做爰视频| 大战熟女丰满人妻AV| 亚洲愉拍99热成人精品| AV片在线观看| 婷婷五月丁香色播| 91凹凸在线| 丁香九月久久| 六月激情婷婷色| 久久伊人日日夜夜| 99精品22| 五月婷婷 激情五月| 日本婷色| 久久98| 99热在线播放| 最近中文字幕2019视频1| 久99久视频精品| 香蕉五月婷婷| 91色操| 婷婷五月综合婷婷| 五月丁香另类网| 五月天婷婷视频| 九九热99免费视频| 99久久99久久综合| 99在线视频观看| 色色五月天com| 婷婷久久网| 婷婷五月天激情在线观看| 天天在线久久综合| 九九视频这里只有精彩| 91色在线 | 日韩| 色综合综合色| 成人做爰高潮A片免费视频| 丁香五月婷婷影视先锋| 啪啪99| 久热2025无码| 丁香五月综合AV在线| 超碰人人色| 亚洲精品国产A久久久久久| 成人视频免费观看高清完整版在线观看| 五月天婷婷社区久久综合| 婷婷内射视频在线| 玖玖在线资源视频| 噜啊噜在线| 99热在线观看| 天天综合网色欲香| 九九精品在线视频观看| 婷婷伊人五月| 亚洲色综合| 五月婷视频| 亚洲小电影在线观看黄999| 久久婷出差欧美色两性综合网| 天天摸色吧天天摸色吧| 久久人人九九| 久久久久9久无码视频| 秋霞A V毛片| 狠狠操狠狠狠| 丁香激情网| 婷婷五月激情网| 亚洲精品另类| 再綫Av免费視品| 噜噜狠狠色综无码久久合欧美| 五月婷婷激情网| 夜夜AVV| 婷婷丁香六月五月天| 色久天| 99热日本| 九九热99视频在线| 五月婷婷六月奇米网丁香| 丁香婷婷噜噜| 天天射影院| 日韩操逼大片| 天天爽天天干天天| 亚洲亚洲人成综合网络| 五月天婷婷操逼视频| 激情五月婷婷中文字幕| 少妇激情五月天| 开心久久网婷婷| 九九99九九99| 夜夜操夜夜操| 国产精品18久久久| 色九区| 人妻精品一区二区三区| 国产又色又爽又黄又免费| 性色婷婷| 激情六月天婷婷| 黄色片久久| 激情五月天色色| 色色a| 99re8热精品免费视频| 人人草公开操| 激情综合网激情五月天| 五月丁香激情综合网官网| 欧美激情五月天在线观看| 91九色|疯狂|高潮|对白|| 涩丁香91| 婷婷夜夜夜夜| 亚洲无码色| 天天爽夜夜爽夜夜爽精品| 啪色综合| 五月天怕怕| 能直接看的AV网站| 国产精品久久久久久久久久| 亚洲综合在线视频| 大香蕉婷婷五月| 色五月激情综合网站| 天天射综合网天天插| 五月丁香激情综合| 九九色逼| 日日噜噜夜夜狠狠久久丁香六月| 婷婷97C| VA婷婷亚洲| 婷婷成人基地| 99热精在线九九久久保| 人人干av| 九九热a| 亚州色婷婷| WWW.久久久久久久| 色五月婷婷操逼| 超碰爱爱爱| 99热8| 激情五月婷婷色色| 狠狠狠激情网| 亚洲另类电影| 最新日本A片| 色五月激情五月| 97色婷婷成人综合在线观看| 激情综合网址| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 五月婷婷综合激情| 99亚洲视频| 偷拍91九色| 色99色| 97精品在线| 亚洲AV网址| 婷婷伊人综合中文字幕| 9久久久久| 999婷婷综合| 激情久久久| 五月开心婷婷网| 五月丁香啪啪网| 丁香五月天偷拍| 99视频在线| 97涩涩丁香五月天| Www.sesese丁香| 激情五月丁香综合网站| 996黄色片| 色久天| 五月激情射| 九九久久99精品免费观看www| 91丨九色丨白浆秘| 六月丁香激情网| 激情无码五月天| 99国产精品久久久久久久久久久| 五月天激情网址| www.wuyuetian啪啪| 激情婷婷亚洲五月| 97操资源婷婷| 色色色com| 手机在线日韩视频中文字幕| 996热| 九九99视频精品| 97人妻超级碰碰碰碰碰| 99热日韩| Www99热| 亚洲AV成人在线| 五月丁香久久久日婷婷久久婷婷日| 天天揷综合网| 五月丁香色| 9久国产精品| 丁香婷婷色五月激情综合| 丁香五月瑟瑟| 激情国产五月| 天天射影院| 99re99热| 二区成人视频| 在线视频另类| 亚洲色五月天在线| av人人操| 久久九九99| 欧美va| 欧美色偷拍| 激情六月综合| 久久亚洲网| 最熟少妇乱码| 丁香亭亭久久| 欧美性生交A片免费看| 六月色五月天天婷婷| 五月丁香婷婷综合网色欲| 色丁香五月婷婷| 99热20| 亚洲激情六月| 五月婷婷六月色| 婷婷五月天日本无码| 99在线公开视频| 免费无码毛片一区二区A片| 九九热这里只有精品6| 99无码视频| 婷婷五月花| 婷婷开心五月| 色婷网| 四色五月婷婷| 五月婷婷片| 国语精品探花| 91狠狠综合久久久| 久色大香蕉| 婷婷深爱五月天| 丁香五月色欲| 亚洲婷婷五月天在线激情综合网| 激情色五月天| 色999五月色| 97五月天婷婷| 婷婷五月天成人在线视频| 丁香五月色激情| 强伦轩人妻一区二区电影| 激情五月四色| 99久久久国产大片区| 9久久精品视频| 一本道在线电影| 98永久精品| 青青草婷婷综合五月| 久久99久久99久久99人受| 久久WW| xxx日本东京热| 嫩草视频在线观看| 丁香五月激情五月色综合| 狠狠色成人影片| 99视频在线精品| 三级成人网站| 国产成人+综合亚洲+天堂| 日韩有码一区| 农村熟妇高潮精品A片| 亚洲天堂aaaa| 99视频精品| 97丁香五月| 五月婷婷丁香六月在线| 99热色无码| www91色网站| 另类天堂| 91日视频| 人人射av| 九九家庭影院| 96精品久久久久久久久| 色九九九综合| XX色综合| 久超超碰| 五月婷婷在线播放| 婷婷成人综合五月| 99热欧美在线观看| 婷婷在线综合| 丁香花操逼| 天天日色情| 激情开心五月天| www激情| 五月天激情综合| 丁香五月婷婷色| 婷婷五月天深爱| wWwCom夜操wwW| 天天日夜夜欢| 激情都市另类| 激情小说五月天| www.minyis.com【JT】实力收量可预付QQ2101460746 | 婷婷字幕在线| 亚洲五月婷婷| 色五月开心久久网| 人妻精品久久久久久久| 伊人九九综合| 成人在线观看国产| 97天堂| 狠狠插狠狠插| 五月婷婷性| 久久99成人性爱高清视频| ji'qing'luan'ren'lun| 五月花综合网| 五月天激情综合网站| 亚洲五月婷婷| 婷婷九色| 日本97久久久精品| 婷婷五月丁香人妻无码高清| 97成人丁香| 熟妇无码乱子成人精品| 久久丁香| 九九AV| 色婷婷视频| 精品久久99码| 色播综合| 99热精品在线观看| 丝袜激情网| 九月婷婷色色| 日韩色五月| 激情床戏| 日韩人妻无码专区| 婷婷九月色| 青青草成人网| 五月天丁香| 无码人妻精品一区二区蜜桃色欲 | 五月综合在线| 99操免费视频| AV性爱网| 九九干视频| 色五月婷婷操逼| 日韩成人av在线| 久久久久er热| 97碰在线视频| 色色欧美色色色| 182.t午在线观看| 殴美97色| 国产色香蕉精品五夜婷| 日韩无码人妻一区二区| 九九亚洲无码| 9精品在线| 五月五婷婷网| 99er免费在线观看| 精品99只有。| 精品人妻一区| 五月丁香婷婷综合久久| 九九九九这里只有精品| 丁香九月久久| 另类少妇人与禽zOZZ0性伦| AⅤ网站在线看| 色婷婷丁香AV综合| 吊色AV男人的天堂| 日韩无码成人电影| 男人天堂亚洲综合| 国产婷婷五月天| www.丁香五月| 日本久久人| 五月叮香啪| 夜夜嗨一区二区三区直播内容 | 色欲午夜无码久久久久久张津瑜| 五月激情婷婷丁香天堂| 成人网站免费在线播放| 色五月 五月婷婷| www.色色色com| 一级内射毛片| www.综合久久.com| 亚洲婷婷91丁香| 亚洲AAA| 婷婷基地五月色| 婷婷五月综合网| 激情五月综合婷婷| 大香蕉五月婷婷丁香| 啪精品| √天堂资源在线人妻熟女| 五月激情六月| 五月开心深爱激情网| 婷婷激情五月天视频在线| 99久热| 99精品久久| 懂色av粉嫩av蜜臀av| 激情视频综合| 麻豆科斗777| 五月丁香花婷婷玉莉AV| 色综合色综合网| 国产乱子轮XXX农村| 月色色综合婷婷网| 91超级碰在线| 日本精品。999| 婷婷狠狠干| 天天干天干| 日本一区二区三区精品视频| 色色婷| 色色色国产| 99久热| 99精日本久久| 久久精品99| 五月丁香亚洲婷婷| 激情五月天在线视频| AV片在线观看| 66精品国产成人| 丁香五月天在线| 久久婷婷五月天| 久久在线视频免费观看| 五月丁香色婷婷色| 成人狠狠成人狠狠成人狠狠成人狠狠| 久久久香| 日韩欧美成人一区二区三区| 欧美大香蕉视频| 五月丁香六月色婷婷综合五月天| 久久色情综合免费网站| 五月丁香六月婷| 狠狠干.com| 91久操| 色婷婷综合视频| 婷婷五月六月| 人人爽欧美婷婷久久久五月丁香 | 婷婷最新地址| 另类激情五月天。| 99热97| 五婷婷综合网| 婷婷五月激情的图片| 激情综合激情五月一起草| 91丨九色丨国产打屁股| 啪色综合| 亚洲丁香五月在线观看| 日本一级一级一级一级| 五月丁香久久呀| 丁香五月第四色88| 色五月丁香网| 九九热婷婷| 视色综合| 欧美三级A做爰在线观看| 91人人网| 色五月天在线观看| 成人久碰| 五月婷婷伊人网| 九九视频这里只有精品| 99在线视频资源| AAAA网站| 久热在线中文字幕色999舞| 丁香九月婷婷| 婷婷色片| 在线sebiav精品视频| 亚洲射激情| 亚洲超碰在线| 综合激情伊人影视在线| 91婷婷五月天嫩女| 五月天婷婷综合色| 日韩六十路91性交电影| 色色色网站| 五月婷婷丁香综合| 综合XX网| 91碰九色| 色综合久久88色综合中文字幕| 五月天国产| 999婷婷综合| 色婷久九| 操人视频91| 婷婷激情五月天激情| 九九99视频精品| 亚洲中文乱字字幕线在永久| 伊人干综合| 91九色小视频| 亚洲色热| 五月婷婷九| 欧美色色色色色| 91婷婷丁香五月亚洲| 亚洲精品性色| 国产精品久久久爽爽爽麻豆色哟哟| 影音先锋xfplay资源男人网| 婷婷欧美| 丁香5月激情网| XX色综合| 九九热婷婷| 无套内射极品大美女| 99久在线精品99re5热视频| 日本不卡五月婷婷丁香| 91夫妻视频| 五月丁了香蕉综合| 99热99在线| 亚洲色色在线| 日日夜夜干| www.五月天。com| www久| 婷婷五六日| 日本精品人妻无码77777| 激情网 五月天| 激情婷婷五月丁香啪啪啪| 婷婷五月色丁香在线看| 强辱丰满人妻HD中文字幕| 激情综合五月激情| 欧美在线视频99| 开心五月综合激情综合五月| 激情性爱五月天网页| 色狠狠综合| 国产精品第一国产精品| 丁香五月激情视频在线| 99热66| 五月婷综合性中心| 激情婷婷五月丁香啪啪啪| 精典久久| 9久精品| 99熟女视频| 深爱五月婷婷| 婷婷另类开心| 字幕网AV中文字幕| 99热99热不卡| 雪千夏麻豆| 激情五月婷婷开心网| 97色色综合| 婷婷综合五月| 日本本土色网第一区| 久久怡红院| 激情五月天婷婷视频| 噜噜五月天综合| 26UUU欧美激情一区二区| 久久女婷| 婷婷俺去也| 伊人在线婷婷草| 91人人人人人人人| 精品爆操| 黄色aaaaa| 久久婷婷五月综合| 99久久思思| 天天射色五月天| 久久作爱| 成人视频九九| 精品国产乱码久久久久夜深人妻| 久久99美女精彩视频| 香蕉97碰碰碰超视精品| 九九久久99| 99 这里只有精品| 99久久精彩视频| 精品乱码久久久久| 开心深爱五月天| 99re欧美精品| 天天拍天天操| 蜜臀av无码久久久久久久久| 99热最新国内| 92久久| 五月香蕉婷婷| 久久久免费图片视频| www色五月| 五月花丁香婷婷| 99ri精品| 久久久久久久久月丁| 色色五月天丁香婷婷| 天天做天天爱天天爽在| 猫咪伊人AV| 五月婷婷亚洲色视频| www.操逼comm| 免费无码毛片一区二区A片| 久久人妻伦理| 国产激情在线| 久久99最新地址| 九九干视频| 色婷婷五月天中文字幕| αV电影| 久久五月天婷婷| 思思热99热| 亚洲激情 久久| 91性人人| 婷婷五月丁香六月| 五月天婷婷永久免费视频| 日本久久婷婷| 激情五月天网| 月婷婷婷婷五月| 婷婷五月天天天日日夜夜| 草榴视频黄色网| 久草热在线视频| 十月色综合| 99啪啪视频| 狠狠色综合久久久久| 色热久| 五月天婷婷成人资源站| 婷婷99中文字幕| 四虎99热在线观看网站| 欧美精品999| 激情五月婷婷开心网| 综合99在线| 激情性爱婷婷| 精品激情| 天天高潮夜夜爽| 激情99热| 91色逼| 丁香五月亚洲综合| 婷婷成人视频| 五月丁香亭亭| 国产成人va在线| 精品视频这里只有精品| 日本激情综合| 久思思久视频| 九九综舍久久| 夜夜操夜夜操| 欧美精品18| 激情五月深爱五月| 大香av| 中文AV网站| 国产午夜精品AV一区二区麻豆| 亚洲超碰在线| www夜夜| 色五月色五天色情网| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 |