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

ARTICLE DETAIL

資訊詳情

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

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

基于Hadoop與Spark的大數(shù)據(jù)信貸風(fēng)控系統(tǒng):從數(shù)據(jù)鏈路到模型驗(yàn)證 簡(jiǎn)介這是一套基于Hadoop與Spark構(gòu)建的金融信貸風(fēng)險(xiǎn)控制系統(tǒng)源碼面向大數(shù)據(jù)開發(fā)、金融風(fēng)控算法及數(shù)據(jù)工程方向的開發(fā)者可用于理解海量借貸數(shù)據(jù)下的信用評(píng)估與欺詐檢測(cè)全流程。資源包共69個(gè)文件大小約72KB以36個(gè)Java文件、8個(gè)Scala文件組成核心計(jì)算邏輯配套12個(gè)XML配置及5個(gè)properties參數(shù)文件便于調(diào)整Spark/Hive運(yùn)行環(huán)境與模型參數(shù)另有SQL、JSON、JS等文件輔助數(shù)據(jù)集成與可視化展示。項(xiàng)目覆蓋數(shù)據(jù)接入、預(yù)處理、邏輯回歸/隨機(jī)森林等模型訓(xùn)練、風(fēng)險(xiǎn)評(píng)分及實(shí)時(shí)批處理結(jié)合等模塊源碼分層清晰適合以此為基礎(chǔ)擴(kuò)展實(shí)時(shí)風(fēng)控、特征工程或監(jiān)控告警等實(shí)踐。已有1219人學(xué)習(xí)下載對(duì)于希望掌握大數(shù)據(jù)風(fēng)控項(xiàng)目架構(gòu)與技術(shù)選型的開發(fā)者來說是一份可直接研讀和二次開發(fā)的參考實(shí)現(xiàn)。1. 基于Hadoop、Spark的大數(shù)據(jù)金融信貸風(fēng)險(xiǎn)控系統(tǒng)先看懂它的數(shù)據(jù)賬信貸風(fēng)控這個(gè)場(chǎng)景有個(gè)反直覺的結(jié)論真正決定系統(tǒng)能不能跑起來的不是模型有多先進(jìn)而是從申請(qǐng)信息、還款流水、外部征信到最終風(fēng)險(xiǎn)評(píng)分的這條數(shù)據(jù)鏈路是否通暢。我拿到一套大數(shù)據(jù)金融信貸風(fēng)險(xiǎn)控系統(tǒng)源碼第一件事從來不是翻模型代碼而是先看它的數(shù)據(jù)處理鏈路是怎么組織的?;贖adoop、Spark的大數(shù)據(jù)金融信貸風(fēng)險(xiǎn)控系統(tǒng)本質(zhì)是用HDFS做全量數(shù)據(jù)底座、用Hadoop生態(tài)做離線批處理、用Spark做高時(shí)效計(jì)算把信貸審批和貸后監(jiān)控變成一條可審計(jì)、可回溯的數(shù)據(jù)流水線。它能解決的是數(shù)據(jù)量大、特征維度多、審批時(shí)效要求高的信貸風(fēng)控場(chǎng)景。適合誰讀正在做風(fēng)控平臺(tái)技術(shù)選型、準(zhǔn)備把這類源碼落地成生產(chǎn)系統(tǒng)的工程師或者想系統(tǒng)理解數(shù)據(jù)鏈路與模型鏈路如何銜接的新手。2. 從源數(shù)據(jù)到風(fēng)險(xiǎn)分Hadoop 做數(shù)據(jù)底座、Spark 做計(jì)算引擎的架構(gòu)拆分2.1 分層設(shè)計(jì)離線層、近線層、在線層各管哪一段一套完整的信貸風(fēng)控系統(tǒng)數(shù)據(jù)鏈路一定不是一條直線而是按時(shí)效性拆成三個(gè)層次。離線層跑在Hadoop之上數(shù)據(jù)落在HDFS表結(jié)構(gòu)放在Hive里負(fù)責(zé)T1的全量批處理歷史申請(qǐng)數(shù)據(jù)歸檔、月度特征重算、模型訓(xùn)練樣本生成。近線層用Spark的微批或Structured Streaming負(fù)責(zé)分鐘級(jí)到小時(shí)級(jí)的增量特征刷新比如貸后行為監(jiān)控、額度復(fù)評(píng)需要用到的近幾小時(shí)交易匯總。在線層則是規(guī)則引擎和模型服務(wù)需要在毫秒級(jí)返回風(fēng)險(xiǎn)分這部分通常不直接跑Spark而是讀取預(yù)計(jì)算好的特征。這里有個(gè)常見誤解既然Spark既能做批處理又能做流處理為什么還要保留Hadoop答案是兩者根本不是替代關(guān)系。Hadoop提供的是分布式存儲(chǔ)HDFS和資源調(diào)度YARNSpark是運(yùn)行在YARN之上的計(jì)算框架。換句話說Hadoop是底座Spark是引擎。源碼里如果看到MRv2的作業(yè)或Hive UDF別急著說“這技術(shù)過時(shí)了”它們負(fù)責(zé)的是數(shù)據(jù)歸檔、全量重算這類對(duì)實(shí)時(shí)性不敏感但對(duì)穩(wěn)定性要求極高的任務(wù)。技術(shù)選型不是追新是讓每類任務(wù)落在它最合適的位置上。三層之間的流轉(zhuǎn)也很關(guān)鍵。離線層產(chǎn)出的特征寬表會(huì)被同步到在線層的緩存或特征庫(kù)中供實(shí)時(shí)查詢?cè)诰€層產(chǎn)生的審批結(jié)果和貸后表現(xiàn)又會(huì)回流到Hive表里成為下一輪模型訓(xùn)練的新樣本。這個(gè)回環(huán)結(jié)構(gòu)是信貸風(fēng)控系統(tǒng)和一般推薦系統(tǒng)最大的不同風(fēng)控系統(tǒng)的數(shù)據(jù)是自我進(jìn)化的每放一筆款、每產(chǎn)生一筆逾期都會(huì)成為未來模型的訓(xùn)練素材。2.2 特征加工鏈路Spark 做寬表 joinHadoop 做歸檔沉淀特征加工是風(fēng)控系統(tǒng)最重的一塊計(jì)算。申請(qǐng)人的基本信息、流水、多頭借貸記錄、歷史逾期記錄分散在幾十張表里必須拉到一起才能計(jì)算特征。常見做法是先用Spark SQL做多層寬表加工把明細(xì)數(shù)據(jù)聚合成以申請(qǐng)為粒度的特征表寬表里一行就是一個(gè)申請(qǐng)單對(duì)應(yīng)的幾百個(gè)特征這是后續(xù)模型訓(xùn)練和規(guī)則判斷的輸入。加工過程中Spark的優(yōu)勢(shì)體現(xiàn)得很明顯內(nèi)存計(jì)算避免了反復(fù)讀寫磁盤同一個(gè)口徑下Spark跑一個(gè)多表join的耗時(shí)通常只有MapReduce的幾分之一這對(duì)于需要按天重跑的全量特征任務(wù)來說直接決定了能不能在業(yè)務(wù)開門前跑完。Hadoop在這一環(huán)節(jié)的職責(zé)更多是數(shù)據(jù)沉淀。經(jīng)過Spark加工后的結(jié)果會(huì)寫回Hive表以分區(qū)形式組織按業(yè)務(wù)日期分區(qū)存放。這樣設(shè)計(jì)的價(jià)值在于一旦發(fā)現(xiàn)某個(gè)特征口徑算錯(cuò)了可以只重跑對(duì)應(yīng)分區(qū)而不需要?jiǎng)尤砹硗釮ive表配合HDFS的副本機(jī)制天然承擔(dān)了數(shù)據(jù)備份和災(zāi)難恢復(fù)的職責(zé)。生產(chǎn)系統(tǒng)里我一般會(huì)在離線層保留最近三年的原始明細(xì)數(shù)據(jù)壓縮后存放在HDFS上為后續(xù)的模型回溯分析留足彈藥。用Spark接增量明細(xì)、加工特征再落回Hive分區(qū)表的骨架大概長(zhǎng)這樣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ì)讀取時(shí)直接定位到當(dāng)天分區(qū)避免全表掃描然后做基礎(chǔ)清洗過濾掉金額為負(fù)的異常流水同時(shí)補(bǔ)上ETL時(shí)間和特征日期字段接著注冊(cè)成臨時(shí)視圖用Spark SQL做聚合最后按feature_dt分區(qū)寫入DWS層特征聚合表。這里有兩個(gè)參數(shù)值得留意一是read.load的路徑中dt{}這個(gè)日期參數(shù)應(yīng)當(dāng)由調(diào)度平臺(tái)傳入保證任務(wù)重跑時(shí)能指定正確分區(qū)二是write.mode(overwrite)對(duì)于按分區(qū)寫入的場(chǎng)景overwrite模式只覆蓋對(duì)應(yīng)分區(qū)不會(huì)影響其他日期的數(shù)據(jù)遠(yuǎn)比先刪表再重建安全。2.3 樣本與標(biāo)簽風(fēng)控建模里最容易翻車的時(shí)點(diǎn)對(duì)齊問題信貸風(fēng)控訓(xùn)練數(shù)據(jù)和普通機(jī)器學(xué)習(xí)訓(xùn)練數(shù)據(jù)最大的區(qū)別在于標(biāo)簽不是立刻能拿到的。某筆申請(qǐng)?jiān)?月15日通過審批它是不是壞樣本要看放款后90天甚至180天有沒有逾期這就是風(fēng)控里常說的表現(xiàn)期。因此源碼里樣本表的設(shè)計(jì)通常包含三個(gè)時(shí)間字段申請(qǐng)時(shí)間、放款時(shí)間、表現(xiàn)期截止時(shí)間。切樣本的時(shí)候只能取那些表現(xiàn)期已經(jīng)走完的歷史申請(qǐng)還在表現(xiàn)期內(nèi)的不能進(jìn)訓(xùn)練集。特征時(shí)點(diǎn)對(duì)齊是另一個(gè)重災(zāi)區(qū)。訓(xùn)練樣本里某個(gè)特征比如近三個(gè)月消費(fèi)金額計(jì)算窗口的截止點(diǎn)必須嚴(yán)格卡在申請(qǐng)時(shí)間點(diǎn)不能把申請(qǐng)之后的流水也算進(jìn)去。這個(gè)坑如果踩了模型在回測(cè)時(shí)的AUC會(huì)虛高上線后卻立刻失效。典型的錯(cuò)誤寫法是直接拿當(dāng)前時(shí)間作為窗口終點(diǎn)去算歷史樣本的特征這在源代碼評(píng)審時(shí)是最先要揪出來的問題。正確的做法是把申請(qǐng)時(shí)間作為參數(shù)傳入特征計(jì)算任務(wù)讓每一條樣本的特征都嚴(yán)格截取在它自己申請(qǐng)時(shí)間之前。還有一種常見做法是在數(shù)據(jù)表設(shè)計(jì)上做約束申請(qǐng)事實(shí)表和特征表都用申請(qǐng)單號(hào)做主鍵觀察期、表現(xiàn)期作為字段存下來。這樣不管是訓(xùn)練還是推理都從同一個(gè)寬表里取數(shù)避免訓(xùn)練和上線兩套口徑。寬表生成后模型訓(xùn)練只讀這張表不再回源明細(xì)既快又不容易出錯(cuò)。3. 讀懂這類源碼的四塊核心數(shù)據(jù)接入、特征計(jì)算、規(guī)則與模型、任務(wù)調(diào)度3.1 數(shù)據(jù)接入把申請(qǐng)信息與還款流水接進(jìn) Hive 的 Spark 作業(yè)骨架拿到源碼包先別急著跑先按目錄結(jié)構(gòu)把模塊劃分認(rèn)清楚。這類系統(tǒng)常見的模塊拆法是數(shù)據(jù)接入層、特征加工層、決策引擎層、管理后臺(tái)層。數(shù)據(jù)接入層負(fù)責(zé)把業(yè)務(wù)庫(kù)、消息隊(duì)列、外部數(shù)據(jù)源里的數(shù)據(jù)搬運(yùn)到HDFS和Hive里是整個(gè)鏈條的起點(diǎn)。信貸場(chǎng)景里的數(shù)據(jù)源有幾種典型形態(tài)業(yè)務(wù)申請(qǐng)數(shù)據(jù)存在業(yè)務(wù)庫(kù)中常用Sqoop或DataX同步還款流水和行為埋點(diǎn)走消息隊(duì)列外部征信數(shù)據(jù)以文件或接口方式提供。源碼里這一層通常是最穩(wěn)定的因?yàn)槟J较鄬?duì)固定但也是最先出問題的地方。以還款流水接入為例用Spark接消息隊(duì)列再落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更可靠因?yàn)榭梢栽谶@里加入去重、格式校驗(yàn)、甚至調(diào)用其他依賴該批數(shù)據(jù)的任務(wù)。參數(shù)上重點(diǎn)關(guān)注兩處startingOffsets設(shè)為latest表示只消費(fèi)新數(shù)據(jù)如果要做歷史補(bǔ)數(shù)需要改成earliest或指定offsettrigger的processingTime決定數(shù)據(jù)可見延遲5分鐘一刷對(duì)貸后監(jiān)控夠用但需要按業(yè)務(wù)對(duì)時(shí)效的要求動(dòng)態(tài)調(diào)整。3.2 特征計(jì)算窗口函數(shù)與時(shí)間滑窗的典型寫法特征加工是風(fēng)控源碼里代碼量最大的部分也是最值得逐行讀的部分。常見特征按窗口分為近1個(gè)月、近3個(gè)月、近6個(gè)月、近12個(gè)月甚至包含節(jié)假日在內(nèi)的特殊時(shí)段特征。這類時(shí)間滑窗特征在Spark SQL里非常適合用窗口函數(shù)加條件聚合來實(shí)現(xiàn)。近3個(gè)月還款行為特征的典型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ì)按申請(qǐng)單聚合輸出逾期次數(shù)、還款筆數(shù)、總額、均值、最大值五個(gè)特征。需要注意的是WHERE條件里窗口終點(diǎn)的寫法用TO_DATE(2025-01-15)而不是CURRENT_DATE。如果用CURRENT_DATE跑歷史樣本的補(bǔ)數(shù)任務(wù)時(shí)就會(huì)把未來數(shù)據(jù)也算進(jìn)去導(dǎo)致訓(xùn)練集和線上特征口徑不一致。這個(gè)細(xì)節(jié)在多人協(xié)作的項(xiàng)目里反復(fù)出現(xiàn)也是絕大多數(shù)特征口徑事故的根源。另外特征計(jì)算任務(wù)最好做成配置驅(qū)動(dòng)窗口長(zhǎng)度、聚合字段、時(shí)間字段都放在配置表或配置項(xiàng)里代碼里不寫死。好處有兩個(gè)一是新增特征時(shí)不用改代碼改配置加一行就行二是模型迭代時(shí)方便對(duì)照特征清單審查口徑。源碼里如果特征都是硬編碼在一個(gè)大SQL里后續(xù)維護(hù)成本會(huì)很高拿到手后第一步建議就是把它重構(gòu)為配置化。3.3 規(guī)則引擎與模型打分規(guī)則表、PMML、原生 Pipeline 的取舍信貸風(fēng)控決策不是純模型而是規(guī)則與模型融合的結(jié)果。硬規(guī)則負(fù)責(zé)攔截監(jiān)管紅線和極端風(fēng)險(xiǎn)比如年齡超限、黑名單命中、身份證格式非法模型負(fù)責(zé)對(duì)剩余申請(qǐng)做精細(xì)化風(fēng)險(xiǎn)排序。源碼里面向這一塊的代碼通常分兩部分規(guī)則引擎和模型推理服務(wù)。規(guī)則引擎的設(shè)計(jì)常見做法是規(guī)則配置化規(guī)則不寫死在代碼里而是放在數(shù)據(jù)庫(kù)表或配置文件中支持熱更新。規(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òng)時(shí)加載全表把表達(dá)式編譯成內(nèi)存對(duì)象逐條對(duì)申請(qǐng)數(shù)據(jù)做匹配。action表示命中后干什么priority決定多條規(guī)則沖突時(shí)聽誰的。把規(guī)則從代碼里抽出來放到表里最大的價(jià)值是風(fēng)控業(yè)務(wù)人員可以直接配置、即時(shí)生效不需要等開發(fā)排期上線。模型打分這部分選型的核心矛盾是跨語言部署和性能。常見做法有三種把模型導(dǎo)出為PMML格式用Java加載打分導(dǎo)出為ONNX格式用推理引擎加載或者直接用Spark ML庫(kù)的Pipeline保存和加載。PMML在信貸風(fēng)控里用得仍然很廣因?yàn)樗鼘?duì)特征順序敏感字段名一一對(duì)應(yīng)部署方不需要關(guān)心訓(xùn)練方的代碼細(xì)節(jié)。用Spark訓(xùn)練完的模型保存并加載做打分流程最順但需要保證運(yùn)行環(huán)境里有匹配的Spark版本依賴。3.4 任務(wù)調(diào)度與血緣離線任務(wù)為什么必須配調(diào)度信貸系統(tǒng)的離線任務(wù)數(shù)量通常幾十上百個(gè)靠crontab或人工觸發(fā)根本管理不過來。源碼包里如果有部署文檔調(diào)度配置一定是重點(diǎn)章節(jié)。調(diào)度平臺(tái)要做的事是兩件一是按依賴關(guān)系編排任務(wù)上游產(chǎn)出分區(qū)數(shù)據(jù)后下游才能啟動(dòng)二是失敗重試和告警任務(wù)掛了自動(dòng)重試幾次再不行就通知值班的人。任務(wù)依賴編排的核心是數(shù)據(jù)就緒檢測(cè)。一個(gè)Spark任務(wù)啟動(dòng)前要先確認(rèn)它依賴的Hive分區(qū)已經(jīng)生成而不是用sleep硬等。常見做法是調(diào)度平臺(tái)支持前置檢查節(jié)點(diǎn)檢查SQL返回的分區(qū)數(shù)據(jù)量是否大于0。離線跑批鏈路里ODS同步?jīng)Q定了今天有沒有原材料DWD清洗決定了加工質(zhì)量DWS特征寬表決定了模型和報(bào)表能否產(chǎn)出。任何一環(huán)掛掉后面的任務(wù)即使跑成功產(chǎn)出的也是臟數(shù)據(jù)。源碼里這一塊的工程價(jià)值最容易被低估但生產(chǎn)事故往往就出在這——任務(wù)報(bào)SUCCESS但數(shù)據(jù)是空的比任務(wù)失敗更難排查。血緣管理同樣值得提。每個(gè)特征字段要能追溯到它來自哪張?jiān)幢怼⒔?jīng)過了哪些加工步驟否則排查問題時(shí)只能靠翻代碼。實(shí)際項(xiàng)目里我會(huì)要求所有特征加工腳本都登記一張?jiān)幢?目標(biāo)表映射表調(diào)度平臺(tái)跑完任務(wù)后就更新血緣信息半年下來這套元數(shù)據(jù)比代碼注釋可靠得多。4. 讓源碼落地集群規(guī)劃、打包提交與必調(diào)參數(shù)4.1 環(huán)境選型物理機(jī)、云主機(jī)還是容器化的判斷標(biāo)準(zhǔn)拿到源碼后的第一個(gè)決定是在什么環(huán)境上跑。判斷標(biāo)準(zhǔn)其實(shí)就三條數(shù)據(jù)量、任務(wù)節(jié)奏、運(yùn)維能力。數(shù)據(jù)量在幾TB到幾十TB、任務(wù)以T1批處理為主的用幾臺(tái)物理機(jī)構(gòu)建小型Hadoop集群最經(jīng)濟(jì)。數(shù)據(jù)量在百TB級(jí)、還需要彈性擴(kuò)容應(yīng)對(duì)大促高峰的云主機(jī)會(huì)更合適按需擴(kuò)容、用完釋放。想跑在容器里的也可以但Hadoop生態(tài)的容器化方案對(duì)網(wǎng)絡(luò)和存儲(chǔ)要求比較高運(yùn)維能力不夠的話不建議一步到位。規(guī)模參考按節(jié)點(diǎn)數(shù)給個(gè)常見范圍5臺(tái)以內(nèi)屬于入門規(guī)模適合跑通源碼和開發(fā)環(huán)境10到20臺(tái)能支撐千萬級(jí)用戶的風(fēng)控跑批再往上就要考慮業(yè)務(wù)拆分了。機(jī)器規(guī)格方面NameNode節(jié)點(diǎn)對(duì)內(nèi)存敏感建議64GB起步DataNode節(jié)點(diǎn)磁盤容量?jī)?yōu)先計(jì)算密集時(shí)CPU核數(shù)多給一些。Spark的executor和HDFS的DataNode通常混部在同一批節(jié)點(diǎn)上這樣數(shù)據(jù)本地性最好——Spark讀數(shù)據(jù)時(shí)直接從本機(jī)磁盤拿省去網(wǎng)絡(luò)傳輸。4.2 從源碼到運(yùn)行打包、上傳、提交 Spark 作業(yè)源碼工程一般是Maven或Gradle組織的多模塊工程拿到后先編譯打包再提交到集群運(yùn)行。打包和提交的命令如下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指定要運(yùn)行的入口類--files把外部配置文件分發(fā)到每個(gè)執(zhí)行節(jié)點(diǎn)--queue指定YARN隊(duì)列把風(fēng)控任務(wù)單獨(dú)放一個(gè)隊(duì)列可以避免和其他業(yè)務(wù)互相搶占資源最后兩個(gè)參數(shù)--env和--dt是業(yè)務(wù)參數(shù)--dt就是第2章里提到的業(yè)務(wù)日期特征計(jì)算任務(wù)都依賴它來定位分區(qū)。初次啟動(dòng)時(shí)建議先不用--num-executors改用Spark的動(dòng)態(tài)資源分配讓集群按負(fù)載自動(dòng)伸縮。等穩(wěn)定運(yùn)行一段時(shí)間后再根據(jù)監(jiān)控?cái)?shù)據(jù)固定executor數(shù)量或直接保留動(dòng)態(tài)策略。源碼里如果自帶啟動(dòng)腳本重點(diǎn)看腳本里的參數(shù)值——不同公司集群規(guī)模差異很大直接照搬的后果通常不是OOM就是資源浪費(fèi)。4.3 必調(diào)參數(shù)executor 內(nèi)存、分區(qū)數(shù)與動(dòng)態(tài)資源Spark作業(yè)調(diào)參是玄學(xué)但有幾條基本邏輯不是玄學(xué)。Executor內(nèi)存、CPU核數(shù)、分區(qū)數(shù)三者必須放在一起看單獨(dú)調(diào)哪一個(gè)都可能翻車。常見參數(shù)配置參考如下參數(shù)常見取值調(diào)整依據(jù)spark.executor.memory8g ~ 32g每個(gè)任務(wù)的數(shù)據(jù)處理量、是否有大聚合spark.executor.cores2 ~ 4越高并行度越高但要控制單節(jié)點(diǎn)總核數(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時(shí)優(yōu)先調(diào)這里spark.sql.adaptive.enabledtrue動(dòng)態(tài)調(diào)整reduce分區(qū)數(shù)解決數(shù)據(jù)傾斜第一次跑源碼任務(wù)時(shí)我一般先把shuffle分區(qū)分母設(shè)成executor總核數(shù)的2到3倍比如20個(gè)executor、每個(gè)4核、共80核分區(qū)數(shù)設(shè)160到240然后看Spark UI里每個(gè)stage的耗時(shí)分布。如果某個(gè)stage最后幾個(gè)task明顯比別的慢很多大概率是數(shù)據(jù)傾斜。解決數(shù)據(jù)傾斜優(yōu)先開spark.sql.adaptive.enabled還不行再考慮加鹽或者拆廣播變量。executor內(nèi)存溢出則優(yōu)先調(diào)memoryOverhead它不是堆內(nèi)存但堆外內(nèi)存不夠一樣會(huì)OOM。還有一個(gè)容易被忽略的參數(shù)是spark.speculation開啟后Spark會(huì)重跑那些明顯滯后的task取最先完成的那個(gè)結(jié)果。對(duì)大數(shù)據(jù)量的批處理任務(wù)能兜底但也可能帶來重復(fù)計(jì)算穩(wěn)妥做法是在跑的慢的節(jié)點(diǎn)上臨時(shí)開啟穩(wěn)定后關(guān)掉。參數(shù)調(diào)整后必須觀察Spark UI上的GC時(shí)間、shuffle落地量、單task處理時(shí)長(zhǎng)三個(gè)指標(biāo)不要只看任務(wù)成功還是失敗。5. 風(fēng)控系統(tǒng)落地避坑五條值得記住的排查記錄5.1 現(xiàn)象夜間批處理任務(wù)堆積Spark 作業(yè)反復(fù)失敗某次生產(chǎn)環(huán)境凌晨的T1批處理任務(wù)在3點(diǎn)后開始堆積Spark作業(yè)提交成功但運(yùn)行幾分鐘后就被YARN殺掉?,F(xiàn)象是任務(wù)反復(fù)失敗日志里出現(xiàn)大量ExecutorLostFailure和Container killed messages。原因是executor申請(qǐng)的內(nèi)存超過節(jié)點(diǎn)可用內(nèi)存加上多個(gè)任務(wù)在同一批節(jié)點(diǎn)上同時(shí)運(yùn)行物理內(nèi)存被打滿后觸發(fā)系統(tǒng)OOM容器直接被回收。這不是單次任務(wù)的問題而是所有夜間批任務(wù)擠在同一時(shí)間窗口、資源池沒有隔離的必然結(jié)果。解決分兩步先給風(fēng)控任務(wù)單獨(dú)劃分YARN隊(duì)列限制隊(duì)列最大資源占用防止批任務(wù)之間互相爭(zhēng)搶再調(diào)小單executor內(nèi)存把16g降到8g同時(shí)增加executor數(shù)量保住總計(jì)算能力。更根本的辦法是把大任務(wù)拆成多個(gè)有依賴關(guān)系的小任務(wù)錯(cuò)峰執(zhí)行讓峰值內(nèi)存需求錯(cuò)開。5.2 現(xiàn)象實(shí)時(shí)評(píng)分接口延遲抖動(dòng)從 200ms 漲到 2s風(fēng)控實(shí)時(shí)評(píng)分接口平時(shí)穩(wěn)定在200ms左右某段時(shí)間開始下午高峰期漲到2s甚至超時(shí)?,F(xiàn)象沒有規(guī)律不是每次都慢但慢的時(shí)候集中在流量大的時(shí)間段。抓線程和GC日志后發(fā)現(xiàn)在線評(píng)分服務(wù)讀取特征緩存時(shí)每次都用同步方式請(qǐng)求遠(yuǎn)程緩存一旦緩存服務(wù)出現(xiàn)網(wǎng)絡(luò)抖動(dòng)或者慢查詢調(diào)用方線程全部阻塞在等待上。另外服務(wù)本身的JVM堆設(shè)置偏小高峰期Full GC頻繁也會(huì)放大延遲。解決是在評(píng)分服務(wù)本地加一層二級(jí)緩存把熱點(diǎn)特征緩存到本地內(nèi)存設(shè)置2分鐘的過期時(shí)間遠(yuǎn)程緩存只在本地未命中時(shí)回源。同時(shí)把遠(yuǎn)程緩存查詢改成異步刷新請(qǐng)求進(jìn)來先查本地緩存查不到就直接回源一次后臺(tái)再異步更新。改動(dòng)后接口延遲穩(wěn)定在100ms到300ms之間抖動(dòng)問題沒有再出現(xiàn)。5.3 現(xiàn)象訓(xùn)練集和線上特征口徑對(duì)不上模型 AUC 虛高模型在回測(cè)時(shí)AUC到了0.82上線后實(shí)際區(qū)分能力明顯達(dá)不到回測(cè)水平調(diào)閾值也沒用。排查后發(fā)現(xiàn)訓(xùn)練特征和上線特征不是一個(gè)源頭。根因在特征計(jì)算任務(wù)的日期參數(shù)上。訓(xùn)練樣本的特征是歷史某一天跑的批任務(wù)產(chǎn)出的當(dāng)時(shí)用的窗口終點(diǎn)是當(dāng)天線上評(píng)分時(shí)特征服務(wù)用的窗口終點(diǎn)是當(dāng)前時(shí)刻。對(duì)同一個(gè)申請(qǐng)單如果特征引用的是未來一段時(shí)間的流水訓(xùn)練出來的特征分布和線上完全不同。更隱蔽的是缺失值處理邏輯不一致訓(xùn)練時(shí)用了全表均值填充線上實(shí)時(shí)服務(wù)沒有這個(gè)均值表填的0分布直接偏移。解決是整個(gè)團(tuán)隊(duì)統(tǒng)一用特征生成腳本的同一份代碼訓(xùn)練和線上共用一套特征邏輯。新增一個(gè)特征校驗(yàn)任務(wù)每天對(duì)比訓(xùn)練特征表和線上特征表的同名字段的均值、標(biāo)準(zhǔn)差、分布差異PSI超閾值就報(bào)警。這個(gè)機(jī)制上線后口徑不一致的問題基本做到了早發(fā)現(xiàn)早處理。5.4 現(xiàn)象Hive 小文件暴漲NameNode 內(nèi)存吃緊集群NameNode堆內(nèi)存使用率持續(xù)攀升Hive表查詢?cè)絹碓铰2榭春蟀l(fā)現(xiàn)DWS層特征表的文件數(shù)量從上萬個(gè)漲到了十幾萬個(gè)大量幾KB到幾百KB的小文件占滿了NameNode內(nèi)存。原因是特征計(jì)算任務(wù)用了動(dòng)態(tài)分區(qū)寫Hive同時(shí)shuffle分區(qū)數(shù)設(shè)得過大Spark寫出的文件數(shù)量等于shuffle分區(qū)數(shù)乘以動(dòng)態(tài)分區(qū)數(shù)數(shù)據(jù)量沒漲文件數(shù)漲了好幾倍。小文件多不僅拖垮NameNode還會(huì)讓后續(xù)讀取任務(wù)啟動(dòng)大量task每個(gè)task都在做元數(shù)據(jù)操作整個(gè)集群變慢。解決分兩層Spark寫入前先做一次repartition把輸出分區(qū)數(shù)控制在合理范圍內(nèi)寫入后跑一次合并任務(wù)用Hive的MERGE或Spark repartition按新分區(qū)數(shù)重寫一遍。參數(shù)方面把spark.sql.shuffle.partitions從2000降到400匹配實(shí)際數(shù)據(jù)規(guī)模而不是簡(jiǎn)單照搬。關(guān)鍵是建立一條小文件巡檢任務(wù)每天統(tǒng)計(jì)各層表的文件數(shù)變化超過閾值就自動(dòng)觸發(fā)合并。5.5 現(xiàn)象模型上線后壞賬率不降反升新模型上線一個(gè)月后審批通過率沒有明顯變化壞賬率卻比舊模型時(shí)期高了一截。團(tuán)隊(duì)第一反應(yīng)是模型不行但要區(qū)分是模型本身的問題還是客群結(jié)構(gòu)變化的問題。排查后發(fā)現(xiàn)新模型確實(shí)更準(zhǔn)但它會(huì)把一批舊模型認(rèn)為高風(fēng)險(xiǎn)、拒絕掉的人群放進(jìn)來。這批人其實(shí)是舊模型時(shí)期被拒絕、沒有真實(shí)貸后表現(xiàn)、只能靠拒絕推斷去估計(jì)其風(fēng)險(xiǎn)的人。新模型使用了更寬泛的特征給了部分原本該拒絕的人通過而這些人的實(shí)際表現(xiàn)比訓(xùn)練時(shí)預(yù)估的更差。解決思路是引入拒絕推斷的修正樣本把被拒絕人群的風(fēng)險(xiǎn)標(biāo)簽做權(quán)重調(diào)整后放進(jìn)訓(xùn)練集同時(shí)上線前做嚴(yán)格的回測(cè)和影子評(píng)分。更穩(wěn)妥的做法是新模型分階段放量先放行新模型判定為低風(fēng)險(xiǎn)的申請(qǐng)觀察幾周真實(shí)貸后表現(xiàn)再逐步放開閾值。這樣即使模型有偏差損失也可控。6. 拿來即用的進(jìn)階驗(yàn)證回測(cè)與影子評(píng)分給上線前的模型兜底回測(cè)和影子評(píng)分是我在信貸風(fēng)控項(xiàng)目里最看重的兩道驗(yàn)證工序?;販y(cè)的核心是時(shí)間切分把歷史數(shù)據(jù)按時(shí)間切兩段前一段用來訓(xùn)練后一段用來驗(yàn)證。和一般機(jī)器學(xué)習(xí)隨機(jī)切分不同風(fēng)控回測(cè)必須按時(shí)間切因?yàn)樾刨J樣本天然有時(shí)序關(guān)系隨機(jī)切分會(huì)把未來信息泄漏進(jìn)訓(xùn)練集。切分點(diǎn)一般選在表現(xiàn)期之前比如驗(yàn)證段要留出90天表現(xiàn)期那就至少把最后90天的申請(qǐng)排除出訓(xùn)練集?;販y(cè)指標(biāo)要同時(shí)看區(qū)分度、排序穩(wěn)定性和群體穩(wěn)定性三類區(qū)分度看KS和AUC排序穩(wěn)定性看每個(gè)分?jǐn)?shù)段通過率是否和訓(xùn)練期一致群體穩(wěn)定性看PSIPSI超過0.25說明推理時(shí)的特征分布和訓(xùn)練期差異已經(jīng)很大模型需要重訓(xùn)。影子評(píng)分是把新模型旁路部署在線上但不參與實(shí)際決策生產(chǎn)請(qǐng)求進(jìn)來舊模型打分決定審批結(jié)果新模型同時(shí)打分但結(jié)果只落庫(kù)不生效。跑上一到兩個(gè)星期拿新模型的分和舊模型的分做對(duì)比看排序一致性、各分?jǐn)?shù)段通過率差異、特征分布偏移情況。影子評(píng)分能驗(yàn)證一件事回測(cè)驗(yàn)證不了的事特征在真實(shí)線上環(huán)境里取數(shù)是否穩(wěn)定。我在一個(gè)項(xiàng)目上吃過虧回測(cè)時(shí)AUC很漂亮影子跑了一周發(fā)現(xiàn)新模型的評(píng)分均值比舊模型低了將近30分原因是線上特征服務(wù)對(duì)某些長(zhǎng)尾特征取到的值大量為0和訓(xùn)練時(shí)的分布完全脫節(jié)。從那次以后我養(yǎng)成一個(gè)習(xí)慣任何模型上線前必須跑至少一周影子評(píng)分并對(duì)比分位數(shù)、PSI和特征覆蓋率三個(gè)報(bào)表。這個(gè)習(xí)慣雖然讓上線周期拉長(zhǎng)了幾天但攔下了不少看著好看、落地就翻車的模型。這套驗(yàn)證鏈路值得每一個(gè)做信貸風(fēng)控的團(tuán)隊(duì)堅(jiān)持希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91福利网在线观看| 亚洲天堂男人天堂网| 久艹日日日| 久久伊人大香蕉| 9长久久精品| 情趣丝袜无码操逼视频| 美腿丝袜高跟网免费视频免费视频| 超碰偷拍| 婷婷五月天网| 国产精品人妻无码久久久互動交流| 成人片在线播放| 国产精品网址| 99福利社| 亚洲色性情三级| 国产黄色av大片网站| 老熟女天天操| 日韩一级片在线看| 欧美大波激情xxxx| 五月天色综合| 91搡老女人老妇女老熟女歌词翻译| 91强奸乱轮| 91视频综合在线| 国产AV色黄看到爽| 亚洲精品黑丝| 中国探花熟女| 国产一区二区在线播放| 9/A片| 易易A毛视频| 亚洲国产剧情少妇激情| 国产免a费看黄片在线| 国产亚卅97| 日韩欧美午夜一区二区| 污电影在线观看| 欧美一区二区观看在线| 青青草原av| 成年女人18级毛片毛片免费观看| 色臀AV| 99久久com免费视频′| 人妻性爱一区二区| 天天看高清麻豆| 日韩A优精品在线观看| 久久超碰天天| 不卡九肏| 亚洲欧美激情另类色图| 国产精品一二三在线看| 97综合激情| 久久婷婷在线观看视频| 欧美很很操视频| 超碰美国| 啊啊啊好舒服视频在线观看| 青青草日韩无码| 草草电影院| 黄色不卡视频| 日韩三级一区| 欧美日韩国产三级黄色| 久久久偷拍| 中文字幕天天天天天| 中文字幕一区二区三区高清| 无码高清操逼网址| 精品人妻一区二区三区在| 亚州乱码中文字幕综合久久久| yellow网站免费观看日韩高清无码| 天天综合网亚洲综合网| 久久久性爱视频| 亚洲五码一区二区三区| 99久久精品欧美国产| 好爽免费视频,| 亚洲精品一区中文字幕乱码| 中国少妇XXXX做受| 超碰九7免费| 亚洲凸凹超碰成人| 91熟女.com| 富二代亚洲精品99| 日韩精品一区的| 免费国产电影一区二区| 久久精品国产亚洲5555| 97操B| m欧洲一级午老| 久久久久成人蜜桃精品| 另类一区| 在线精品福利免费播放| av强奸乱轮| 91中出| 青青草综合在线| 大香蕉伊人在线成人AV在线观看| 美女超碰978| 另类小色呦| 多毛小伙内射老太婆| 91天天| 97久久超碰日韩精品| 加勒比AV天堂| 色网综合网| 欧美情色男人的天堂| 色妹子A V| 日韩精品中文字幕二区| 国产精品国产自产拍高清AV| 大香蕉伊人网WWWn0n| 超碰碰碰碰| 国模艳艳啪啪一区| 日韩人妻中文视频| 欧美性爱精品一区二区| 操逼逼无码| 国产第25页在线观看| 亚洲AV成人精品网站在AV| 久久久啊啊啊| 成人精品无码| 国产无吗在线播放| 日韩无码精品综合久久| 国产福利影视| 色九月婷婷| 久久亚洲av成人无码国产| 亚洲AV永久无码一区仙野| 国产一级不卡在线观看| 国产人伦a片信息免费片| 日本东京热加勒比久久| 国产剧情AV不卡在线观看| 欧洲欧美视频一区二区| 亚洲成人久久美女| 成人欧美一区二区三区黑人一| 色婷五月| 伊人久久青青草| 综合色图,成人综合网| 男人兔费天堂| 一本正道久久熟女| 媚薬在线视频麻豆| 久热99999| 夜夜爽夜夜高潮夜夜爽| 三级日韩一区二区三区| 污污汅18禁网站在线永久免费观看| 成人精品一区二区91毛片不卡| 欧美不卡二区| 亚洲综合另类| 欧美性暴力猛交XXXX | 日本午夜福利影院| 久久天天摸| 中文字幕55555| 九九国产热| 天天爽入口| 亚欧美综合网| 亚洲AV无码黄色强奸| 99久在线精品99re8热| 亚洲欲色9532548967一区| 高凊专区人人操| 91精品成人| 久草色在线观看| 久久久9999| 性久久久| 色婷婷久久| 青青草十区九区爱夜| 大乔未久88一区| 抽插亚洲无码| 天天操天天射天天日| 欧美顶级黄片AAAAA在线免费看| 99热这里只有精| 午夜后入| 97欧美精品| 国产综合永久精品日韩鬼片| 大香蕉 222| 久久9免费视频| 久久精品一区二区| 天天肏夜夜肏| 视频二区熟女人妻| 91久久九九精品国产综合| 久久性爱大全| 99www.bibizy香蕉资源国产一区二区三区高清 | 蜜乳av首页| 操人妻逼91| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美激情久操网| 国产AV超爽| 亚洲综合图文| 大香蕉欧美| 一级特级aaaa毛片免费观看 | 97超碰碰碰| 亚洲天天精品| 99re国产精品视频| 欧美亚男人的天堂| 国产高清自拍| 天天日日舔舔| 久热这里只有精品9| 狠狠中文字幕| 91色图片| 亚洲 小说 欧美 激情 另类| 9久综合网| 欧美日韩人妻精品系列一区二区三区| 国产精品久久久久亚洲av| 人妻在线臀日韩| 天天综合网~91| JULIA一区二区三区在线播放| 欧美亚洲涩涩| 伊人久久大香线蕉无码| 麻豆一区在线| 丁香六月激情| 欧美一级专区免费大片| 亚洲一曲日韩精品| 国产精品电| 免费伦费视频在线观看| 欧美青青视频| 成人乱码一区二区三少妇| 欧美少妇色综合| 国产成年精品高清在线观看91| 美女裸体麻豆天美蜜桃91| 大象AV在线| 免费看污网站| 人人操人人插 - 百度 - 百度| 日韩一区二区熟女| 综合伊人激情| 亚洲精品97中文字幕| 熟女五十路一区二区三| 天堂网 主播 亚洲| 综合色色网| 东北老熟女| 午夜精品久久久久久久男人的天堂 | 婷婷色综合| 丝袜视频网国产90| 大香蕉综合网| 97在线视频观看| 91亚·色| 奇米狠999| 97亚洲综合在线| 九九亚洲| 91一区二区三区蜜桃| 久久欧洲| 亚洲欧美在线观看2021 | 制服诱惑亚洲一区二区三区在线观看| www.五月天| 亚洲自拍偷拍视频在线| 亚洲吊色| 亚洲天堂人妻一区二区| 午夜精品久久久久久久久久蜜桃| 亚洲有薄码区久久在线一区| 亚洲日本韩国极品一区二区| 亚洲AV性爱电影| 四虎影视国产精品| 九九九影院| 日韩黄色成人性爱| 最新av中文字幕高清| 十八禁一区二区无码观看| 婷婷五月成人| 久久久亚洲高清不打码| av爱爱爱| 亚洲无 码A片在线观看麻豆| 熟妇一区,二区,三区。| 欧美色九九九| 久久婷婷色| 男女啪啪网站免费视频| 又黄又硬又粗又长国产视频| 久操操| 丁香婷婷啪啪| 无码人妻精品一区二区中文| 校园春色亚洲色图| 亚洲综合校园春色| 小草精彩毛片| 99热这里只有精品地址| 国产无马在线| 色淫网站优优视频| 久久久久成人网| yazhousetuoumei| 婷婷五月天激情网| 国产精品制服丝袜清纯唯美| 亚洲av性爱电影| 日本 情色 1区2区3区| 熟妇人妻一区二区| 99热精品在线观看| 中文字幕 国产 精品| 日韩精品在线放| 91日韩网站| 亚洲欧美setu| 少妇被玩视频二三区| 99在线精品观看99| 五月天伊人| 强奸乱伦av电影| 国产亚洲日韩欧| 久久久96| 日韩精品人妻| 美女网站91| 在线色资源| 男人天堂 天天射| 天天舔九色婷婷| 亚洲情色婷婷五月天| 婷婷香蕉| 欧美中文字幕男人天堂久久精品| 六月激情网| 亚洲欧美精品福利在线| 亚洲操人| 超碰久热| 超碰人人妻| 大香蕉五月天| 综合色色婷婷| 婷婷激情五月| 久久超碰爱| 欧美色图天堂在线| 中文字幕在线播放2中文字幕在线观看2| 成人性爱电影一区二区| 久久精品国产免费观看99| 国产精品美女在线一区| 国产激情在线观看| 91婷婷| 六月婷婷激情| 九九热精品免费视频| 天天日天天操心| 亚洲第一页色| 青苹果影院男人的天堂| 精品人妻伦一区二区三区久久| 91久久久老司机| 在线情色电影 91大 | 日日日色色色色色| 亚洲熟妇AV日韩熟妇在线| 亚洲图片在线| 老熟女综合网| 久久久久九九九九| 激情熟女12P| 在线观看高清AV| 婷婷丁香五月天综合东京热| 麻豆这里只有精品| 宅男91视频在线播放| 中文字幕少妇色| 久久99草| 亚洲女人91| 亚洲中文字幕熟女| 国产一级不卡在线观看| 亚洲另类综合欧美| www.99热在线只有精品| 91青青在线视频| 日韩精品午夜操呦呦不卡影院| 综合另类| 黄色电影观看久久9| 久久久成人国产精品无码| 激情五月天网站| 97干色天堂| 99后入| 九色黄站| 少妇高潮对白在线观看| 久久这里精品国产99丫e6| 亚洲AV不卡在线观看尤物| 九99久久| 久久AV无码AV| 九九热精品| 久久综合女优| 91老熟女| 免費黃色視頻觀看一| 欧美成人精品一区二区三区| 无码人妻丰满熟妇区毛片| 999精品久久久久久久| 超碰在线香蕉| 免费人人搞97| 少妇色| 午夜电影在线观看无码专区| 国产女上位好爽在线| 九九九影院| 久久人妻熟女一区二区| 亚洲美女自拍偷拍视频| 天堂国产AV| 国产一线二线三线av| 91伊人久| 91网站18在线观看| 老司机香蕉久久久久| 精品九九国产无码| AV丝袜少妇| 亚洲欧洲激情卡通另类文学四射小说网站 | 熟女一区二区三区四区| AV天堂国产| 欧美综合自拍成人自拍第二十页| 欧美爱国产综合、| 日韩操逼HD| 美腿色图| 国产后入| 亚洲精品视频二区| 99精品九九九九九九| 日韩欧美tv一区二区在线观看| 999日韩中文精品观看视频。| 狠狠操狠狠燥| 亚欧高清在线| 国产又粗又长的视频| 91深夜夜| 国产精品视频| 午夜超爽| 超碰免费欧美7| 免费啪啪av| 日韩AV色图| 精品国产Av无码久久久伦古装| 成视频在线观看免费看| 午夜视频久久久| 日本欧美亚洲高清在线看| 日韩三级在线观看mp4| 屁股久久久久久久| 青青草在线成人视频| 大香蕉99999| 日本色色网| 青青草色AV| 99久久婷婷国产综合精品草原| 性欧美| 国产精品亚洲免费| 外国免费性情大片| 裸体美女国产免费久久久网站| 蜜汁欧美| 男人的天堂啪啪| 男同专区一区二区三区在线| 九九九九久久久| 亚洲人天堂| 96AV精品| 国产中文大片资源中文字幕| 欧美91网站| 日韩精品中文字幕一| 四虎免费视频| 婷婷五月天网| 久久丁香久草综合网| 国产熟妇一区二区| 日韩成人大片一区二区| 日日骚一区二区三区| 五月天激情网图片| 日本黄大片在线观看视频| 99精品网站| 91足交| av2014 日韩在线中文字幕| 啊啊啊不要啊啊受不了了视频在线| 狠狠操狠狠爱| 狼人狠干| 97超碰人人模人人拍人人| 九九热九九| 97超碰美女| 亚洲欧美日韩激情不卡| 日韩肏逼视频| 亚洲国产综合久久久性感熟妇| 国产女人高潮嗷嗷嗷叫小说 | 搡老熟女免费视频| 自拍偷拍草一草| 精品乱子一区二区三区99| 色www精品视频在线观看| 超碰色中文| 午夜天堂网| 欧美手机在线综合| 成人五月天丁香激情综合| 玖草在线视频| 久久久久久国产精品免费网站| 婷婷五月天在线观看| 性性欧美| 嗯嗯,啊啊,国产精品| 亚洲囯产精品女人久久久| 日本中文字幕一区| 五月天激情综合网| 试看福利| 欧美1727免费观看视频| 天天激色| 草草草视频在线免费看| 逼逼逼逼操操操操操操操操操午夜剧场| 欧美亚洲AN| 丰满人妻一区二区三区四区| 丁香六月综合激情| 九九九九九九九九九九九免费国产| 欧美与日韩97| 天天享受天天看| 九九玖玖精品| 东京热av男人的天堂| 国产精品高潮久久AV| 日韩久久艹| 欧美青青草视频| 亚州欧美另类| 日韩免费在线观看不卡| 丁香五六月啪啪| 伊人黄色视频免费观看| 久9视频| 国内精品不卡无毒99999| 91夜夜蜜桃臀1区2区3区| 综合av影片| 亚洲黄色电影| 人人看黄色视频| 日本一区二区不卡精品| 91久久精品蜜臀| 9精品久久| 17c嫩草51久久91嫩草| 男人天堂黄片| 日日爽夜夜爽| 性欧美精| 岛国福利在线精品播放| 国产a级午夜毛片| 97超碰天天爱天天爱| 日本高清一本二本免费不卡| 国产自制av蜜乳| 亚洲av影院在线观看| 精品久久在线区一区| 美女91av| 国产性爱在线视频一区二区| 综合熟女| 九九九国产精品| 无码精品久久久天天影视| 丁香五月av| 国产日韩中文字幕欧美| 亚洲无无码αⅴ每日更新| 大香蕉免费中文| 深爱伊人影院| 久久精视频美日韩在线视频| 美欧老女人97| 岛国免费视频在线| 日韩啪啪啪啪啪| JuliaAnnXXX888| 日韩中文字幕在线视频观看| 欧美色97| 能看的av| 人人人摸人人| 一区二区蜜臀| 久久久97| 国产理论视频在线播放| 色婷婷五月综合激情中文字幕| 在线精品福利免费播放| 国产自偷自拍一区| 婷婷五月天影院| 91天堂视频| 91超碰在线播放| 玖玖爱视频网站| 欧美性猛交美女自慰91| www.99中文字幕| 97视频网站在线观看| 欧美高清色| 丁香五月激情啪啪| 久久中文字幕女同性恋一区| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 9999久久久久| 欧洲欧美视频一区二区| 亚洲限制级在线| 青青草视频久久久久| 学生妹天天看| 人妻铁牛TV| 亚洲第一页色网| 日本一级特级毛片视频| 人妻素股| 男人的亚洲天堂| 欧美性爱一级操| 91在线限制级| 中文字幕人妻色偷偷久久皮 | 在线视频日韩欧美国产| 国产精品分类在线观看| 久操综合在线| 婷婷国产精品九区| 久久国产乱子伦精品免费女人| 日韩资源网| 精品无码一区二区三区| 国产97色在线| 精品久久久久瑟瑟| 亚洲性感丝袜诱惑在线观看| 天天干夜夜肏| 亚洲欧美日韩偷拍色图| 色噜噜综合在线| 在线97在线| 少妇xx精品| 伊人精品久久网站| 国产一区二区三区久久精品太古里| 好一吊区二区| 夜夜嗨av午夜成人| AV久日| 91M一社| 欧美日韩人人精品| 日韩AV一区二区三区三州三州| 国产精品久久久久久久久久久久久久久| 国产精品成人久久一区二区三区| 人妻人人做人人澡人人爽欧美一区| 日韩AV电影网站| 大香蕉综合在线| 国产精品午夜福利| 免费精品人妻一区二区三| 黄色网址在线免费观看| 中日韩欧美精品无码AⅤ一区二区| 肉丝无码中文高清| 放黄片放3级黄片没穿衣服| 久久宗合97| 天天天干977| 欧美性爱另类综合| 国产精品69久久久久孕妇欧美 | 亚洲欧美综合| 国产精品熟女丝袜一区二区| 92福利社视频| 一线黄色免费性爱片| 9 9精品一区二区三区| 国产精品久久久 | 伊人久久综合影院精品久久久| 强奸乱伦动态污图免费 | 亚洲一区二区AV| 黄片aaaaa一区| 中文字幕精品人妻丝袜| 97日韩超碰超碰中文字幕| 久久久久夜夜夜夜| 久久女人视频| A片A5445444| 天天干天天日天天射黄色大片| 亚洲欧洲自拍| 人人操,操人人| 加勒比综合九九99视频在线播放| 无码精品久久| 亚洲美女30b| 精品一区二区麻豆| 国产综合日韩伦理| 超97在线精品视频| Av手机版天堂网| 久久久亚洲熟妇资源| 欧美激情久| 思思热免费在线视频| 玖玖资源视频一区二区三区| 校园春色欧美色图| 久久av一级av少妇av高潮| 91暧暧| juliaann丝袜| 精品二区三四区五电影 | 青草成人免费视频一com| 综合日韩激情另类图片| 美女国产一区二区久久| 久久精品 六十路 熟女 欧美| 欧美日韩色综合网| 成人综合视频久久| 欧美性爱一区二区三区四区 | 综合 欧美 亚洲 日本| 亚洲情色欧美| 欧美三级一级| 久草资源在线视频官方总站日韩丝袜美腿| 婷婷99| 国产 v乱码一区二| 人妻在线大香蕉| www.yeyecao| 成人乱人伦一区二区| 亚洲免费97免费| 国产中文福利| 男女激情黄色网址| 性色国产东北露脸精品视频| 91黑丝操| 天天天天做夜夜夜夜做| 亚洲欧美不卡线| 丝袜六区| 国产成人主播| 欧美日韩夜夜| 欲色综合| 91啪9色| 无码久久亚洲高清,| 一区中文字幕二区日韩| 欧美亚洲尤物久久| 亚洲国产中文字幕| 99在线免费视频| 国产强奸乱伦无码视频| 欧美激情色婷婷花野真衣一区二区| 这里只有精品视频在线观看麻豆| 道久久五香丁月婷婷激情综合| 女人被添高潮免费视频| 一本色道熟妇| 91挑色欧美| 成人午夜视频免费播放| 日本一级特级毛片视频| 在线亚洲丝袜视频网站| 色色无码| 亚洲欧美日韩精品久| 亚洲欧美情色| 亚洲蜜臀视频精品久久| 人妻啊啊人妻啊| 国产亲戚伦亲在线| 青春草莓视频在线观看网址| 精彩久久中文| AV久日| 免费农村成人少妇人妻Aa一区二区视频| h4610国产人妻| 成人a v在线播放免费| 色婷婷日韩精品一区二区三区| 99re只有精品| 一色网男人的天堂| 五月丁香大香蕉| 久久亚洲AV无码专区国产精品| 97爱爱| 亚洲日韩电影| 东京男人天堂| 熟妇无码视频三区| 国产第二页| 欧美国产成人在线| 色女综合| 日韩 人妻 精品| 97精品国产97久久久久久户外免费| 免费A V在线| 黄色性爱网网| 91精品久久久久久综合五月天| 51一区二区三区| 人人操人人操草草| 无遮挡猛进视频免费无限观看| 91午夜无码| 日韩大香蕉AV影片| 欧美性爱第1 页| 蜜桃成人1区2区3区| 啊啊啊好大好深| 久久婷婷五月天| 日韩有码 一区二区三区| 日韩人妻大香蕉| 77777亚洲蜜臀精品久久综合蜜臀| 91九九九小逼| 四虎国产精品永久在线囯在线| 丁香六月激情| 97神马久久| 盗摄 精品 另类 一区| 美女天天干| 久久久久久99AV无码免费网站| 综合第一页| 99久草| 国产黄片精品在线| 亚洲人妻熟妇三十三区| 在线看污网站| 精品人妻伦一二三区久久| 九热超碰| 校园春色综合色| 欧美午夜视频免费观看| 国产高清精品一区二区三区毛片| 无码人妻系列少妇| 青青爽| 亚洲动态色图| 夜夜国产一区| 99色视频| 啪啪免费| 激情抓乳插进去啪啪啪日韩| 久久久久久九九九九九| 欧美亚洲激情小说| 俺去啦自拍| 日逼视频日本| 国产人妖视频一区在线观看| 免费99精品国产自在在线| 成人一二| 久湿久久| 欧美一级专区免费大片| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 日韩无码黄色片| 五月天婷婷在线看| 超碰97护士| 午夜精品久久99蜜桃的功能章节| 日比av无码| 天天做天天爱| 999久久久| 国产精品一区二区a| 色狠狠一区二区三区香蕉| 九九视品黄色| 伊人久久综合影院| 日韩激情电影中文字幕| 欧美日韩1234| 综合激情二| 国产三级资源在线观看| 伊人久久综合精品欧美| 久久精品国产亚洲AV高级北京| 亚洲成人久久一区二区| 色999五月色| 丁香五月天婷婷姐| 人妻内射一区二区在线视频| 欧美人妻一区二区| 国产强奸乱伦第1页| 色综合天天| 伊人久久88国产女| 91高跟美女在线播放| 91天堂丝袜美腿| 精品国模无码| 黄色片大香蕉| 欧美大香蕉97| 欧美三级偷拍| 爽极品影院| 天天添天天干电影| 欧美精品三区| 亚洲国产丝袜熟女av| 操婷婷逼| 国产第二页| 国产精品一区二区手机看片| 立川理惠加勒比无码| 亚州综合色图| 日本一区二区亚洲综合| 99久热| 亚洲精品一区二区免费在线观看| 好爽免费视频| 欧美一级色| 999九九九九国产动| 四虎 精品 WWW| 一本色道久久综合狠狠操| 99久久久久| 日韩欧美操逼xxx| 亚洲中文字幕av | 天天看片麻豆| 色色色热| 亚洲97精品| 欧美一区二区福利在线| 国产后入精品| 精品少妇99| 99超级碰免费视频| 欧美九九九九九| 99欧美| 97资源站日韩| 操逼逼无码| 日韩伦理久 久久 清纯| 91亚洲最新在线| 日本三级A片网站com| 東南亚性呦成人伦理资源在线视频| 亚州欧美综合| 狠狠爱夜夜干| 天天天操天天天爱| 精品妇操一区二区三区| 欧美激情片一区二区| 色综合91| 日本三级日本三级三级人妇四虎| 婷婷久久久| 色色香蕉| 婷婷五月天影院| 久久性爱城| 色色五月婷| 人人妻人人色一区二区三区| 天堂国产AV| 国产久久天堂资源| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 夜夜骑夜夜操| 嗯嗯嗯嗯啊啊啊好紧好大| 久久精品 六十路 熟女 欧美| 欧美中文字幕一区 | 啊啊啊想要| 97天天操天天干| 91性高潮久久久久久久久| www国产无码| 欧美熟女逼久久久久久| 五月天婷婷激情| 一牛影视成人片免费| 神马久久久久久| 超碰欧美97资源| 亚州欧美一区| 欧美72网页| 国产人伦精品一区二区三区 | 国产成年女人免费视频播放a| 超碰在线在公开超碰在线在公开| 蜜臀AV一区二区三区激情综合| 亚洲古典另类欧美在线| 中文字幕第9页萱萱影音先锋| 992视频一区| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 亚洲最新Av| 另类图片天天影视| 超碰久超碰久| 国产999精品久久久| 97超碰公开| 农村少妇久久久久久久| 久久超碰天天| 新怡红院| 天天干电影| 精品78| 女沟厕偷窥piss小便| 亚洲图片欧美| 久久无码一区二区二三区性色| 亚洲天堂一区| 国产在线观看一区二区三区| 夜夜躁狠狠躁日日躁av| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 99天天超碰| 校园春色欧美色图| 色好看av| 97国产色图 | 偷拍新久久| 搞中出视频在线观看| 宅男91视频在线播放| 麻豆区99999| 18岁禁 茉莉成人久久| 亚洲天堂久久| 色淫网站优优视频| 91色噜噜狠狠| 97超碰总站| 91超级碰碰| 91在线美女| 亚洲系列第一页| 综合性视频99| 亚洲最大AV网| 精品天堂| 日韩精品操少妇| 欧美18老人禁| 日韩精品9区| 国产女人成人精品视频| 视频二区美腿丝袜制服人妻欧美| 中文字幕在线观看AV| 午夜福利一区二区三区四区五区色婷婷| 天天色综合影视网| 艹精品| 久久天天摸| 亚洲天堂另类| 婷婷午夜成人色中色| 国产九九久久久精品| 精品无人区麻豆乱码1区2区图片 | 啊啊啊啊免费视频| 伊人久久在线视频观看| 色蜜AV| 日韩精品亚洲一二三| 免费精品中文字幕| 99r九九| 97在线看| 东京日日夜夜| 日夜精品| 九九九九九九九精品视频| 中文字幕无码不卡啪啪| 国产最新小视频在线播放下载| 午夜激情床戏激情| 亚洲图片另类| 中文字幕91综合| 日本韩高清无砖码22o| 欧美熟妇视频| 亚洲成人黄色在线观看| 色盈盈影院| 少妇啪啪自拍| 国产麻豆一区二三区| 性爱av网站| 大香蕉99热| 日韩精品人妻系列无码天堂| 国产v亚洲v日韩v欧美v片另类| 一本道综合色图| 天天插网| 超碰碰激情97+久| 日韩黄色一区二区三区| 国产视频97| 在线黄页看毛片| 天天射天天操天天干天天吃2018| 亚洲情色1区| 性无码专区2020| 亚洲AV高潮| 天堂8在线新版官网| 黑人猛交| 激情文学亚洲| 国产视频一区二区在线| 国产精品无码久久久久2025| av日韩中文字幕| 丰满人妻一区二区三区在线| 亚洲AV无码AV吞精久久久久| 成人小电影网站tex| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 色五月首页| 91在线视频国产网站| 99re视频这里只有精品| 屁股久久久久久| 国产精品乱码久久| 国产精品视频播放| 国产亚洲日本精品在线| 欧美色视| 福利五区| 嗯嗯啊啊的视频| 亚洲图片欧美制度| 一区在线国产播放| 天天躁日日躁成人字幕aⅴ| 久久久99999久网站| 欧美熟妇乱码在线一区| 日韩av在线精品观看| 青苹果影院男人的天堂| 婷婷五月色| 国产精品粉嫩福利在线| 十八禁的黄污污免费网站| 久操 高清| 国产精选三级在线观看| 在线观看色视频| 丁香六月激情| 日韩熟女无码| 国产一级内射高清视频| 欧美日韩在线小说 | 成人无遮挡毛片免费看| 午夜精品久久久| 久久久久9999| 成人小说另类在线| 午夜a成v人电影| 色官网色综合| 久久久久国产精品片区无码直播| 日本操BAV| 激情开心五月天| 男人亚洲91首页在线| 性欧美体内射精| 嗯嗯,好大,好爽,好骚| 国产和美国毛片| 91天堂| 亚洲黄色视频在线观看视频| 亚瑟国产精品久久无码| 国产理论视频在线播放| 啊视频在线| 精品一区二区3区| 日夜干射色啊| 91精品久久久久久| 波多野结衣AV无码一区| 日本在线播放不卡一区| 伊人97超碰| 蜜屁Av| 亚洲综合另类| 国产精品自产拍在线观看社区| 长长久久88视频| 色眯眯av| 1769成人国产精品视频| 91操人| 亚洲国产一级中文综合久久天堂在线免费观看| 丝袜美腿校园春色| 精品久久久久综合无码| www.伪伪| 国产天美欧美| 亚洲美女高潮喷水视频| 欧美爱三级日韩久久| 色色婷婷五月天| 另类 综合 日韩 欧美 亚洲| 97亚洲中文| 日韩av不卡在线观看| 欧美在线大香蕉| 成·人免费午夜在线观看| 亚欧免费观看视频| 国产乱伦一二三区| 亚洲综合骚逼| 久久午夜鲁丝片| 99久久久无码| 亚洲日韩国产精品| 伊人综合色网| 色与欲影视| 超碰人人妻| 蜜臀久久99精品久久久久久婷婷 | 国产隔壁老王影院在线| 精品四五区| 日韩福利电影网| 色97| 97精品久久| 欧美色图片91| 国产又色又粗又黄又爽| 天天干天天日天天射黄色大片| 欧美97爱| 麻豆乱码久久精| 在线播放一级无码视频| 欧美伊人久久综合网| 中文字幕 一区二区 亚洲无码| 国产精品制服丝袜清纯唯美| 精品高潮| 亚洲交性| 国内一级精品| 亚洲精品黑丝| 男人把坤坤插入女人的下体| 白丝jkav| 91成人在线| 日产狠狠干| 97在线免费观看视频| 九九成人视频| 国产真实子伦对白| 精品人妻1237| 麻花豆传媒剧国产MV出差| 欧美日韩亚洲五月天婷婷| 日韩激情啪啪啪| #NAME?| 99在线精品视频| 国产精品不卡高清在线观看| 国产日韩精品一区二区三区| 精品九九九| 99爱在线视频| 国产99热| 骚女天天综合网| 思思热在线观看| 一区二区不卡免费| 人人贴人人摸| 深爱伊人影院| 在线性黄高清免费视频| 精品人妻视频一区二区在线播放 | 亚洲成人性爱在线观看| 99精品无码| 99AV| 天天影视射综合网| 五月丁香综合啪啪| 亚州熟女乱伦| 亚洲乱色视频一区、二区在线| 有码免费观看| 天天射影院| 日韩av电影成人在线| 国产夫妻性生活视频| 啊啊啊好舒服视频在线观看| 操逼1区| 无码精品久久| 妇女性内射冈站HDWWWCOM| 色欧洲| 国产精品另类一区大香蕉| 在线天堂999| 久视频在线观看| 九九热精品免费视频| 亚洲中文字幕97久久精品少妇| 欧美爱三级日韩久久| 精品无码一区二区三区色欲| 天美传媒婬乱| 日韩免费簧片| 免费久久一级毛片大黄| 国产精品 久久久精品一牛| 人人爱人人乐人人操| 国产最火爆久久国产网站网站| 欧美成人A√在线一区二区| 国产最新小视频在线播放下载| 亚洲AV噜噜狠狠网址蜜桃动漫| 人人操人人操草草| 在线只有精品| 欧美成不卡网| 丰满人妻一区二区中文| 欧美中日韩XXXX| 成全动漫视频观看免费下载| 日韩免费看在线黄色片| 手机看片1025| 99这里有精品| 操少妞在线视频| 中文久久久| 操比国产| 国产夜夜操| 欧美亚州综合网图片| 俄罗斯一区二区视频在线观看| 99日精品欧美国产| 粉嫩国产精品久久久| 欧美色亚洲色| 国产一进一出视频网站| 懂色AV一区二区三区| 天天天堂影视日韩亚洲91| 91无码西班牙视频在线| 欧亚免费视频| 亚洲美女 晚间男人天堂 | 9/A片| 亚洲诱惑天堂 | 天天夜夜久久| 欧美亚洲今日在线| 色哟哟511老熟女| 亚洲激情 欧美色图| 97日亚洲欧美| 日本 欧美 国产一区| 97操在线| 翔田千里一区二区三区奶水| 色精品极品| 97超碰超碰| 综合网,亚洲,欧美| 青草成人免费视频一COm| 日韩九区| 欧美在线电影| 久久久18| 亚洲图片91| 精品超碰中文在线| 校园春色 欧美| 中美日韩毛片| 欧美精品一区二区少妇免费A片| 丝袜喷水在线| AV和黑人在线播放| 久久超碰免费的| 久久这里是精品| 精品人妻视频一区二区在线播放 | 中 文字幕一区二区三四 五 区日 日 骚 | 国产精品视频在线观看| 伊人亚洲国产一成人久久精品,久久| 校园春色美腿丝袜 | 天天综合精品| 精品9999| 午夜啊啊啊| 国产亚洲人妻综合日韩 久久| 翔田千里无码中出中文字幕| 啊啊啊啊免费视频| 久久大香蕉手机高清视频| 久久草草亚洲蜜桃臀| 亚洲影院小综合| 亚洲成人在线高清| 999 久久久| 欧美夜夜狠| 美国aaaaa一级黄片| 亚洲色图欧美色图综合| www.狠狠| 亚洲欧美国产成人综合不卡| 欧美在线55555| 不卡免费av在线播放| 久久伊人青青草| 夜夜精品视频| 天美传媒国产原创中文字幕亚洲欧美另类| 欧美色图 人妻| 国产真乱mangent| 天天操av懂色| 色欲Av人妻精品一区二| 午夜毛片高清免费不卡| 九九久久99| 欧美激情另类一区二区| 97视频免费播放|