欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

基于Hadoop和Spark的信貸風(fēng)控系統(tǒng)架構(gòu)與落地實(shí)踐

基于Hadoop和Spark的信貸風(fēng)控系統(tǒng)架構(gòu)與落地實(shí)踐 簡介面向大數(shù)據(jù)金融信貸風(fēng)控領(lǐng)域?qū)W習(xí)者和畢業(yè)設(shè)計(jì)開發(fā)者的完整項(xiàng)目源碼包基于Hadoop與Spark技術(shù)棧實(shí)現(xiàn)信貸風(fēng)險(xiǎn)控制系統(tǒng)覆蓋數(shù)據(jù)接入、流式處理、風(fēng)控邏輯及可視化等環(huán)節(jié)適合課程設(shè)計(jì)、畢設(shè)或項(xiàng)目初期演示。壓縮包內(nèi)共69個(gè)文件以36個(gè)Java源碼、8個(gè)Scala源碼為主配合12個(gè)XML配置、5個(gè)properties屬性文件、SQL腳本及H5前端JS等整體約58KB工程結(jié)構(gòu)清晰便于按功能模塊查閱。已有325人學(xué)習(xí)下載代碼均測試運(yùn)行成功答辯平均分達(dá)96分并提供遠(yuǎn)程教學(xué)支持。參考README與數(shù)據(jù)庫腳本即可快速搭建環(huán)境重點(diǎn)理解Spark Streaming實(shí)時(shí)數(shù)據(jù)接入、MyBatis映射配置以及風(fēng)控流程設(shè)計(jì)等實(shí)踐要點(diǎn)下載后可直接導(dǎo)入IDE運(yùn)行調(diào)試便于二次開發(fā)。1. 基于Hadoop、Spark的信貸風(fēng)控系統(tǒng)在解決什么先看清它要扛下的數(shù)據(jù)量做信貸業(yè)務(wù)的同學(xué)都熟悉這個(gè)畫面一天涌入幾十萬筆申請每筆申請背后是用戶基本信息、多頭借貸記錄、設(shè)備指紋、APP行為軌跡、第三方黑名單光原始字段就上百個(gè)。傳統(tǒng)MySQL單庫撐死幾千QPS十幾張表做一次join直接超時(shí)更別提把一年甚至三年的歷史數(shù)據(jù)拉出來做特征回溯?;贖adoop、Spark的大數(shù)據(jù)金融信貸風(fēng)控系統(tǒng)核心就是把數(shù)據(jù)存儲(chǔ)和特征計(jì)算搬到分布式框架上HDFS承接海量明細(xì)數(shù)據(jù)Spark跑離線特征工程、批量評(píng)分和模型訓(xùn)練再配合規(guī)則引擎處理實(shí)時(shí)審批決策。它解決的是三個(gè)具體問題——數(shù)據(jù)存不下、特征算不動(dòng)、風(fēng)險(xiǎn)評(píng)分出不來。適合正在做信貸技術(shù)選型的工程師也適合高校大數(shù)據(jù)方向拿一個(gè)完整項(xiàng)目做課程設(shè)計(jì)的同學(xué)。你先搞清楚這套系統(tǒng)的數(shù)據(jù)鏈路和關(guān)鍵取舍再去看源碼和文檔效率會(huì)高很多。2. 架構(gòu)設(shè)計(jì)與技術(shù)選型為什么是Hadoop加Spark而不是其他組合2.1 先做減法哪些方案被排除理由是什么常見的第一反應(yīng)是用MySQL加定時(shí)任務(wù)搞定一切。但在信貸風(fēng)控場景里原始數(shù)據(jù)里有用戶授權(quán)讀取的運(yùn)營商通話詳單、電商消費(fèi)記錄、社保公積金流水單用戶每月產(chǎn)生的明細(xì)記錄就有幾百條百萬用戶就是幾億行。MySQL單表過億之后即使加了索引復(fù)雜的聚合查詢也要幾十秒甚至分鐘級(jí)根本撐不住風(fēng)控調(diào)參時(shí)反反復(fù)復(fù)的特征回溯。純Flink流處理方案也是一個(gè)選擇但風(fēng)控場景里真正耗費(fèi)算力的不是實(shí)時(shí)計(jì)算本身而是全量數(shù)據(jù)的批量特征計(jì)算、模型訓(xùn)練和離線回測。Flink擅長的是秒級(jí)窗口內(nèi)的實(shí)時(shí)計(jì)算把這部分任務(wù)硬塞給Flink集群成本會(huì)翻很多倍而且Flink對狀態(tài)后端的管理也比Spark的批處理模型復(fù)雜。Hadoop加Spark是更成熟的配合方式HDFS做分布式存儲(chǔ)底座Spark跑內(nèi)存計(jì)算MapReduce留作極重的歷史回溯兜底任務(wù)。這套組合在金融行業(yè)被驗(yàn)證了超過十年招聘市場上也確實(shí)大量崗位要求這兩項(xiàng)技術(shù)。2.2 總體架構(gòu)五層數(shù)據(jù)流和一個(gè)核心整套系統(tǒng)的數(shù)據(jù)流可以拆成五個(gè)層級(jí)采集層Flume采集服務(wù)器日志Kafka承接業(yè)務(wù)系統(tǒng)實(shí)時(shí)推送的申請事件兩份數(shù)據(jù)最終都落到HDFS。存儲(chǔ)層HDFS存放原始日志和數(shù)倉各層明細(xì)數(shù)據(jù)HBase用來存實(shí)時(shí)特征結(jié)果和反欺詐名單支持毫秒級(jí)查詢。計(jì)算層Spark負(fù)責(zé)離線批處理、特征工程、模型訓(xùn)練Hadoop MapReduce處理極端耗時(shí)的全量回溯任務(wù)。服務(wù)層規(guī)則引擎加載黑名單、硬性規(guī)則進(jìn)行第一輪攔截評(píng)分模型對通過規(guī)則的申請輸出信用評(píng)分封裝成REST接口。展示層運(yùn)營后臺(tái)和大屏展示每日申請量、通過率、逾期率、評(píng)分分布等核心指標(biāo)。整個(gè)架構(gòu)的核心是中間那層特征寬表和評(píng)分模型。沒有特征寬表Spark的算力無處安放沒有評(píng)分模型前面的存儲(chǔ)和計(jì)算只是存了一堆用不上的數(shù)據(jù)。這也是后面兩章要重點(diǎn)展開的部分。2.3 集群部署起點(diǎn)偽分布式搭建、HA 架構(gòu)和生產(chǎn)集群規(guī)劃學(xué)習(xí)階段不建議一上來就搞多節(jié)點(diǎn)集群。先在單機(jī)做Hadoop偽分布式搭建把HDFS的NameNode和DataNode、YARN的ResourceManager和NodeManager之間的關(guān)系跑明白再用Spark的local模式提交幾個(gè)作業(yè)理解存儲(chǔ)和計(jì)算的協(xié)作邏輯。集群里還有一個(gè)關(guān)鍵組件是ZookeeperHadoop和Zookeeper整合實(shí)戰(zhàn)解決的核心問題是HA模式下NameNode的自動(dòng)故障切換——主NameNode掛了備用節(jié)點(diǎn)要能自動(dòng)頂上否則整個(gè)HDFS就癱了。生產(chǎn)環(huán)境必須上HA架構(gòu)這一點(diǎn)沒有任何商量余地。NameNode是HDFS的單點(diǎn)元數(shù)據(jù)都在它內(nèi)存里一掛全掛。Zookeeper負(fù)責(zé)協(xié)調(diào)兩個(gè)NameNode的主備狀態(tài)JournalNode負(fù)責(zé)同步編輯日志。生產(chǎn)集群的規(guī)模按數(shù)據(jù)量倒推1000萬級(jí)注冊用戶每天新增日志約200GBKeep一個(gè)50個(gè)節(jié)點(diǎn)左右的集群存儲(chǔ)和計(jì)算基本夠用。節(jié)點(diǎn)規(guī)格建議是每臺(tái)32GB內(nèi)存、8核CPU、4塊4TB硬盤這樣的配置在大多數(shù)信貸業(yè)務(wù)里能從業(yè)務(wù)初期撐到中期。規(guī)模再大的話要考慮的是Spark任務(wù)的資源隔離而不是繼續(xù)無限加節(jié)點(diǎn)。3. 數(shù)據(jù)接入與存儲(chǔ)從原始JSON到可查詢的特征寬表3.1 Spark中讀取JSON日志的兩種姿勢和一個(gè)關(guān)鍵坑業(yè)務(wù)系統(tǒng)上報(bào)的日志絕大多數(shù)是JSON格式每條申請記錄一個(gè)JSON文件或者一行一個(gè)JSON。Spark讀取JSON最常見的錯(cuò)誤是讓Spark自己推斷schema數(shù)據(jù)量大時(shí)這個(gè)推斷過程會(huì)觸發(fā)額外的掃描而且碰到包含多種字段形態(tài)的數(shù)據(jù)時(shí)推斷結(jié)果經(jīng)常和你預(yù)期不符——比如金額字段有時(shí)是字符串有時(shí)是數(shù)字Spark默認(rèn)推斷成string或bigint取出來才發(fā)現(xiàn)類型不對。我一般會(huì)直接在讀取時(shí)顯式指定schema代價(jià)是維護(hù)一個(gè)schema定義但換來的是穩(wěn)定性和可預(yù)測性。典型的讀取代碼長這樣from pyspark.sql import SparkSession from pyspark.sql.types import StructType, StructField, StringType, LongType, DoubleType, TimestampType spark SparkSession.builder \ .appName(credit_json_etl) \ .config(spark.sql.shuffle.partitions, 200) \ .enableHiveSupport() \ .getOrCreate() # 顯式定義schema避免Spark自己推導(dǎo)導(dǎo)致的類型漂移 schema StructType([ StructField(user_id, StringType(), True), StructField(apply_time, TimestampType(), True), StructField(loan_amount, DoubleType(), True), StructField(device_id, StringType(), True), StructField(channel, StringType(), True), StructField(extra_info, StringType(), True) # 原始字段先保留后續(xù)解析 ]) # 讀取HDFS上的原始JSON目錄按天分區(qū) raw_df spark.read \ .option(multiline, false) \ .schema(schema) \ .json(/data/raw/credit_apply/dt2024-01-01/) raw_df.printSchema() raw_df.show(5, truncateFalse)這段代碼里multiline參數(shù)要按實(shí)際數(shù)據(jù)格式設(shè)置。每行一個(gè)JSON對象時(shí)設(shè)為false整個(gè)文件是一個(gè)大JSON數(shù)組時(shí)設(shè)為true。shuffle.partitions設(shè)置成200是一個(gè)比較保守的起步值它控制了Spark執(zhí)行shuffle操作時(shí)的分區(qū)數(shù)量數(shù)據(jù)量大的時(shí)候這個(gè)值設(shè)置得太小單個(gè)任務(wù)處理的數(shù)據(jù)過多很容易撐爆executor內(nèi)存。3.2 數(shù)倉分層ODS、DWD、ADS三層的建模思路原始數(shù)據(jù)直接拿來算特征是不現(xiàn)實(shí)的JSON里嵌套的字段解析要消耗大量計(jì)算資源而且重復(fù)解析會(huì)有一致性問題。標(biāo)準(zhǔn)做法是建立三層數(shù)倉ODS層原樣保留原始JSONDWD層做清洗、脫敏、解析字段ADS層做特征寬表。ODS層就是上面讀取的原始數(shù)據(jù)不做任何加工只按天分區(qū)。DWD層用Spark SQL做清洗和解析典型做法是用get_json_object把JSON里的嵌套字段提取出來同時(shí)對身份證號(hào)、手機(jī)號(hào)做脫敏處理。這一步很關(guān)鍵信貸數(shù)據(jù)涉及個(gè)人敏感信息審計(jì)時(shí)會(huì)要求你證明原始數(shù)據(jù)沒有直接暴露在計(jì)算鏈路里。DWD層建表語句參考CREATE EXTERNAL TABLE IF NOT EXISTS dwd_credit_apply ( user_id STRING COMMENT 用戶ID, apply_time TIMESTAMP COMMENT 申請時(shí)間, loan_amount DOUBLE COMMENT 申請金額, loan_term INT COMMENT 申請期限月, device_brand STRING COMMENT 設(shè)備品牌, channel_code STRING COMMENT 渠道編碼, city_level INT COMMENT 城市等級(jí) 1-5, -- 脫敏后的手機(jī)號(hào)只保留前3后4 mobile_masked STRING COMMENT 脫敏手機(jī)號(hào) ) PARTITIONED BY (dt STRING) STORED AS PARQUET LOCATION /warehouse/dwd/credit_apply; -- 按天覆蓋寫入分區(qū) INSERT OVERWRITE TABLE dwd_credit_apply PARTITION (dt2024-01-01) SELECT user_id, apply_time, CAST(loan_amount AS DOUBLE), CAST(loan_term AS INT), get_json_object(extra_info, $.device_brand) AS device_brand, get_json_object(extra_info, $.channel_code) AS channel_code, get_json_object(extra_info, $.city_level) AS city_level, concat(substr(mobile, 1, 3), ****, substr(mobile, 8, 4)) AS mobile_masked FROM /data/raw/credit_apply/dt2024-01-01;建表時(shí)用STORED AS PARQUET的列式存儲(chǔ)查詢時(shí)只讀取需要的列IO量可以降一半以上對特征計(jì)算階段的多列讀取特別友好。INSERT OVERWRITE的寫法保證分區(qū)內(nèi)數(shù)據(jù)是冪等的重跑任務(wù)不會(huì)產(chǎn)生重復(fù)數(shù)據(jù)。3.3 特征寬表為什么要寬以及怎么join才不翻車特征計(jì)算階段最忌諱的是每次評(píng)分都去臨時(shí)join十幾張表。業(yè)界標(biāo)準(zhǔn)做法是預(yù)先算好一張?zhí)卣鲗挶怼恳恍惺且粋€(gè)用戶每一列是一個(gè)特征。寬表的好處在于訓(xùn)練模型時(shí)直接把這張表喂給機(jī)器學(xué)習(xí)算法不需要再處理join邏輯實(shí)時(shí)評(píng)分時(shí)查詢一次就能拿到一個(gè)用戶的全部特征。構(gòu)建寬表最常見的坑是join數(shù)據(jù)傾斜。比如用用戶維度join授信記錄某幾個(gè)用戶借款次數(shù)上千次會(huì)導(dǎo)致對應(yīng)reduce任務(wù)數(shù)據(jù)量遠(yuǎn)大于其他任務(wù)表現(xiàn)為整體任務(wù)卡在99%。緩解手段有三個(gè)先把用戶維度的數(shù)據(jù)做聚合壓到每用戶一條對join key做加鹽處理分散熱點(diǎn)或者干脆把低頻維度做成廣播變量。第三個(gè)手段在Spark里操作最簡單核心代碼如下from pyspark.sql import functions as F # 用戶基本信息表數(shù)據(jù)量在幾十萬量級(jí)可以廣播 user_info spark.table(dwd_user_info) user_features spark.table(dwd_credit_apply).groupBy(user_id).agg( F.count(user_id).alias(apply_cnt), F.avg(loan_amount).alias(avg_loan_amount), F.max(loan_amount).alias(max_loan_amount) ) # 廣播小表避免shuffle user_features_with_info user_features.join( broadcast(user_info), onuser_id, howleft ) # 覆蓋寫入ADS特征寬表按天全量刷新 user_features_with_info.write \ .mode(overwrite) \ .format(parquet) \ .save(/warehouse/ads/user_feature_wide_table)這段代碼里broadcast會(huì)把小表分發(fā)到每個(gè)executor的內(nèi)存中join時(shí)不需要做shuffle這是Spark里最廉價(jià)的性能優(yōu)化手段之一。寬表的刷新策略按業(yè)務(wù)容忍度來定信貸場景通常T1刷新就行——當(dāng)天凌晨用前一天的數(shù)據(jù)重算全量寬表第二天白天做實(shí)時(shí)查詢時(shí)讀的就是最新版本。4. 特征工程與風(fēng)險(xiǎn)模型把Spark算力變成授信分4.1 特征計(jì)算與清洗Spark DataFrame的標(biāo)準(zhǔn)化數(shù)據(jù)處理特征寬表建好之后下一步是特征工程——把原始字段變成模型能用的數(shù)值特征。信貸風(fēng)控常見的特征類型包括用戶基本屬性年齡、城市等級(jí)、職業(yè)類別、借款行為申請次數(shù)、平均借款金額、借貸間隔、設(shè)備信息設(shè)備使用時(shí)長、越獄/root標(biāo)記、外部征信數(shù)據(jù)逾期次數(shù)、查詢次數(shù)。這些特征不能直接進(jìn)模型要做三類處理缺失值填充、異常值截?cái)唷?shù)值標(biāo)準(zhǔn)化。Spark DataFrame做這套處理非常順手代碼示例如下from pyspark.sql import functions as F from pyspark.sql.functions import col # 讀取特征寬表 feature_df spark.read.parquet(/warehouse/ads/user_feature_wide_table) # 填充缺失值數(shù)值列用中位數(shù)類別列用unknown stat feature_df.select( F.expr(percentile_approx(age, 0.5)).alias(age_median) ).collect()[0] feature_df feature_df.fillna({ age: stat[age_median], city_level: 3, # 缺失城市等級(jí)默認(rèn)按三線城市處理 device_use_days: 0, channel_code: unknown }) # 異常值截?cái)喑^99分位數(shù)的值直接截?cái)喾乐箻O端值拉偏模型 quantile_age feature_df.approxQuantile(age, [0.99], 0.01)[0] quantile_amount feature_df.approxQuantile(loan_amount, [0.99], 0.01)[0] feature_df feature_df.withColumn( age, F.least(col(age), F.lit(quantile_age)) ).withColumn( loan_amount, F.least(col(loan_amount), F.lit(quantile_amount)) ) # 標(biāo)準(zhǔn)化Z-score讓不同量綱的特征處于同一尺度 mu_age, std_age feature_df.select( F.mean(age).alias(mu), F.stddev(age).alias(std) ).collect()[0] feature_df feature_df.withColumn( age_zscore, (col(age) - mu_age) / std_age )approxQuantile是Spark提供的近似分位數(shù)計(jì)算它不需要全量排序用抽樣估算對于分位數(shù)這種統(tǒng)計(jì)量精度完全夠。標(biāo)準(zhǔn)化用的是Z-score對于邏輯回歸這類線性模型是必須的不標(biāo)準(zhǔn)化的話數(shù)值大的特征會(huì)在梯度計(jì)算中占主導(dǎo)地位。對于樹模型標(biāo)準(zhǔn)化非必需但做了也沒有副作用所以我一般統(tǒng)一做掉。4.2 規(guī)則引擎和評(píng)分卡模型怎么配合有了特征接下來是關(guān)鍵問題規(guī)則引擎和評(píng)分卡模型怎么分工。規(guī)則引擎處理那些一刀切的硬性風(fēng)險(xiǎn)——命中黑名單直接拒、申請金額超過限額直接拒、同一設(shè)備一天申請超過5次直接拒。規(guī)則引擎速度快、可解釋性強(qiáng)、修改即時(shí)生效適合做第一道攔截。評(píng)分卡模型則處理那些介于中間的申請用一個(gè)分?jǐn)?shù)來度量違約概率。評(píng)分卡最底層的模型通常是邏輯回歸因?yàn)榫€性模型天然具備可解釋性。在實(shí)際落地中為了更好處理非線性關(guān)系會(huì)先對連續(xù)特征做WOE分箱。這里用pyspark.ml.feature里的相關(guān)組件來實(shí)現(xiàn)from pyspark.ml.feature import QuantileDiscretizer # 對連續(xù)特征做分箱讓模型學(xué)習(xí)非線性關(guān)系 discretizer QuantileDiscretizer( numBuckets10, inputColage, outputColage_bucket ) # 分箱結(jié)果轉(zhuǎn)成OneHot編碼后輸入邏輯回歸 from pyspark.ml.feature import OneHotEncoder ohe OneHotEncoder( inputCols[age_bucket, city_level_bucket], outputCols[age_ohe, city_ohe] ) # 組裝特征向量并訓(xùn)練邏輯回歸 from pyspark.ml.classification import LogisticRegression from pyspark.ml.feature import VectorAssembler assembler VectorAssembler( inputCols[age_ohe, city_ohe, apply_cnt, avg_loan_amount], outputColfeatures_vector ) lr LogisticRegression( featuresColfeatures_vector, labelColis_default, maxIter100, regParam0.01 )訓(xùn)練做完之后把模型的系數(shù)換算成分?jǐn)?shù)每個(gè)分箱對應(yīng)一個(gè)分?jǐn)?shù)加總后映射到300-900分的信用分區(qū)間。分?jǐn)?shù)越高違約概率越低。這個(gè)分?jǐn)?shù)段業(yè)內(nèi)默認(rèn)是300分以下堅(jiān)決拒、650分以上直接放、中間走人工復(fù)核。模型訓(xùn)練迭代的次數(shù)不用追求太多信貸場景里模型更新周期通常是季度級(jí)別特征是主導(dǎo)模型算法排第二。4.3 讓評(píng)分接口算得快Spark內(nèi)存參數(shù)與提交配置評(píng)分模型落地到線上服務(wù)常見的方式是把模型跑在Spark Streaming或者Structured Streaming上接Kafka里的申請事件流式計(jì)算實(shí)時(shí)給分。這時(shí)候性能參數(shù)的重要性不亞于模型本身的準(zhǔn)確率。Spark Streaming消費(fèi)Kafka數(shù)據(jù)做評(píng)分的典型配置參數(shù)如下from pyspark.sql import SparkSession spark SparkSession.builder \ .appName(credit_scoring_streaming) \ .config(spark.executor.memory, 4g) \ .config(spark.executor.cores, 4) \ .config(spark.sql.shuffle.partitions, 400) \ .config(spark.streaming.kafka.maxRatePerPartition, 1000) \ .config(spark.sql.streaming.checkpointLocation, /warehouse/checkpoint/credit_scoring) \ .getOrCreate()spark.executor.memory決定了每個(gè)executor的JVM堆內(nèi)存4g是生產(chǎn)環(huán)境的保守起步值別忘了堆外內(nèi)存實(shí)際申請的物理內(nèi)存要比這個(gè)值多20%左右。maxRatePerPartition限制每個(gè)Kafka分區(qū)每秒最多消費(fèi)1000條防止流量突增直接把集群打爆。checkpointLocation一定要配流式任務(wù)的進(jìn)度元數(shù)據(jù)全部存在這里不配的話任務(wù)重啟后會(huì)丟數(shù)據(jù)或者重復(fù)消費(fèi)。提交作業(yè)的方式也要配套。推薦用spark-submit提交到Y(jié)ARN集群而不是直接spark-submit跑在本地模式。提交命令參考spark-submit \ --master yarn \ --deploy-mode cluster \ --executor-memory 4g \ --executor-cores 4 \ --num-executors 30 \ --conf spark.sql.shuffle.partitions400 \ --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.2.0 \ credit_scoring_streaming.pynum-executors乘上之前配置的核數(shù)控制著整個(gè)作業(yè)的并行度。核數(shù)從4往上加收益會(huì)快速遞減因?yàn)閠ask調(diào)度和網(wǎng)絡(luò)通信的開銷也在增長。對大部分信貸數(shù)據(jù)量級(jí)來說30個(gè)executor已經(jīng)能滿足秒級(jí)評(píng)分的要求。如果評(píng)分延遲還是壓不下來先看特征寬表有沒有觸發(fā)不必要的shuffle再考慮加資源這兩者的順序千萬別搞反。5. 避坑清單Hadoop和Spark集群落地最常見的5個(gè)翻車現(xiàn)場5.1 數(shù)據(jù)傾斜導(dǎo)致某個(gè)executor內(nèi)存溢出現(xiàn)象Spark作業(yè)卡在某個(gè)stage 99%不動(dòng)日志刷出Container killed on request. Exit code is 143或者直接拋OOM。界面上看有一部分task執(zhí)行時(shí)間異常長大部分task早就跑完了。原因特征寬表或者中間結(jié)果里某個(gè)key的數(shù)據(jù)量遠(yuǎn)大于其他key。信貸數(shù)據(jù)里最常見的傾斜源是user_id——部分高頻用戶或者渠道商賬號(hào)對應(yīng)的數(shù)據(jù)量是普通用戶的幾百倍這些數(shù)據(jù)全部落到同一個(gè)分區(qū)把對應(yīng)的executor打爆。解決優(yōu)先對傾斜key做過濾或單獨(dú)處理比如單獨(dú)處理借款次數(shù)超過100的用戶如果傾斜程度可控給Spark配置加spark.sql.adaptive.enabledtrue和spark.sql.adaptive.skewJoin.enabledtrueSpark3.0以上的版本開啟后會(huì)自動(dòng)拆分傾斜分區(qū)最后的手段才是加內(nèi)存。這一步的排查速度決定了你的加班時(shí)長我一般會(huì)把傾斜前后的數(shù)據(jù)量打出來對比五分鐘定位。5.2 讓Spark自己推斷JSON的schema慢到懷疑人生現(xiàn)象讀取一個(gè)幾十GB的JSON目錄Spark作業(yè)在讀取階段卡了很久日志顯示一直在掃描文件。原因Spark為了推斷出所有字段的類型需要先完整掃描一遍數(shù)據(jù)然后再真正讀取一遍總共兩遍IO。目錄里文件數(shù)量多、嵌套層級(jí)深的時(shí)候時(shí)間成本非??捎^。另一個(gè)副作用是推斷結(jié)果不穩(wěn)定數(shù)據(jù)形態(tài)稍微一變字段類型就跟著漂。解決第3章已經(jīng)寫過讀取JSON時(shí)用.schema()顯式指定。維護(hù)schema確實(shí)麻煩但比每次任務(wù)跑兩遍要值得多。如果JSON里字段特別多可以先跑一次小樣本推斷出schema然后微調(diào)類型固化到代碼里當(dāng)常量。5.3 小文件過多把NameNode壓垮現(xiàn)象集群沒跑什么大任務(wù)但HDFS的NameNode頻繁告警RPC響應(yīng)延遲飆到幾秒甚至幾十秒。原因上游采集任務(wù)每個(gè)批次只寫幾十MB一天下來在HDFS上生成了上萬個(gè)小文件。NameNode把每個(gè)文件、每個(gè)block的元數(shù)據(jù)都放在內(nèi)存里文件數(shù)量一多內(nèi)存占用上去讀寫請求的響應(yīng)性能直線下降。Spark寫特征寬表時(shí)如果分區(qū)設(shè)置過多且數(shù)據(jù)量不大也會(huì)產(chǎn)生同樣的問題。解決一是上游把小塊數(shù)據(jù)合并成大文件再上傳控制單文件在128MB以上二是對已有的小文件跑一次合并任務(wù)。Spark側(cè)的設(shè)置是控制輸出分區(qū)數(shù)核心代碼是這樣# 寫特征寬表前先重分區(qū)控制輸出文件數(shù)量 from pyspark.sql import functions as F feature_df \ .repartition(50) \ .write \ .mode(overwrite) \ .format(parquet) \ .save(/warehouse/ads/user_feature_wide_table)repartition(50)把輸出分片收縮到50個(gè)左右每個(gè)文件大約128MB這是一個(gè)平衡NameNode壓力和后續(xù)讀取并行度的折中值。文件太大讀取并行度會(huì)下降太小元數(shù)據(jù)壓力又上來。5.4 Zookeeper超時(shí)導(dǎo)致HA主備反復(fù)切換現(xiàn)象集群狀態(tài)不穩(wěn)定NameNode頻繁自動(dòng)切換甚至出現(xiàn)雙主或同時(shí)無人服務(wù)的情況業(yè)務(wù)端隔幾分鐘就報(bào)一次HDFS連接失敗。原因Hadoop和Zookeeper整合實(shí)戰(zhàn)里最常見的一個(gè)坑——NameNode和Zookeeper之間的心跳超時(shí)設(shè)置過短。Zookeeper需要同時(shí)維護(hù)NameNode元數(shù)據(jù)、HBase協(xié)調(diào)、Kafka協(xié)調(diào)多個(gè)角色的會(huì)話任何一次GC暫停或者網(wǎng)絡(luò)抖動(dòng)超過超時(shí)閾值Zookeeper就會(huì)判定NameNode失聯(lián)觸發(fā)自動(dòng)切換。切換本身又是高開銷操作元數(shù)據(jù)加載需要時(shí)間于是形成切換-搶主-再切換的惡性循環(huán)。解決把zookeeper.session.timeout從默認(rèn)的10秒左右調(diào)大到30秒dfs.namenode.avoid.read.stale.datanode加上讓NameNode對DataNode的陳舊狀態(tài)容忍度高一些。調(diào)參后的自檢方法是殺掉active節(jié)點(diǎn)的進(jìn)程觀察standby節(jié)點(diǎn)能否在1分鐘內(nèi)接管然后恢復(fù)服務(wù)。這個(gè)動(dòng)作要在業(yè)務(wù)低峰期做不然一個(gè)誤判就直接影響線上審批鏈路。5.5 物理內(nèi)存和容器內(nèi)存對不上任務(wù)被莫名殺掉現(xiàn)象Spark任務(wù)運(yùn)行到一半executor被YARN強(qiáng)制殺掉錯(cuò)誤日志只有一行Container killed by YARN for exceeding memory limits。明明executor-memory配的不高怎么還被殺。原因Spark申請的內(nèi)存默認(rèn)只算JVM堆內(nèi)內(nèi)存但實(shí)際運(yùn)行時(shí)還有堆外內(nèi)存、線程棧、網(wǎng)絡(luò)緩沖、Python進(jìn)程如果用PySpark占用的內(nèi)存。YARN限制的是整個(gè)容器進(jìn)程的物理內(nèi)存上限。申請4g的時(shí)候?qū)嶋H使用可能已經(jīng)超過5g超過容器上限直接被kill。解決申請內(nèi)存時(shí)預(yù)留20%-30%的buffer給堆外和Python進(jìn)程比如需要4g的堆內(nèi)就配spark.executor.memory4g的同時(shí)配spark.executor.memoryOverhead2g。YARN側(cè)還要開啟內(nèi)存檢測的寬松模式設(shè)置yarn.nodemanager.vmem-check-enabledfalse只檢查物理內(nèi)存不查虛擬內(nèi)存。這套配置在很多博客里都語焉不詳屬于那種你以為配好了實(shí)際上沒配的玄學(xué)參數(shù)。6. 拿到源代碼和文檔后怎么用先跑通最小閉環(huán)再改出你自己的風(fēng)控系統(tǒng)拿到這套基于Hadoop、Spark的信貸風(fēng)控系統(tǒng)源代碼我建議你按三條線往下推不要上來就翻模型代碼。第一條線是跑通數(shù)據(jù)鏈路——把生產(chǎn)環(huán)境的數(shù)據(jù)源換成你自己的樣本數(shù)據(jù)哪怕是模擬的100萬條先跟著文檔把ODS到DWD的清洗任務(wù)跑完確認(rèn)HDFS上能看到正確的分區(qū)數(shù)據(jù)。第二條線是跑通Spark作業(yè)——把特征寬表的生成腳本執(zhí)行一遍看輸出和文檔里截圖的數(shù)量級(jí)是否對得上這一步最好在偽分布式或單機(jī)測試集群上做。第三條線才是模型——用訓(xùn)練腳本跑一遍邏輯回歸打開生成的模型報(bào)告確認(rèn)覆蓋率、區(qū)分度指標(biāo)在合理范圍。我最常踩的坑是把源碼里寫死的HDFS路徑直接拿來用。文檔里可能是/data/raw/credit_apply你的集群目錄結(jié)構(gòu)不一定一樣而且建表的LOCATION權(quán)限、Hive的warehouse路徑、Spark的checkpoint目錄每一處都要按實(shí)際環(huán)境改一遍。改完之后用一個(gè)小技巧驗(yàn)證完整性跑一次數(shù)據(jù)抽樣統(tǒng)計(jì)對比源文件的行數(shù)、字段數(shù)、空值率全部對上再繼續(xù)下一步。至少先斬釘截鐵跑通這個(gè)最小閉環(huán)你一晚上就能把整個(gè)系統(tǒng)的骨架摸清楚剩下的就是把規(guī)則閾值、模型參數(shù)按你的業(yè)務(wù)數(shù)據(jù)重新調(diào)一輪。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色五月婷婷天天干| www.com任你艹| 婷婷六月爽| 五日激情综合| 呦呦v线| 综合五月激情| 97碰人人操| 思思色播| AV在线免费播放| 日韩AV免费电影在线播放| 五月天综合色| 五月婷婷丁香在线| 九九热a| 欧美,日韩成人在线| 99在线视频播放| 久久性刺激| 国产又色又爽又黄又免费| 狠狠干天天日| 人人爽欧美婷婷久久久五月丁香| avh片在线观看| 大香蕉九九| 五月婷婷无码| 91久久婷婷人人澡草 | 丁香五月色| 色八月婷婷| 久久五月婷6 9| 伊人婷婷大香蕉| 五月丁香久久久| 精品久久99| 人操91在线| 色婷婷丁香A片区毛片区女人区| 天天肏高清在线| 婷婷五月伦理| 丁香五月激情无码视频| 99爱最新免费视频在线观看| yazhouzonghesese| www婷婷色情网| 丁香五月天AV在线| 色五月网址| 98永久精品| 亚洲天堂制| 亚洲亚洲人成综合网络| AⅤ网站在线看| 99热精品在线在线| 大香蕉AV在线| 婷婷天天综合| 国产精品色一哟哟| 五月婷婷之综合激情| 婷婷色五月丁香六月欧美啪| 这里只精品热在线18| 色五月婷婷视频| 日本色噜| 五月丁香狠狠爱婷婷综合| 日本色色网站| 色婷婷综合久久久久| 亚洲色图日韩网址| 原琪琪色影院| 久久性爱视频| 欧美丁香婷婷天天操| 在线成人网站| 亚洲 日韩色色| 久久性刺激| 五月丁香婷婷99| 五月九九综合| 九九色院| 91九色网| 亚洲十月婷婷综合| 操一操干一干| 五月激情啪啪啪| 久久偷拍综合五月天| 天天擼久久擼在线| 超碰熟女拍拍| 丁香激情网| 五月停亭六月,六月停亭的英语| 狠狠爱婷婷爱| 日本三级韩三级99久久| 深爱激情丁香| 秋霞少妇AV网站| 丁香五月五月婷婷欧美大香蕉| 国产国产乱老熟女视频网站97| 国产在线aaa片一区二区99| www.色婷婷| 伊人综合网站| 色色色色色色五月婷婷| 天天插天天插天天日| 亚洲夜五月| 亚洲五月天第一综合干| 天天操,夜夜骑| 91精品综合久久久久久五月丁香| 激情综合无码| 综合久久十三| AV在线观看网站| 久久精品爱爱| 五月天婷婷7米| WWW免费视频碰碰碰碰| 六月丁香久久| 黄色av网站在线免费播放| 婷婷D区| 三日本无码| 超碰99热在线观看| 丁香五月综合婷婷| 一级操逼内射在线视频| 丁香五月婷久久| 强壮公让我夜夜高潮A片视频| 天天射影院| 青草视频在线观看视频| 欧美日韩成人在线观看| 天天色,天天操,天天射| 第四色五月婷婷| 免费黄色片子| 超碰在线网站| 另类小说五月天激情| 国产亚洲精品人人| 丁香久月| 91综合视频丁香| 狠狠色综合图片| 色婷婷天堂| 开心深爱五月天| 17.c黄色| 亚洲婷婷五月天| 色欲久久久久久综合网综合网| 成片免费观看视频大全| 9色小视频在线观看| 日韩成人中文字幕| 亚洲成人婷婷| 99热国品| 67194国产| 丁香五月婷婷88在线| 色五月综合| 色综合天堂| 成人片黄网站色大片免费毛片| 亚洲永远av在线播放| 日韩欧美一级大黄网站| 天天做天天爱天天玩| 120分钟婬片免费看| 亚洲在线成人| 日本成人小说婷婷六月| 国产精产国品一二三在观看| 超碰超碰在线| 色色五月丁香婷婷| 九九在线这里只有精品视频| 国产真实乱对白精彩| www.精品99| 深爱婷婷丁香五月激情| 五月婷婷综合在线亚洲视频| 五月婷成人网| 色吧综合网| 一本色道久久88加勒比—| 婷婷色5月天在线。| 激情五月天电影| 4399成人黄A片| 中文字幕五月久久婷| 天天综合天天做天天综合| 激情五月天电影| 中文字幕在线免费观看视频| www.超碰| 深爱激情六月天| 性爱激情小说AV五月丁香花| 激情综合网五月激情网| 中文网婷婷字幕婷| 亚洲视频99| 日本一级黄色片。| 欧美97p| 91精品久久久久久77777| 亚洲欧洲美女在线观| 人人爱操| 婷婷五月天综合网| 色婷婷精品小视频| 婷婷久久综| 九九九九成人| 久久天天| 99久久97久久欧美综合网| 国产精品视频久久99| 欧洲亚洲精品| 再綫Av免费視品| 色五月成人| 99热国产婷婷| 操丝袜视频影院导航| 国产亚洲精品AAAAAAA片| 日韩婷婷| 天天做天天爱| 深爱五月天天| 国产精品色| 国产人人操| 天天色天天噜| 婷婷影院欧美| 欧美色色色色色| 9婷婷内射| 影音先锋 婷婷| 丁香婷婷社区| 精品九九视频| 九月丁香欧美综合| 激情久久五月天| 九九热中文| 97色久| 色婷婷久久综合| 婷色五月天| 国内久久亭亭| www.狠狠操| 五月丁香婷婷无码中文| 久久人妻熟女一区二区| 五月激情婷婷色| 久久艹 五月天| 日本九九热| 日日干日日| 97久久人人操| 免费超碰在线观看| 狠狠综合网| 久99久在线观看| 丁香五月电影| 五月婷深深爱激情网| 婷婷99| 天堂婷婷五月在线| 色色色五月天激情资源| 亚洲婷婷基地| 人妻乱码久久久| 日本久久久97| a网站免费观看| 精品一区二区三区四区五区六区介绍| 欧美三级大片AA在线看| 97人人草| 成 久久| 久久九九Com| 欧美这里只有精品| 色国产五月| 99九九这里有免费视频| 色欲天天综合网| 99亚洲综合| 五月刺激丁香月综合| 亚洲小视频免费看| 99热一本| 欧美槡BBBB槡BBB少妇| 色婷婷色99国产综合精品| 99热精品免费| www.久久综合| 丁香婷婷色五月天| 激情丁香五月天综合| 另类在线免费视频| 中文字幕成人| aaa日韩| 一区中文字幕电影| 丁香六月婷| 99热在线观看精品| 我要色综合五月婷婷| 亚洲视频一区| 亚洲综合五月天婷婷| 99热这里有精品24| 91精品综合久久久久久五月丁香| 亚洲字幕AV一区二区三区四区| 欧洲激情精品婷婷| 丁香五月日本| 精品视频这里只有精品| www.婷婷,com| 97超喷视频在线观看| 99热精品在线播放| 色七七九九| 天天综合天天玩夜夜玩天天玩夜夜玩| 国产亚洲99久久| 九九在线视频| 97人人干人人操| 国产精品热搜丁香五月婷婷| 异能之下短剧免费观看全集| 九九九九中文字幕| 国产毛片操B| 深爱激情五月网| 国产熟女日日骚五月丁香爱| 色婷婷狠狠干| 久综合网| 中文字幕AV在线播放| 丁香五月天堂亚洲社区| yazhoujiqingav| 丁香五月在线| 国产无套精品一区二区| 国产精品五月天婷婷| 91视频免费后入强操| 国产精产国品一二三在观看| 99成人| 色9999日韩国产| 久久99热在线观看| 99久久综合网| 国内精品免费一区二区2009| 熟女色色一区二区| 青柠影视免费高清电视剧| 天天肏高清在线| 天天干com| 色婷婷色五月丁香| 亚洲综合色色| 这里只有精品免费在线视频| 99热婷婷| 五月天激情综合在线| 天天综合 99久久婷婷| 啪啪视频99| 97超美国视频在线观看| 97人碰人操| 无码人妻AV久久久一区二区三区| 熟妇人妻中文字幕无码老熟妇| 色啪影院| 人人操插| 五月丁香啪啪啪免费看| 99热精品10| 丁香五月天色| 91丨九色丨大屁股| 色热久资源| 久久婷五月天| 婷婷五月天 偷拍| 96精品久久久久久久久| 东北熟女高潮99综合99| 九月丁香八月婷婷久久综合久97| 97自拍视频网| 丁香五月伊人| 新激情综合| 青青草五月天| 五月婷婷综合久久| 97视频.干com| 五月丁香激情五月天| 狠狠操之狠狠操| 婷婷基地成人五月天| 99热99思午夜精品| 激情五月www| 五月开行婷婷色五月| 丁香五月天无码| 综合色五月天| 亚洲男人的天堂婷婷色五月| 五月天伊人综合| 婷婷五月天免费| 婷婷丁香五月天中文字幕| www夜夜操comwww| 91午夜激情| 超碰人人91| 综合久久婷婷| 免费看欧美成人A片无码| 91无码色色| 91人妻人人操| 亚洲成人影视在线观看| 九月激情网| 五月天婷婷香蕉狠狠超碰综合| 成人短视频在线| 欧美丁香婷婷天天操| 亚洲俩性性爱图片久久第六页| 色婷婷五月天天天做| 狠狠色丁香久久久婷| 性婷婷| 五月天婷婷在线AN| 99爱视频在线| 亚洲中文字幕翔田千里| 亚洲超级碰| 香港九九六区八区99| 婷婷的色色五月天| 久久五月婷综合网| 色色色在线观看| 亚洲综合色婷婷| 五月激情四射网站| 久婷| 亚洲日日操| 91久久久久久久久久久| 五月丁香激情婷婷| 色综合激情图区| 久草丁香婷婷五月天婷| 狠狠夜夜五月丁香| 狠狠干在线| 99久久9| 亚洲精品另类| 色五月婷婷狠狠撸| 色综合网综合| 99在线免费观看| 另类小说五月天| 日韩大片艹艹| 日韩成人无码人妻| 丁香五月瑟瑟| 99九九久久| 久久99网| 思思re最新视频| 五月天激情婷婷| 欧美、日韩、中文、制服、人妻| 五月丁香色五月| 国产97色在线 | 日韩| 精品一区二区三区免费毛片爱| 婷婷综合网| 久久日本wwww色| 五月亭亭六月色| 日韩在线五月天婷婷| 国产性爱亚洲是图| 五月天婷婷网站888| 夜夜骑日日操| 操骚货在线| 国产精品久久久久久久久久| 99伊人婷婷在线| 曰曰久久| 亚洲婷婷五月天| 丁香五月激情图片婷婷| 99热爱爱干干日| 五月激情综合激情五月| 久久99热这里只有精品| 欧美97超碰| 久热大香蕉| 久久精热| 婷婷中文字暮| 九九精品在线网| 九九综合| 九九干视频| 97操操| 久久久久这里只有精品| 丁香美女五月天婷婷| 无码激情AAAAA片-区区| 激情五月丁香激情综合网 | 丁香性爱在线视频| 婷婷免费视频| 日本www五月婷婷| 狠狠色婷婷7777久| 婷婷五月丁香99| 五月丁香激情综合久久| 超碰五月婷婷五月天| 欧美25p| 中文字幕欧美久久| 成人网在线视频| 丁香六月亭亭久久综合| 婷婷综合九色伊人| 婷婷丁香成人| 丁香五月婷婷香| 欧美激情五月天| 99人妻碰碰碰久久久久视| 这里都是精品99| 99日本黄站| 成人AV网站在线| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 日日干天天爽| 665566 无码| 凹凸探花电影| 天天干天天操天天射| Aα在线免费观看| 五月色天情| 九九久久综合| 五月丁香日本片| 久久久久er热| 久久久婷婷婷| 久久久网站| 丁香婷婷五月激情| 99热这里只有精品在线| 五月天开心婷婷久久| 国产成人精品亚洲线观看| 色色色色色级无码| 日本www免费九九| 亚洲精品激情| 日韩狠狠色| 无码髙清| 色噜噜狠狠色综合伊人| 亚洲精品久久久久久久久久吃药| 五月婷婷色吧!| 五月天婷婷视频| 一级片sese片.COM| 99热超碰在线| 欧洲亚洲欧洲99久久| 五月丁香影院| 久久机热这里只有精品| 3DAV亚洲香蕉久久 一区二区| 丁香五月天婷婷中文| 97人人干| 亚州激情网| 久久久GOGO无码啪啪艺术| 久久婷婷丁香五月一二三| 久久精品A片777777| 婷婷夜夜操| 日韩高清成人| 天天揷综合网| 亚洲五月天综合色| 激情综合网五月婷婷| 2015超碰| 五月婷婷中文字幕| 色色五月婷| 久久久99免费视频| 婷香五月| 九九热视频这里只有精品| 日韩成人精品中文字幕| 人人摸人人干| 99综合色| 五月婷婷激情四季| 久久5 9视频免费观看| 99这里只有精彩视频| 人人插9| jiZZdr| 久久久久久久久久91| 五月婷婷综合在线| 日本在线噜噜| 激情丁香婷婷| 五月丁香婷婷99| 久久a热| 婷婷五月图片小说网| 大香蕉九操| 亚洲午夜成人av电影网| 五月丁香六月婷婷激情视频在线观看免费 | 激情色播| 婷婷 丁香 精品| 欧美精品999| 另类婷婷五月天啪帕帕| 欧洲色| 5月丁香六月情| 婷婷情色五月天| 久久久免费精彩视频| 六月婷婷日| 情色五月天网站| 亚洲天堂色| 五月丁香人妻| 亚洲色激情| 毛片网站谁有| 美女黄频aⅴ视频| 人人肏逼视频在线一区二区| site:esunnet.com| 六月丁香色色| 久久婷婷五月综合色天| 天天爽天天干| 99这里只有精品|v| ji'qing'luan'ren'lun| 五月婷婷在线短视频| 三级毛片视频| 六月婷婷激情| 日本超碰在线| 色播丁香婷婷五月激情| 色色亚洲无码| 婷婷久久婷婷| 欧洲电影在线观看免费版英语版| 99资源在线视频| 天天色天天爱天天舔| 欧美婷婷日本| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 99噜噜噜在线播放| 中国丰满熟女A片免费观| 婷婷亚洲综合| 91在线日| 99色| 开心激情站| 亚洲综合热| 国精产品一区二区三区| 日日肏天天操| 婷婷丁香激情五月天色色| 欧美性丁香色色五月天综合爱爱| 丁香六月婷月91婷月| 日本天堂免费99| 五月天综合色| www.色多多婷| www.久99| 热久91| WWW.五月com| 91男同视频| 成人国产欧美大片一区| 青青久在线视频免费观看| 久9视频| 久久视频婷婷视频| 色色99| www.91在线观看| 五月天丁香婷婷社区| 激情婷婷综合五月少妇| 亚洲另类噜噜| 色综合色色色色色| 丁香五月婷老师| 99在线精品在线视频| 色婷视频| 99免费热视频在线| 五月丁香在线| 九色婷婷| 99色热| 久久久99精品免费观看| 午夜不卡久久精品无码免费| 超pen个人视频97| 五月天婷婷综合色| 激情丁香五月综合| 全高清无码视頻| 99操视频| 超PEN精品在线| 琪琪色网址| 男人視頻站| 婷婷五月综合久久中文字幕| 婷婷和五月天| 欧美婷婷五月无砖| 五月婷婷丁香狠狠撸久久| 美女丁香五婷婷| 综合久久高清| 亚洲色婷婷| 成人婷婷色综合| 九一牛视频探花| 综合激情专区| www.五月婷婷.com| 精品网站99| 婷婷色网站| 五月婷婷导航| 色色五月婷| 99国产精品久久久久久久久久久| 九月停停| 99精品高潮| 99色在线观看免费| 手机AVAV天堂看网| 99综合| 久99久在线观看| 五月花婷婷| 五月婷婷伊| 五月综合丁香婷婷| 色五月丁香婷婷综合| 精品人妻久久久| 丁香五月婷婷网| 婷婷丁香五月亚洲17cao| 国产一级片色色| 99热精品10| 丁香五月婷婷超碰在线| 丁香五月六月婷婷综合激情| 天天摸天天肏| 91丨九色丨老熟女激情| 肏屄色播伊人97婷婷| 狠狠干狠狠色| 女高怪谈在线观看| 久久思思热| 人妻久久久久久| 五月婷婷人人人操| 综合色在线| 女婷久久| 久久婷婷五月天综合| 丁香婷婷久久 | 五月婷丁香| 亚洲成人黄色网| 色色射| 曰本aaaaaa丈片| 播五月婷婷开心| 天天婷婷综合亚洲亚洲| 成人做爰A片免费看视频| 99riAv1国产在线观看| 深爱激情网噜噜色| 人人播| 日本乱论99| 99aese| 99热6这里只有精品| 99视频啪啪| 欧美99热| 任你搞网站| 在线超碰免费| 在线色五月婷婷| 久久久8| 97操资源婷婷| 激情黄色五月天| 日韩999| 香蕉97碰碰碰超视精品| 婷婷色五月亚洲| 五月色婷| 久久久婷婷五月亚洲97号色| 99精品亚洲| 久碰视频| 丁香六月婷婷开心婷婷网| 99热20| 五月婷六月| 在线观看996精品| 99热国产这里只有精品| 国产精品第一国产精品| 99精品这里只有免费视频| 五月丁香婷婷基地| 97丁香视频| site:feetmall.com| 国产精产国品一二三在观看| 久婷婷五月激情| 九九婷婷网五月天| 久久色9| 五月婷婷激情综合在线| 国产成人99久久亚洲综合精品| 99人人干人人| 夜色综合网| 婷婷玖玖丁香| 五月丁香色综合| 大香蕉人人网| 五月天丁香成人| 9精品视频在线| 色色色色色网| 亚洲成人AV在线| 五月婷婷69| 91综合在线观看首页| 色五月丁香六月欧美综合| 亚洲日本三级片| 99免费视频网| 五月婷婷很很色| 日日操,夜夜爽| 日日做A爰片久久毛片A片英语| 久久婷婷五月天| 激情婷婷五月| 婷婷九月激情网| 日本精品人妻无码77777| 天天摸日日舔狠狠添婷婷婷 | 日韩欧美成人片| 天天综合五月| ww亚洲ww在线观看| 国产AV一区二区三区日韩| 色播丁香五月婷婷操:屄| 嫩BBB搡BBBB榛BBBB| 99色1| 亚洲精品第一国产综合亚AV | 亚洲婷婷成人五月天| 欧洲色区| xxx综合在线| 国产亚洲AV人片在线| 九九热在线视频观看| 97热超碰| 五月婷网| 久热精品视频在线观| 亚洲无AV在线中文字幕| 色五月丁香六月欧美综合| 99视频久久久| 91丨九色丨高潮丰满日本| 丁香五月区| 六月色色| 久久性爱视频这里只有精品| 开心五月婷婷综合在线精品素人| 久久婷五月婷| 我爱婷婷五月天综合88| 狠狠色狠狠爱| a在线观看| 色婷婷狠狠久久综合五月| 影音先锋秋秋五月婷婷| 超碰人人91| 婷婷色啪| 国产一级视频a| 丁香五月天综合| 9er热在线精品视频| tingtingcaobi| 亚洲婷婷五月| 激情文学 综合 色| 热婷婷av| 欧美这里只有精品| 深爱五月网| 久久久jd| 久久色六月| www.日韩国产| 婷婷五月天手机版视频| 天天肏天天肏| 激情五月综合网最新| 呦呦v线| 97五月天婷婷综合激情网| 操碰91| 久久五月天婷婷| 99热 在线观看| 色婷婷丁香A片区毛片区女人区| 六月婷婷开心| 六月丁香婷婷五月天| 91九九热| 六月婷婷激情| 色色色色色色色色五月先| 久久视屏这里只有久久| 91pornav在线| 亚洲午夜在线视频| www.夜夜操.com| 亚洲热视频| 2025天天爽天天摸| 国产激情在线| 强壮公让我夜夜高潮A片视频| 亚洲第一综合| 天天夜夜六月丁香五月婷婷老师| 高清无码.com| 九月婷婷激情| 深爱五月网| 就爱操www com| 91美女被操| 五月婷婷色色网址| 久热精品免费视频4| 亚洲天堂爱爱| 色色色色色色网| 五月天婷婷乱| 色99亚洲| 婷婷色亚洲| 9精品在线| 97在线视频观看| 日本99久久| 久久视频婷婷| 久久五月天婷婷| 亚洲人人操BD| 91超级碰碰碰| 996热re视频精品视频| 第1影院之五月婷婷| 综合久久丁丁香婷| 国产偷人爽久久久久久老妇APP| 99热久| 色无码| rr天天操| 久久精品国产色| 91人妻色色网| av九九| 天天肏视频| 欧美精品啪啪| 婷婷丁香五月天熟女丝袜| 丁香五月停停av| av中文网| 粉嫩AV久久一区二区三区| 色情久久久| 婷婷激情人妻| 99久久www| 五月婷六月| 色噜综| 99亚洲色| 综合激情网激情五月。| 天天爽综合网| 99视频在线精品免费观看2| www.狠狠色.com| 综合色五月天| 人人玩人人橾| 婷婷区日本| www.com操| 99热九九在线| 丁香六月婷婷综合在线| 99热这里只有精品热| 色情五月丁香婷婷网| 玖玖综合玖玖| 五月丁香久久呀| 色婷婷操逼| 婷婷伊人綜合中文字幕| 国产精品久久久99视频| 2017狠狠干| 九九色逼| 日韩黄黄| 综合五月激情网| 五月六月婷婷| 五月天另类小说| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 少妇高潮呻吟A片免费看软件| 2018国产大陆天天弄| 99这里只有精品视频| 91婷婷| www.99热国产| 久久一操| 色吧网综合| 国产激情在线| 精a品a视a频| 欧美熟女乱又伦| 噜噜噜噜综合在线| 久热免费| 99热亚洲精品| 4399在线日本A片| 色色五月婷| 538在线精品| 91在线人| 九色自拍| 久草天堂| 五月丁香婷婷综合在线| 久久成人性爱| 《蜘蛛女》梁铮1995| 亚洲综合色网| 色永久| 99热这| 青草五月天| BBWCUCKOLD精品熟妇| av超碰在线| 五月婷婷99热| 日本九九热| 热99精品视频五月| 久久久天堂国产精品女人| 亚洲成人在线观看网址| 深爱五月天| 国产一级片色色| AV成人在线播放| 伊人玖玖网| 狠狠88综合久久久久噜噜噜| 婷婷激情小说| 99精品在线播放| 色婷婷色五月综合| www.99热最新视频8| 婷婷五月激情图片| 996er热| WWW、日本色丁香、co m| 亚洲激情av| 婷婷丁香色情| 99视频精品全部观看10| 婷婷五月电影院| 婷婷伊人五月天| 亚洲啪啪自拍| 六月亚洲婷婷6月中文字幕| 丁香婷婷综合五月天| 五月丁香综合网| 精品久久99| 97超碰,人人舔,人人操,人人摸| 六月婷久久| 5月丁香六月婷婷| 人人干av| 丁香五月开心亚洲| 亚州精品久久久久AV无码| 五月激情偷拍| 色五月大香蕉婷婷| 欧美综合婷婷网| 十月丁香九月婷婷综合| 丁香九月激情| 欧美激情久| 九月色婷婷综合| 五月综合色| 婷婷丁香亚洲色综合91| 九九色99| 天天干夜夜想| 99久久99视频| 人人做人人看人人摸| 激情综合五月婷婷| 26UUU欧美激情一区二区| 亚州视频九九99| 久热这里只有精品视频免费观看| 日日夜夜干| 99九九久久| 久久久久激情网| 九九九九热99超碰| 六月伊人婷婷| 9色视频在线| 97成人在线视频精品| 国产色五月| 99久久99综合| 日韩砖区| 婷婷丁香五月天在线视频| 丁香六月在线| 91综合国免费久入| 日韩在线99| 婷婷视频在线碰| 六月伊人婷婷| 北京熟妇搡BBBB搡BBBB| 色天使色婷婷| 大香蕉欧美在线| 色色色色色色五月婷婷| 99热免费精品| 精品自拍97| 婷婷五月天成人网站| 久久久婷婷五月天| 激情五月天在线| 四色99久久| 色色色色色日韩午夜激情 | 成人婷婷五月天| 久热超碰| 婷婷久久五月天亚洲欧美国产日韩在线观看| 99热只有精品在线观看| 99视频在线观看地址| 五月天婷婷青青| 91丨九色丨熟女|老版| 色婷婷91激情小说| 色五月丁香六月欧美综合| 六月婷欧美丁香综合| 婷婷综合一二三| 五月天天久久香| 怡春院久操| 丁香欧美| 97久操| 国产高潮A片羞羞视频涩涩| www久久久久久久久久久| 亚洲成人AV高清字幕| 91热久| 丁香六月啪| 色色色在线播放| 亚洲最大五月六月丁香婷婷| 久色激情| 五月丁香六月色| 丁香亭亭久久| 九九99九九精品免费| 婷婷5月开心6月| www,奇米影视| 色狠久| 婷婷五月天中文字幕| 五月停亭六月,六月停亭的英语 | 婷婷色色综合| 六月婷婷av| 亚洲超碰在线| WWW.桔色成人.COM| 9久操| 色五月亚洲开心网| 九月丁香欧美综合| Av大香蕉| 丁香婷婷黄网站| 国产亚洲色婷婷久久99精品91| 色综合色综合婷婷热| 免费三级黄色| 狠狠操狠狠操AV| 色蜜婷婷| 天天色天天操天天射| 26uuu国产精品| 99在线资源视频| 激情六月日韩| 婷婷色丁香五月| 99爱在线免费视频| 九九热这里只有国产精品| 成人龟情网丁香五月| 国产精品A片| 色爱99| 97干在线| 色区域网站视频| 手机旧版看人妻1025| 国产日比| 丁香六月五月天| 欧美性生交XXXXX无码小说| 久色婷婷200| 欧洲亚洲午夜| 国产亚洲成AV人片在线观黄桃| 女高怪谈在线观看| 日本97久久久精品| 久久九九网| 婷婷五月综合在线视频| 色五月激情综合| 色五月激情五月| 婷婷五月丁香超碰| 日韩AV免费| 一起草无码| 99国产小视频免费观看| 9热超碰| 五月丁香| 久色中文| 亚洲综合色色| 亚洲免费成人电影AV| 无码人妻电影| 国产精品视频久久99| 91久操| 99在线播放视频| 99视频一区| 色婷婷99| 99热在线爱| 少妇性按摩无码中文A片| 亚卅毛片| 婷婷爱五月天人人爱| 亚洲狠狠婷婷| 超碰在线看| 在线视频激情网站| 激情丁香淫荡婷婷| 久久五月激情| 亚洲影院婷婷色| 狠狠色婷婷7777久| 99成人在线观看| 8050一级网| 久热这里| 麻豆雪千夏| 亚洲五月天婷婷在线| 操人妻90p| 丁香婷婷久久五月天| 97人人射| 激情网五月天| 99热这里只有免费| 狠狠色官网| 强辱丰满人妻HD中文字幕| 国产超碰在线| 91九色精品| 色色五月天丁香婷婷| 精品久久久人妻| 国产在这里只有精品| 啪啪婷婷五月天激情| 欧美色宗和激情| 九九精品视频在线观看| 色婷婷色五月色丁香| 五月婷婷另类| 色狠狠999综合| 激情五月综合网丁| 久热久| A久网| 99热这里只有精品在线| 欧美性生交A片免费看| 激情二色月| 专区无日本视频高清8| 国产亚洲在线观看| 超碰99久久| 99啪啪网| 涩涩五月天| 激情五月婷婷欧美极品 | 九九爱看亚洲| 99er6| 婷婷五月成人有| 激情久久久| 色女人久久| 另类在线观看视频| 欧美色色色色色色| 久久久久婷| 中文字幕丰满孑伦无码专区| 天天插天天干| www.狠狠| 色五XX| 五月婷在线视频免费看| 婷婷.com| 在线五月婷婷小电影| 97超碰在线免费观看| 色欲五月丁香| 久久九九99视频| 亚洲一二三网| 激情婷婷五月基地| 欧洲亚洲免费视频9| 日本一级一片免费视频| 91丨九色丨熟女| 99激情视频| 久久久97| 久久er99热精品一区二区| 色婷婷电影网| 五月丁香激情综合| 亚洲av网站在线观看| 亚洲无码播放| 五月婷婷六月丁香在线| 久热9| 婷婷久久欧美| 97五月天| 色停停五月,在线观看| 激情婷婷内射| 欧美婷婷九月| 很很干天天干| 夜夜操夜夜操| 99操中文视频| 日本天天操| 99视频只有这里精品| 色99网| 婷婷激情图片| 日本色婷婷| 色综合com| 九色啦蜜臀| 性热视频99精品| 天干夜夜操| 99视频| 色香蕉婷婷| 丁香五月停停基地| 97九色| 色色亚洲99com| 国产激情在线观看| 97久久婷婷色| www.99日本| 亚州激情网| 五月婷婷六月激情在线| 色婷婷久久综合丁香五月| 夜色综合网| 日本色色色| 久热精品9999| 五月婷婷六月丁香综合| 五月丁香激情综合| 天天日夜夜夜操操操操| 五月天六月色| 97色吧| 色婷亚洲| 婷婷97狠狠干| 欧美VA在线| 丁香六月婷婷| 九九精品9| 超碰激情网| 激情五月丁香激情综合网 | 九九热re99re6在线精品| 色五月成人| 国产毛片精品一区二区色欲黄A片| 五月婷A V在线| 人人操人人添人人摸97| 九九99精品视频| 呦呦v线| 久久综合影院| 丁香网五月天| 另类激情五月| 婷婷五月丁香久久| 色5月婷婷| 91人人人人人人人| 中文网AV| 亚洲最大激情无码| 五月天婷婷综合网| 六月丁香啪| 视频一二区| 2025年最新亚洲在线欧美| 婷婷五月六月丁香| 丁香熟女乱| 婷婷久久国产视频| 97婷婷色| 黄色毛片精品| 亚洲思思热久| 综合网五月| 黑人糟蹋人妻HD中文字幕| 在线观看av网站| 婷婷色5月激情网| 99热久| 三日本无码| 有码人妻久久| 中文av网| 1024操逼| 久久在线92| 这里只有精彩亚洲视频推荐| 夜夜骑夜夜撸| 三级av在线| av超碰在线| 久久婷婷五月天大香蕉| 五月婷婷精品视频| 战争与艾拉电影免费观看| 99爱精品视频| 俺去也五月| 9色小视频在线观看| 久久这里都是精品免费| 色你久久| 色五月,婷婷大香蕉| 亚洲综合在线丁香五月| 亚洲激情在线| 五月激情网站| 亚洲热视频| 欧美天堂婷婷日韩| 2025天天爽天天摸| 日韩九区| 激情综合五月| 日韩三级高清无码| 久久这里只有国产视频| 深爱激情五月网| 9久久网| 五月丁香六月婷婷亚洲| 婷婷五月天久久久| 亚洲免费av在线| www.五月丁香| 久久天堂女人| 秋霞午夜理论| 另类激情中文| 色啪网| 久久9久| 99热综合在线| 91人操人人人操人| 97婷婷丁香五月天激情图片| 在线可以看的av网址| 亚洲成人AV电影在线| 久久er+| 亚洲操操操| 狠狠舔| 国产成人亚洲综合A∨婷婷| 色婷网| 五月激情六月宗合| 在线婷婷| 婷婷五月激情五月激情| 婷婷色中文字幕| 色综合久久久久| 婷婷激情综合网| 伊人激情| 九九熱最新視頻| 日本综合色色| 色V狠狠的干| 色色五月天婷婷丁香| 色九九综合热99| 亚洲九区| 免费AAAAA网| 六月丁香婷| www.狠狠干| 嫩草视频。| 久机视频这只有精品| 丁香婷婷色情| 成人在线网址| 五月天六月天| 4399亚洲视频| 久热这里只有国产| 久久五月婷6 9| 五月激情婷婷六月丁香| 一本大道伊人AV久久综合| 开心五月婷婷在线| WWW久| 色情五月综合婷婷| AV伊人青草丁香六月| 色色亚洲| 99精品免费欧美小视频 | 九九99香蕉在线视频播放| 98色花堂98t.R| 99热精品在线播放| 色狠狠六月| 中国丰满熟女A片免费观| 色爱终和网| 黑人无码一区| 99在线精品免费视频| 激情欧美婷五月| 色婷小说| 丁香色五月婷婷91桃色| 婷婷性爱视频在线| 五月婷婷中文字幕| 五月婷婷熟女| 99在线视频喷水| 在线视频99| 欧洲99视频在线| 两性婷婷丁香五月| 直接看的AV网站| 国产综合视频婷婷| 日日夜夜干| 97色色色色色| 色9999日韩国产| 婷婷久久久| 超碰京东热av男人的天堂| 九热视频| 99热99这里有免费的精品| 婷婷久久影院| 五月开心网| 99热精品无码|