久草视频2-久草视-久草社区视频-久草色在线-久草色视频-久草软件

Spark技術在京東智能供應鏈預測的應用

我是創始人李巖:很抱歉!給自己產品做個廣告,點擊進來看看。  
Spark技術在京東智能供應鏈預測的應用
編者按:本文來自微信公眾號 “InfoQ”(ID:infoqchina) ,作者楊冬越、郭景瞻 。

背景介紹

前段時間京東公開了面向第二個十二年的戰略規劃,表示京東將全面走向技術化,大力發展人工智能和機器人自動化技術,將過去傳統方式構筑的優勢全面升級。京東Y事業部順勢成立,該事業部將以服務泛零售為核心,著重智能供應能力的打造,核心使命是利用人工智能技術來驅動零售革新。

京東的供應鏈

目前京東在全國范圍內的運營256個大型倉庫,按功能可劃分為RDC、FDC、大件中心倉、大件衛星倉、圖書倉和城市倉等等。RDC(Regional Distribution Center)即區域分發中心,可理解為一級倉庫,向供貨商采購的商品會優先送往這里,一般設置在中心城市,覆蓋范圍大。FDC(Forward Distribution Center)即區域運轉中心,可理解為二級倉庫,覆蓋一些中、小型城市及邊遠地區,通常會根據需求將商品從RDC調配過來。

Spark技術在京東智能供應鏈預測的應用 結合人工智能、大數據等技術,京東首先從供貨商那里合理采購定量的商品到RDC,再根據實際需求調配到FDC,然后運往離客戶最近的配送站,最后快遞員將商品帶到客戶手中。這只是京東供應鏈體系中一個普通的場景,但正因為有這樣的體系,使得京東對用戶的響應速度大大提高,用戶體驗大大提升。

京東供應鏈優化

用戶體驗提升的同時也伴隨著大量資金的投入和成本的提高,成本必須得到控制,整個體系才能發揮出最大的價值,于是對供應鏈的優化就顯得至關重要了。

優化其實是一門運籌學問題,需考慮在各種決策目標之間如何平衡以達到最大收益,在這個過程中需要考慮很多問題,把這些考慮清楚,問題就容易解決了。舉幾個簡單的例子:

商品補貨:考慮在什么時間,給哪個RDC采購什么商品,采購量是多少?

商品調撥:考慮在什么時間,給哪個FDC調配什么商品,調配量是多少?

倉儲運營:在大促來臨之際,倉庫和配送站要增配多少人手、多少輛貨車?

雖然看上去這些問題都很容易回答,但仔細想想卻又很難給出答案,原因就在于想要做到精確不是那么容易的事情,就拿補貨來說,補的太多會增加庫存成本,補的太少會增加缺貨成本,只有合理的補貨量才能做到成本最低。

預測技術在京東供應鏈的作用

借助機器學習、大數據等相關技術,京東在很多供應鏈優化問題上都已經實現系統化,由系統自動給出優化建議,并與生產系統相連接,實現全流程自動化。在這里有一項技術起著至關重要的低層支撐作用——預測技術。據粗略估算,1%的預測準確度的提升可以節約數倍的運營成本。

怎樣理解預測在供應鏈優化中的作用呢?拿商品補貨舉例,一家公司為了保證庫房不缺貨,可能會頻繁的從供貨商那里補充大量商品,這樣做雖然不會缺貨,但可能會造成更多賣不出去的商品積壓在倉庫中,從而使商品的周轉率降低,庫存成本增加。反之,這家公司有可能為了追求零庫存而補很少的商品,但這就可能出現嚴重的缺貨問題,從而使現貨率降低,嚴重影響用戶體驗,缺貨成本增加。于是問題就來了,要補多少商品才合適,什么時間補貨,這就需要權衡考慮了,最終目的是要使庫存成本和缺貨成本達到一個平衡。

考慮一下極端情況,等庫存降到零時再去補貨,這時供貨商接到補貨通知后將貨物運往倉庫。但是這么做有個問題,因為運送過程需要時間,這段時間庫房就缺貨了。那怎么辦呢?就是利用預測技術。利用預測我們可以計算出未來商品在途的這段時間里銷量大概是多少,然后我們讓倉庫保證這個量,低于這個量就給供貨商下達補貨通知,于是問題得以解決。總而言之,預測技術在這里發揮了重要的作用,成為關鍵的一個環。

京東預測系統

預測系統介紹 Spark技術在京東智能供應鏈預測的應用

預測系統在整個供應鏈體系中處在最底層并且起到一個支撐的作用,支持上層的多個決策優化系統,而這些決策優化系統利用精準的預測數據結合運籌學技術得出最優的決策,并將結果提供給更上層的業務執行系統或是業務方直接使用。

目前,預測系統主要支持三大業務:銷量預測、單量預測和GMV預測。其中銷量預測主要支持商品補貨、商品調撥;單量預測主要支持倉庫、站點的運營管理;GMV預測主要支持銷售部門計劃的定制。

銷量預測按照不同維度又可以分為RDC采購預測、FDC調撥預測、城市倉調撥預測、大建倉補貨預測、全球購銷量預測和圖書促銷預測等;單量預測又可分為庫房單量預測、配送中心單量預測和配送站單量預測等(在這里“單量”并非指用戶所下訂單的量,而是將訂單拆單后流轉到倉庫中的單量。例如一個用戶的訂單中包括3件物品,其中兩個大件品和一個小件品,在京東的供應鏈環節中可能會將其中兩個大件品組成一個單投放到大件倉中,而將那個小件單獨一個單投放到小件倉中,單量指的是拆單后的量);GMV預測支持到商品粒度。

預測系統架構

Spark技術在京東智能供應鏈預測的應用 整體架構從上至下依次是:數據源輸入層、基礎數據加工層、核心業務層、數據輸出層和下游系統。首先從外部數據源獲取我們所需的業務數據,然后對基礎數據進行加工清洗,再通過時間序列、機器學習等人工智能技術對數據進行處理分析,最后計算出預測結果并通過多種途徑推送給下游系統使用。

數據源輸入層:京東數據倉庫中存儲著我們需要的大部分業務數據,例如訂單信息、商品信息、庫存信息等等。而對于促銷計劃數據則大部分來自于采銷人員通過Web系統錄入的信息。除此之外還有一小部分數據通過文本形式直接上傳到HDFS中。

基礎數據加工層:在這一層主要通過Hive對基礎數據進行一些加工清洗,去掉不需要的字段,過濾不需要的維度并清洗有問題的數據。

核心業務層:這層是系統的的核心部分,橫向看又可分為三層:特征構建、預測算法和預測結果加工。縱向看是由多條業務線組成,彼此之間不發生任何交集。

  • 特征構建:將之前清洗過的基礎數據通過近一步的處理轉化成標準格式的特征數據,提供給后續算法模型使用。
  • 核心算法:利用時間序列分析、機器學習等人工智能技術進行銷量、單量的預測,是預測系統中最為核心的部分。
  • 預測結果加工:預測結果可能在格式和一些特殊性要求上不能滿足下游系統,所以還需要根據實際情況對其進行加工處理,比如增加標準差、促銷標識等額外信息。

預測結果輸出層:將最終預測結果同步回京東數據倉庫、MySql、HBase或制作成JSF接口供其他系統遠程調用。

下游系統:包括下游任務流程、下游Web系統和其他系統。

預測系統核心介紹

預測系統核心層技術選型 Spark技術在京東智能供應鏈預測的應用 預測系統核心層技術主要分為四層:基礎層、框架層、工具層和算法層。

基礎層:

HDFS用來做數據存儲,Yarn用來做資源調度,BDP(Big Data Platform)是京東自己研發的大數據平臺,我們主要用它來做任務調度。

框架層:

以Spark RDD、Spark SQL、Hive為主, MapReduce程序占一小部分,是原先遺留下來的,目前正逐步替換成Spark RDD。 選擇Spark除了對性能的考慮外,還考慮了Spark程序開發的高效率、多語言特性以及對機器學習算法的支持。在Spark開發語言上我們選擇了Python,原因有以下三點:

  • Python有很多不錯的機器學習算法包可以使用,比起Spark的MLlib,算法的準確度更高。我們用GBDT做過對比,發現xgboost比MLlib里面提供的提升樹模型預測準確度高出大概5%~10%。雖然直接使用Spark自帶的機器學習框架會節省我們的開發成本,但預測準確度對于我們來說至關重要,每提升1%的準確度,就可能會帶來成本的成倍降低。
  • 我們的團隊中包括開發工程師和算法工程師,對于算法工程師而言他們更擅長使用Python進行數據分析,使用Java或Scala會有不小的學習成本。
  • 對比其他語言,我們發現使用Python的開發效率是最高的,并且對于一個新人,學習Python比學習其他語言更加容易。

工具層:

一方面我們會結合自身業務有針對性的開發一些算法,另一方面我們會直接使用業界比較成熟的算法和模型,這些算法都封裝在第三方Python包中。我們比較常用的包有xgboost、numpy、pandas、sklearn、scipy和hyperopt等。

  • Xgboost:它是Gradient Boosting Machine的一個C++實現,xgboost最大的特點在于,它能夠自動利用CPU的多線程進行并行,同時在算法上加以改進提高了精度。
  • numpy:是Python的一種開源的數值計算擴展。這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表結構要高效的多(該結構也可以用來表示矩陣)。
  • pandas:是基于NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。
  • sklearn:是Python重要的機器學習庫,支持包括分類、回歸、降維和聚類四大機器學習算法。還包含了特征提取、數據處理和模型評估三大模塊。
  • scipy:是在NumPy庫的基礎上增加了眾多的數學、科學以及工程計算中常用的庫函數。例如線性代數、常微分方程數值求解、信號處理、圖像處理和稀疏矩陣等等。

算法層:

我們用到的算法模型非常多,原因是京東的商品品類齊全、業務復雜,需要根據不同的情況采用不同的算法模型。我們有一個獨立的系統來為算法模型與商品之間建立匹配關系,有些比較復雜的預測業務還需要使用多個模型。我們使用的算法總體上可以分為三類:時間序列、機器學習和結合業務開發的一些獨有的算法。

1. 機器學習算法主要包括GBDT、LASSO和RNN :

GBDT:是一種迭代的決策樹算法,該算法由多棵決策樹組成,所有樹的結論累加起來做最終答案。我們用它來預測高銷量,但歷史規律不明顯的商品。

RNN:這種網絡的內部狀態可以展示動態時序行為。不同于前饋神經網絡的是,RNN可以利用它內部的記憶來處理任意時序的輸入序列,這讓它可以更容易處理如時序預測、語音識別等。

LASSO:該方法是一種壓縮估計。它通過構造一個罰函數得到一個較為精煉的模型,使得它壓縮一些系數,同時設定一些系數為零。因此保留了子集收縮的優點,是一種處理具有復共線性數據的有偏估計。用來預測低銷量,歷史數據平穩的商品效果較好。

2. 時間序列主要包括ARIMA和Holt winters :

ARIMA:全稱為自回歸積分滑動平均模型,于70年代初提出的一個著名時間序列預測方法,我們用它來主要預測類似庫房單量這種平穩的序列。

Holt winters:又稱三次指數平滑算法,也是一個經典的時間序列算法,我們用它來預測季節性和趨勢都很明顯的商品。

3. 結合業務開發的獨有算法包括WMAStockDT、SimilarityModel和NewProduct等:

WMAStockDT:庫存決策樹模型,用來預測受庫存狀態影響較大的商品。

SimilarityModel:相似品模型,使用指定的同類品數據來預測某商品未來銷量。

NewProduct:新品模型,顧名思義就是用來預測新品的銷量。

預測系統核心流程

預測核心流程主要包括兩類:以機器學習算法為主的流程和以時間序列分析為主的流程。

1. 以機器學習算法為主的流程如下:

Spark技術在京東智能供應鏈預測的應用

  • 特征構建:通過數據分析、模型試驗確定主要特征,通過一系列任務生成標準格式的特征數據。
  • 模型選擇:不同的商品有不同的特性,所以首先會根據商品的銷量高低、新品舊品、假節日敏感性等因素分配不同的算法模型。
  • 特征選擇:對一批特征進行篩選過濾不需要的特征,不同類型的商品特征不同。
  • 樣本分區:對訓練數據進行分組,分成多組樣本,真正訓練時針對每組樣本生成一個模型文件。一般是同類型商品被分成一組,比如按品類維度分組,這樣做是考慮并行化以及模型的準確性。
  • 模型參數:選擇最優的模型參數,合適的參數將提高模型的準確度,因為需要對不同的參數組合分別進行模型訓練和預測,所以這一步是非常耗費資源。
  • 模型訓練:待特征、模型、樣本都確定好后就可以進行模型訓練,訓練往往會耗費很長時間,訓練后會生成模型文件,存儲在HDFS中。
  • 模型預測:讀取模型文件進行預測執行。
  • 多模型擇優:為了提高預測準確度,我們可能會使用多個算法模型,當每個模型的預測結果輸出后系統會通過一些規則來選擇一個最優的預測結果。
  • 預測值異常攔截:我們發現越是復雜且不易解釋的算法越容易出現極個別預測值異常偏高的情況,這種預測偏高無法結合歷史數據進行解釋,因此我們會通過一些規則將這些異常值攔截下來,并且用一個更加保守的數值代替。
  • 模型評價:計算預測準確度,我們通常用使用mapd來作為評價指標。
  • 誤差分析:通過分析預測準確度得出一個誤差在不同維度上的分布,以便給算法優化提供參考依據。

2. 以時間序列分析為主的預測流程如下:

Spark技術在京東智能供應鏈預測的應用

  • 生成歷史時序:將歷史銷量、價格、庫存等數據按照規定格式生成時序數據。
  • 節假日因子:計算節假日與銷量之間的關系,用來平滑節假日對銷量影響。
  • 周日因子:計算周一到周日這7天與銷量的關系,用來平滑周日對銷量的影響。
  • 促銷因子:計算促銷與銷量之間的關系,用來平滑促銷對銷量的影響。
  • 因子平滑:歷史銷量是不穩定的,會受到節假日、促銷等影響,在這種情況下進行預測有很大難度,所以需要利用之前計算的各類因子對歷史數據進行平滑處理。
  • 時序預測:在一個相對平穩的銷量數據上通過算法進行預測。
  • 因子疊加:結合未來節假日、促銷計劃等因素對預測結果進行調整。

Spark在預測核心層的應用

我們使用Spark SQL和Spark RDD相結合的方式來編寫程序,對于一般的數據處理,我們使用Spark的方式與其他無異,但是對于模型訓練、預測這些需要調用算法接口的邏輯就需要考慮一下并行化的問題了。我們平均一個訓練任務在一天處理的數據量大約在500G左右,雖然數據規模不是特別的龐大,但是Python算法包提供的算法都是單進程執行。我們計算過,如果使用一臺機器訓練全部品類數據需要一個星期的時間,這是無法接收的,所以我們需要借助Spark這種分布式并行計算框架來將計算分攤到多個節點上實現并行化處理。

我們實現的方法很簡單,首先需要在集群的每個節點上安裝所需的全部Python包,然后在編寫Spark程序時考慮通過某種規則將數據分區,比如按品類維度,通過groupByKey操作將數據重新分區,每一個分區是一個樣本集合并進行獨立的訓練,以此達到并行化。流程如下圖所示:

Spark技術在京東智能供應鏈預測的應用 偽碼如下:


repartitionBy方法即設置一個重分區的邏輯返回(K,V)結構RDD,train方法是訓練數據,在train方法里面會調用Python算法包接口。saveAsPickleFile是Spark Python獨有的一個Action操作,支持將RDD保存成序列化后的sequnceFile格式的文件,在序列化過程中會以10個一批的方式進行處理,保存模型文件非常適合。

雖然原理簡單,但存在著一個難點,即以什么樣的規則進行分區,key應該如何設置。為了解決這個問題我們需要考慮幾個方面,第一就是哪些數據應該被聚合到一起進行訓練,第二就是如何避免數據傾斜。

針對第一個問題我們做了如下幾點考慮:

  • 被分在一個分區的數據要有一定的相似性,這樣訓練的效果才會更好,比如按品類分區就是個典型例子。
  • 分析商品的特性,根據特性的不同選擇不同的模型,例如高銷商品和低銷商品的預測模型是不一樣的,即使是同一模型使用的特征也可能不同,比如對促銷敏感的商品就需要更多與促銷相關特征,相同模型相同特征的商品應傾向于分在一個分區中。

針對第二個問題我們采用了如下的方式解決:

  • 對于數據量過大的分區進行隨機抽樣選取。
  • 對于數據量過大的分區還可以做二次拆分,比如圖書小說這個品類數據量明顯大于其他品類,于是就可以分析小說品類下的子品類數據量分布情況,并將子品類合并成新的幾個分區。
  • 對于數據量過小這種情況則需要考慮進行幾個分區數據的合并處理。

總之對于后兩種處理方式可以單獨通過一個Spark任務定期運行,并將這種分區規則保存。

結合圖解Spark進行應用、優化

注:《圖解Spark:核心技術與案例實戰》為本文作者所著。

《圖解Spark:核心技術與案例實戰》一書以Spark2.0版本為基礎進行編寫,系統介紹了Spark核心及其生態圈組件技術。其內容包括Spark生態圈、實戰環境搭建和編程模型等,重點介紹了作業調度、容錯執行、監控管理、存儲管理以及運行架構,同時還介紹了Spark生態圈相關組件,包括了Spark SQL的即席查詢、Spark Streaming的實時流處理、MLlib的機器學習、GraphX的圖處理和Alluxio的分布式內存文件系統等。下面介紹京東預測系統如何進行資源調度,并描述如何使用Spark存儲相關知識進行系統優化。

結合系統中的應用

在圖解Spark書的第六章描述了Spark運行架構,介紹了Spark集群資源調度一般分為粗粒度調度和細粒度調度兩種模式。粗粒度包括了獨立運行模式和Mesos粗粒度運行模式,在這種情況下以整個機器作為分配單元執行作業,該模式優點是由于資源長期持有減少了資源調度的時間開銷,缺點是該模式中無法感知資源使用的變化,易造成系統資源的閑置,從而造成了資源浪費。

而細粒度包括了Yarn運行模式和Mesos細粒度運行模式,該模式的優點是系統資源能夠得到充分利用,缺點是該模式中每個任務都需要從管理器獲取資源,調度延遲較大、開銷較大。

由于京東Spark集群屬于基礎平臺,在公司內部共享這些資源,所以集群采用的是Yarn運行模式,在這種模式下可以根據不同系統所需要的資源進行靈活的管理。在YARN-Cluster模式中,當用戶向YARN集群中提交一個應用程序后,YARN集群將分兩個階段運行該應用程序:

第一個階段是把Spark的SparkContext作為Application Master在YARN集群中先啟動;第二個階段是由Application Master創建應用程序,然后為它向Resource Manager申請資源,并啟動Executor來運行任務集,同時監控它的整個運行過程,直到運行完成。下圖為Yarn-Cluster運行模式執行過程:

Spark技術在京東智能供應鏈預測的應用 結合系統的優化

我們都知道大數據處理的瓶頸在IO。我們借助Spark可以把迭代過程中的數據放在內存中,相比MapReduce寫到磁盤速度提高近兩個數量級;另外對于數據處理過程盡可能避免Shuffle,如果不能避免則Shuffle前盡可能過濾數據,減少Shuffle數據量;最后,就是使用高效的序列化和壓縮算法。在京東預測系統主要就是圍繞這些環節展開優化,相關Spark存儲原理知識可以參見圖解Spark書第五章的詳細描述。

由于資源限制,分配給預測系統的Spark集群規模并不是很大,在有限的資源下運行Spark應用程序確實是一個考驗,因為在這種情況下經常會出現諸如程序計算時間太長、找不到Executor等錯誤。我們通過調整參數、修改設計和修改程序邏輯三個方面進行優化:

參數調整

  • 減少num-executors,調大executor-memory,這樣的目的是希望Executor有足夠的內存可以使用。
  • 查看日志發現沒有足夠的空間存儲廣播變量,分析是由于Cache到內存里的數據太多耗盡了內存,于是我們將Cache的級別適當調成MEMORY_ONLY_SER和DISK_ONLY。
  • 針對某些任務關閉了推測機制,因為有些任務會出現暫時無法解決的數據傾斜問題,并非節點出現問題。
  • 調整內存分配,對于一個Shuffle很多的任務,我們就把Cache的內存分配比例調低,同時調高Shuffle的內存比例。

修改設計

參數的調整雖然容易做,但往往效果不好,這時候需要考慮從設計的角度去優化:

  • 原先在訓練數據之前會先讀取歷史的幾個月甚至幾年的數據,對這些數據進行合并、轉換等一系列復雜的處理,最終生成特征數據。由于數據量龐大,任務有時會報錯。經過調整后當天只處理當天數據,并將結果保存到當日分區下,訓練時按天數需要讀取多個分區的數據做union操作即可。
  • 將“模型訓練”從每天執行調整到每周執行,將“模型參數選取”從每周執行調整到每月執行。因為這兩個任務都十分消耗資源,并且屬于不需要頻繁運行,這么做雖然準確度會略微降低,但都在可接受范圍內。
  • 通過拆分任務也可以很好的解決資源不夠用的問題。可以橫向拆分,比如原先是將100個品類數據放在一個任務中進行訓練,調整后改成每10個品類提交一次Spark作業進行訓練。這樣雖然整體執行時間變長,但是避免了程序異常退出,保證任務可以執行成功。除了橫向還可以縱向拆分,即將一個包含10個Stage的Spark任務拆分成兩個任務,每個任務包含5個Stage,中間數據保存到HDFS中。

修改程序邏輯

為了進一步提高程序的運行效率,通過修改程序的邏輯來提高性能,主要是在如下方面進行了改進:避免過多的Shuffle、減少Shuffle時需要傳輸的數據和處理數據傾斜問題等。

1. 避免過多的Shuffle

Spark提供了豐富的轉換操作,可以使我們完成各類復雜的數據處理工作,但是也正因為如此我們在寫Spark程序的時候可能會遇到一個陷阱,那就是為了使代碼變的簡潔過分依賴RDD的轉換操作,使本來僅需一次Shuffle的過程變為了執行多次。我們就曾經犯過這樣一個錯誤,本來可以通過一次groupByKey完成的操作卻使用了兩回。

業務邏輯是這樣的:我們有三張表分別是銷量(s)、價格(p)、庫存(v),每張表有3個字段:商品id(sku_id)、品類id(category)和歷史時序數據(data),現在需要按sku_id將s、p、v數據合并,然后再按category再合并一次,最終的數據格式是:[category,[[sku_id, s , p, v], [sku_id, s , p, v], […],[…]]]。一開始我們先按照sku_id + category作為key進行一次groupByKey,將數據格式轉換成[sku_id, category , [s,p, v]],然后按category作為key再groupByKey一次。

后來我們修改為按照category作為key只進行一次groupByKey,因為一個sku_id只會屬于一個category,所以后續的map轉換里面只需要寫一些代碼將相同sku_id的s、p、v數據group到一起就可以了。兩次groupByKey的情況:

Spark技術在京東智能供應鏈預測的應用 修改后變為一次groupByKey的情況:

Spark技術在京東智能供應鏈預測的應用 多表join時,如果key值相同,則可以使用union+groupByKey+flatMapValues形式進行。比如:需要將銷量、庫存、價格、促銷計劃和商品信息通過商品編碼連接到一起,一開始使用的是join轉換操作,將幾個RDD彼此join在一起。后來發現這樣做運行速度非常慢,于是換成union+groypByKey+flatMapValue形式,這樣做只需進行一次Shuffle,這樣修改后運行速度比以前快多了。實例代碼如下:

Spark技術在京東智能供應鏈預測的應用 如果兩個RDD需要在groupByKey后進行join操作,可以使用cogroup轉換操作代替。比如, 將歷史銷量數據按品類進行合并,然后再與模型文件進行join操作,流程如下:

Spark技術在京東智能供應鏈預測的應用 使用cogroup后,經過一次Shuffle就可完成了兩步操作,性能大幅提升。

2. 減少Shuffle時傳輸的數據量

  • 在Shuffle操作前盡量將不需要的數據過濾掉。
  • 使用comebineyeByKey可以高效率的實現任何復雜的聚合邏輯。

comebineyeByKey屬于聚合類操作,由于它支持map端的聚合所以比groupByKey性能好,又由于它的map端與reduce端可以設置成不一樣的邏輯,所以它支持的場景比reduceByKey多,它的定義如下:


educeByKey和groupByKey內部實際是調用了comebineyeByKey,


Spark技術在京東智能供應鏈預測的應用 我們之前有很多復雜的無法用reduceByKey來實現的聚合邏輯都通過groupByKey來完成的,后來全部替換為comebineyeByKey后性能提升了不少。

3.處理數據傾斜

有些時候經過一系列轉換操作之后數據變得十分傾斜,在這樣情況下后續的RDD計算效率會非常的糟糕,嚴重時程序報錯。遇到這種情況通常會使用repartition這個轉換操作對RDD進行重新分區,重新分區后數據會均勻分布在不同的分區中,避免了數據傾斜。如果是減少分區使用coalesce也可以達到效果,但比起repartition不足的是分配不是那么均勻。

寫在最后

雖然京東的預測系統已經穩定運行了很長一段時間,但是我們也看到系統本身還存在著很多待改進的地方,接下來我們會在預測準確度的提高、系統性能的優化、多業務支持的便捷性上進行改進。未來,隨著大數據、人工智能技術在京東供應鏈管理中的使用越來越多,預測系統也將發揮出更大作用,對于京東預測系統的研發工作也將是充滿著挑戰與樂趣。

? ?



本文被轉載1次

首發媒體 加速會 | 轉發媒體

隨意打賞

spark streamingspark技術京東供應鏈金融京東智慧供應鏈京東供應鏈spark
提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 日韩黄色一级大片 | 夫の目の前侵犯中文字 | 激情四虎 | 欧美交换配乱吟粗大在线观看 | 亚洲一区二区三区四区五区午夜 | 97理伦| 国产精品国产三级国产专区51 | 欧美日韩网站 | 自拍偷窥第一页 | 天天摸天天操天天射 | 中国精品18videosex性中国 | 精品久久久久久久久久国产潘金莲 | 欧美精品色婷婷五月综合 | 国产av人人夜夜澡人人爽 | 2021精品亚洲中文字幕 | 国产成年网站 | 韩日av一区二区 | 欧美激情国产精品 | 成年人在线观看视频免费 | 亚洲精品在线一区二区 | 免费看美女隐私网站 | 中文字幕高清在线免费播放 | 中文字幕日韩欧美一区二区 | 国产一区二区不卡老阿姨 | 亚洲欧美日本久久综合网站 | 欧美黑人性暴力猛交喷水 | 最新中文字幕久久 | 久久精品视频国产 | 天堂网中文字幕 | 农村老熟妇乱子伦视频 | 亚洲图片自拍偷拍 | 一个人看的www日本高清视频 | 亚洲高清精品视频 | 每日更新在线观看av | 男女精品国产乱淫高潮 | 337p人体粉嫩胞高清视频 | 久久久久久久久99精品情浪 | 少妇高潮惨叫久久久久久 | 欧美国产一二三区 | 女人与拘性猛交视频 | 国产麻豆一区二区三区 | 中文字幕第一页在线 | 欧美日激情 | 九九热视频免费观看 | 一本色道久久综合亚洲精品婷婷 | 裸体美女无遮挡免费网站 | 国产精品毛片一区 | 欧美视频日韩 | 日韩精品一区二区三区中文 | 91系列在线观看 | 粉嫩绯色av一区二区在线观看 | 99久久国语露脸精品国产 | 一本色道久久88综合日韩精品 | 国产成人高清在线 | 亚洲精品一区二区三区大桥未久 | 欧美理伦片在线播放 | 久久一区二区三区精华液使用 | 乱码精品一区二区三区 | 中文字幕精品无码一区二区 | 国产后进极品圆润翘臀在后面玩 | 在线看91| 国产91嫩草 | 一本一道色欲综合网中文字幕 | 欧美性做爰猛烈叫床潮 | 69精品在线 | 巨胸喷奶水www久久久 | 欧美性猛交xxxx乱大交极品 | 森泽佳奈在线播放 | 国产精品无码一区二区桃花视频 | 慈禧一级淫片免费放特级 | 日日躁夜夜躁人人揉av五月天 | 国产日韩欧美在线观看视频 | 丁香七月婷婷 | 午夜不卡av免费 | 成年人看的黄色片 | h片免费观看 | 日韩人妻无码精品-专区 | 天天碰天天碰 | 老女人av在线 | 亚洲色图av在线 | 欧美黄色aaa| 一女二男3p波多野结衣 | 日本无遮挡吸乳视频 | 久久精品99国产 | 亚洲天堂av在线免费观看 | 国产精品免费看久久久 | 国产一区二区三区免费观看网站上 | 午夜成人理论无码电影在线播放 | 色婷婷一区 | 日韩免费在线观看视频 | 91久久久久久久久 | 大又大又粗又硬又爽少妇毛片 | 亚洲国产精品一区二区久久恐怖片 | 乌克兰少妇性做爰 | 丰满熟妇乱子伦 | 日韩精品久久久 | 欧美成人精品一区二区三区在线看 | 色播日韩 | 91亚洲欧美 | 日韩经典中文字幕 | 狠狠色丁香 | www17com嫩草影院 | 国产成人精品女人久久久 | 播放黄色一级片 | 欧美大尺度做爰啪啪床戏明星 | 午夜爱爱网站 | 麻豆黄色网址 | 国产精品久久久久久久久免费软件 | 国产又粗又猛又爽又黄视频 | 看片一区 | 久久99精品久久只有精品 | 亚洲第七页 | 国产激情综合在线观看 | 日韩在线影院 | 永久91嫩草亚洲精品人人 | 亚洲热妇无码av在线播放 | 久久久国产精品人人片 | 亚洲免费国产 | 91噜噜噜 | 51国产偷自视频区视频小蝌蚪 | 久久久久久黄色 | 亚洲国产人午在线一二区 | 人人操天天射 | 久久免费国产精品 | 精品黄色一级片 | 日韩色中色 | 精品久久久久久久久久久国产字幕 | 手机av免费在线 | 一个人看的www视频免费观看 | 国产精品99久久久久人中文网介绍 | 免费成人黄色片 | 一本到久久 | 欧美性受xxxx白人性爽 | 亚洲蜜桃精久久久久久久 | 青青操久久 | 精品一区不卡 | 日本三级高清视频 | 一区二区三区四区日韩 | 玖玖在线观看视频 | 中文字幕一区二区三区在线播放 | 红杏成人免费视频 | 天堂网一区二区 | 国产成人精品一区二区三区免费 | 在办公室被c到呻吟的动态图 | 欧美激情一区在线 | 伊人蕉久 | 欧美激情视频在线播放 | 国内精品人妻无码久久久影院导航 | 动漫人妻h无码中文字幕 | 亚洲伊人久久久 | 天天躁日日躁狠狠躁800凹凸 | www.com污| 99er6免费热在线观看精品 | 另类老妇奶性生bbwbbw | 欧洲一二三区 | 欧美三区| 成人小视频免费观看 | ass嫩粉嫩粉嫩pⅰcs | 午夜乱蜜桃久久久乱 | 日韩伦理一区二区三区 | 国产精品xxxxx| 岳双腿间已经湿成一片视频 | 伊人精品一区二区三区 | 欧美中文字幕一区二区三区 | 99riav视频| 午夜伊人网| 国产精品另类激情久久久免费 | 久久久久中文 | 亚州男人天堂 | 久久99久久99精品免观看粉嫩 | 黄色国产精品 | 色老头在线一区二区三区 | 亚洲欧美成人aⅴ大片 | 国产精品极品白嫩 | 丁香六月婷婷开心婷婷网 | 无码精品一区二区三区免费视频 | 亚洲精品久久久一区二区三区 | 狠狠色婷婷久久一区二区 | 国产欧美又粗又猛又爽 | 国产视频精品久久 | 欧美激情亚洲色图 | 黄色片在线免费看 | 国产一区二区三区免费播放 | 亚洲天堂婷婷 | 视频精品一区二区 | 国产18处破外女 | 男人的天堂中文字幕 | 国产成人无码精品午夜福利a | 黄色欧美视频 | 一区二区三区欧美在线观看 | 波多野结衣乳巨码无在线观看 | 一本大道东京热无码aⅴ | 特黄 做受又硬又粗又大视频 | 久久免费成人 | 日韩 国产 欧美 | 成年人的免费视频 | 噜噜噜噜狠狠狠7777视频 | 天天躁狠狠躁狠狠躁夜夜躁 | 国产乱乱 | 色欲av无码一区二区人妻 | 国产成人精品123区免费视频 | 男人爱看的网站 | 亚洲视频中文字幕在线观看 | 九草在线 | 秋霞网一区 | 免费一区二区三区视频在线 | 日本新janpanese乱熟 | 亚洲系列在线 | 国产麻豆9l精品三级站 | 免费视频网站在线观看入口 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 台湾全黄色裸体视频播放 | 欧美老妇人与禽交 | 欧美国产精品日韩在线 | 麻豆aⅴ精品无码一区二区 午夜福制92视频 | 日欧一片内射va在线影院 | 久久勉费视频 | 免费的a级毛片 | 女人抽搐喷水高潮国产精品 | 欧美精品一区二区久久婷婷 | 久草免费资源站 | 久色精品视频 | 综合激情五月婷婷 | 黑人操亚洲女 | 国产午夜手机精彩视频 | 三攻一受h啪肉np文 三级av毛片 | 永久免费无码av网站在线观看 | 亚洲欧美另类视频 | 亚洲精品9 | 日韩乱码人妻无码系列中文字幕 | 日韩精品小视频 | 少妇把腿扒开让我爽爽视频 | 国产精品第一页在线观看 | 国产精品久久亚洲 | 日韩精品一卡2卡3卡4卡分类 | 午夜性剧场 | 成人影视在线看 | 50一60岁老妇女毛片 | 无遮无挡三级动态图 | 国产盗摄av| 真人抽搐一进一出gif | 潘金莲aa毛片一区二区 | 少妇高潮交换91 | 日本少妇撒尿com | 找国产毛片看 | 久草在线免费福利资源 | 大片免费在线观看视频 | 麻豆av免费在线观看 | 日韩在线影视 | 巨大乳の揉んで乳榨り奶水 | 亚洲国产精品日韩av不卡在线 | 成人中文字幕在线 | 国产影视一区 | 麻豆黄色网 | 7777日本精品一区二区三区 | 伊人久久久久久久久久久久久 | 丁香天五香天堂综合 | 亚洲中文字幕高清有码在线 | 二区三区偷拍浴室洗澡视频 | 亚洲欧美日韩精品色xxx | 992tv又爽又黄的免费视频 | 国产成人精品免费看视频 | 天天色播 | 激情综合丁香五月 | 国人天堂va在线观看免费 | brazzers欧美一区二区 | 久草视频免费看 | 91在线小视频 | 成人在线视频免费看 | 国产福利一区在线观看 | 日本网站在线 | 久久国产精品_国产精品 | 国产在线精品一区二区三区 | 羞羞avtv | 亚洲人ⅴsaⅴ国产精品 | 成人亚洲网 | 国内揄拍国产精品 | 国产成a人片在线观看视频下载 | 免费日本黄色片 | 免费观看全黄做爰大片小说 | 91久久久久久久久久久 | 亚洲第9页 | 内射中出无码护士在线 | 天天综合天天添夜夜添狠狠添 | 激情小说一区 | 开心色怡人综合网站 | 国产chinese精品露脸 | 又大又黄又粗又爽的免费视频 | 海量av资源 | 国产一区二区在线观看视频 | 日本少妇毛耸耸毛多水多 | 国产美女极度色诱视频www | 日韩av成人在线 | 免费黄色毛片视频 | 久久久久久亚洲av毛片大全 | 丁香九月激情 | 国产做受69 | www.亚洲资源 | 成在线人视频免费视频 | 国产小视频在线免费观看 | 嫩草嫩草嫩草嫩草嫩草 | 色天天综合 | 7777奇米四色成人眼影 | 国产精品视频免费丝袜 | 一级一片免费看 | 24小时日本在线www免费的 | 农村黄性色生活片 | bt天堂av| 色呦哟—国产精品 | 色老头一区二区三区 | 人妻夜夜爽天天爽三区 | 四虎久久久久 | 少妇av导航| 无码专区人妻系列日韩精品 | 欧美黄色免费大片 | 狠狠躁天天躁中文字幕无码 | 成人亚洲精品久久久久 | 超碰人人在线 | 大尺度裸体日韩羞羞xxx | 影音先锋人妻啪啪av资源网站 | 蜜桃久久精品成人无码av | 亚洲人成网站精品片在线观看 | 中文无码精品一区二区三区 | 成人免费毛片高清视频 | 人人妻久久人人澡人人爽人人精品 | 久久网站免费看 | 欧美专区在线播放 | 伊人久久大香线蕉av超碰演员 | 曰本在线| 国产成人精品一区二区三区免费 | 久久久免费高清视频 | 全黄一级裸片视频 | 日本xxxx裸体xxxx出水 | 欧美少妇15p | 久久视频在线观看免费 | 肉肉视频在线观看 | www.成人在线 | 99久久免费精品国产男女性高好 | 伊人色区 | 凉森玲梦一区二区三区av免费 | 欧美性xxxxx极品娇小 | 久精品国产 | 国内一级视频 | 精品久久一区 | 叶山小百合av一区二区 | 99这里有精品 | 成 年 人 黄 色 大 片大 全 | 香蕉视频在线观看www | 91久久精品美女高潮 | 杨幂一区二区三区免费看视频 | 国产美女包臀裙一区二区 | 青青网站| 色综合色狠狠天天综合色 | 欧美69式互添视频在线 | 无码人妻一区二区三区免费n鬼沢 | 少妇交换做爰中文字幕 | 五月天在线播放 | 久艹av| 在线a亚洲视频播放在线观看 | 精品熟女少妇av免费久久 | 精品国产乱码久久久久久口爆 | 国产在线色 | a级高清免费毛片av在线 | 国产一区二三区 | 奇米777狠狠色噜噜狠狠狠 | 国产精品va无码一区二区 | 色女人网 | 俺去久久| 97超碰人人模人人人爽人人爱 | 欧美视频在线观看,亚洲欧 欧美视频在线观看视频 | 高清无码一区二区在线观看吞精 | 久久99精品久久久久久牛牛影视 | 久一蜜臀av亚洲一区 | 超碰人人草 | 石原莉奈在线播放 | 国产精品免费拍拍10000部2 | 婷综合| 在线麻豆视频 | 亚洲精品久久久久久动漫器材一区 | www在线观看免费视频 | 欧美一级淫片 | 嫩草视频| 国产福利免费 | 中文字幕丰满人伦在线 | 久久99国产精品女同 | 国产94在线 | 亚洲 | 亚洲精品一区二区在线观看 | 日本欧美视频在线观看 | 日本成人免费视频 | 久久亚洲中文字幕不卡一二区 | 偷拍一女多男做爰免费视频 | 少妇中文字幕 | 色图一区| 人妻少妇边接电话边娇喘 | xxxx性视频 | cekc老妇女cea0| 小雪好紧好滑好湿好爽视频 | 久久91精品国产 | 67194午夜| 免费中文字幕 | 日韩在线不卡视频 | 4hu四虎永久在线影院 | 视频日韩 | 午夜人妻久久久久久久久 | 国产亚洲精品久久久久久久久动漫 | av在线不卡免费 | 在线看av的网址 | 少妇又色又紧又黄又刺激免费 | 欧美精品18 | 亚洲国产成人久久 | 欧美性大战久久久久久久蜜桃 | 四虎影视av | 久久香蕉国产线看观看精品yw | 黄视频在线 | 国产对白叫床清晰在线播放图片 | 色婷婷激情av | 欧美yyy| 天躁夜夜躁狼狠躁 | 国产一级淫| 久久精品国产免费一区 | 人与拘一级a毛片 | 黄色片的网站 | 国产精品久久久久久久久动漫 | 91精品一区二区三区四区 | 国产精品久久久久久久新郎 | 欧美比基尼 | 一本大道av日日躁夜夜躁 | 免费观看成人毛片a片 | 国产 亚洲 制服 无码 中文 | aa黄色毛片 | 国产伦子伦对白在线播放观看 | 亚洲va在线va天堂xxxx中文 | 亚洲精品网站在线 | 日本午夜在线视频 | 亚洲精品无圣光一区二区 | 欧美亚洲专区 | 韩国三级做爰楼梯在线 | 国产又粗又猛又黄又爽视频 | 色综合天天综合狠狠爱 | 日本欧美精91品成人久久久 | 精精国产| jizz亚洲女人高潮大叫 | 国精产品999永久天美 | 在线人成视频播放午夜福利 | 国语对白永久免费 | 欧美性视频在线 | 亚洲熟妇av午夜无码不卡 | 肉色丝袜一区二区 | a级淫片一二三区在线播放 a天堂v | 成人免费无码大片a毛片抽搐 | 国产成人久久 | 国产精品s | 国产伦精品一区二区三区四区免费 | 色欲精品国产一区二区三区av | 亚洲国产理论片在线播放 | 农村女人做爰毛片 | 丰满少妇被猛男猛烈进入久久 | 国产又爽又黄又无遮挡的激情视频 | 国产高清免费 | 欧美人与zoxxxx另类 | 国产精品久久久久久久久久免费 | 日本欧美不卡 | 久久国产美女视频 | 人妻熟女αⅴ一区二区三区 | 57pao成人国产永久免费视频 | 巨乳美女在线 | 亚洲欧洲精品在线 | 欧美日韩激情一区二区 | 成人颜色网站 | 欧美乱大交做爰xxxⅹ性3 | 国产98在线 | 免费、 | 高清视频在线播放 | 欧美九九视频 | 亚洲免费色图 | 亚洲精品无吗 | 日本a级在线 | 亚洲成人免费在线观看 | 97视频免费在线观看 | 中文字幕超清在线观看 | h视频在线看 | 成人午夜网 | 国产精品婷婷午夜在线观看 | 日本极品少妇xxxx | 黄色三级网| 欧美日韩亚洲第一 | 青青视频免费在线观看 | 狠狠五月深爱婷婷网 | 国产亚洲精品第一综合麻豆 | 夜夜爽爽爽久久久久久魔女 | 91秘密入口 | 国模少妇一区二区三区 | 国产igao为爱做激情在线 | 国产农村熟妇videos | 91视频综合| 青娱乐在线视频免费观看 | 国产精品爽到爆呻吟高潮不挺 | 婷婷国产一区综合久久精品 | 亚洲毛片在线播放 | 欧美日韩激情在线观看 | 国产成人无码一区二区在线观看 | 亚洲一区二区中文字幕 | 极品少妇被啪到呻吟喷水 | 国产高清精品软件丝瓜软件 | 欧美一区二区三区的 | 激情综合六月 | 精品国产免费久久久久久婷婷 | 久久久人体 | 四虎库 | 久久噜| 狂野欧美性猛xxxx乱大交 | 国产69精品久久久久久妇女迅雷 | 大尺度做爰床戏呻吟沙漠 | 黄色av网站免费在线观看 | 久久婷婷国产麻豆91 | 蜜臀av性久久久久蜜臀aⅴ | 国产成人一区二区三区在线播放 | 国产永久免费观看视频 | 少妇愉情理伦片丰满丰满午夜 | 国产 中文 字幕 日韩 在线 | 欧美日韩成人一区二区在线观看 | 黄色片在线免费观看视频 | 欧美亚洲日韩国产人成在线播放 | 国产影视av | 欧美自拍偷拍一区 | av动漫大尺度在线 | av无码久久久久久不卡网站 | 亚洲精品无码不卡 | 99re在线精品| 欧美性猛交xxxx免费看 | 男女啪啪免费网站 | 久久人人爽人人爽人人片ⅴ | 精精国产xxxx视频在线野外 | 国产精品一品二区三区四区五区 | 欧美人与性禽动交情品 | 中文字幕日产乱码一二三区 | 精品久久久久亚洲 | 国产在线精品一区二区高清不卡 | 黄色大片久久 | 日产欧产美韩系列久久99 | 色综合久久无码五十路人妻 | 伊人蕉久中文字幕无码专区 | 9l视频自拍九色9l视频 | 日韩在线观看视频一区二区三区 | 新狼窝色av性久久久久久 | 隔壁邻居是巨爆乳寡妇 | 蜜月va乱码一区二区三区 | 久草视频免费看 | 欧美大片大全 | 精品久久国产 | 久久不射影院 | 天堂аⅴ在线地址8 | 激情欧美日韩一区二区 | 91精品91久久久中77777 | 国产午夜av秒播在线观看 | 成人激情四射网 | 黄色大片黄色大片 | 婷婷丁香五月激情综合 | www在线免费观看 | 欧美极品在线观看 | 亚洲人成人伊人成综合网无码 | 青青草在线视频免费观看 | 最新国产毛片 | 99久久精品免费看国产小宝寻花 | 国产一区二区三区不卡在线观看 | 国产乱视频 | 免费涩涩 | 日韩在线高清视频 | 又粗又长又大又爽又黄少妇毛片 | 亚洲第一a在线观看网站 | 国产三区四区视频 | 夜夜爽日日澡人人添 | 中文字幕人妻无码系列第三区 | 国产精品美女久久久久av福利 | 91福利一区二区 | 精品欧美一区二区三区久久久 | 少妇脚交调教玩男人的视频 | 超碰在线进入 | 精品xxxx户外露出视频 | 绿色地狱在线观看 | 欧美一区二区三区精品 | 国产乱码av | 亚洲视频在线观看视频 | 丁香婷婷综合激情五月色 | 中文人妻av久久人妻18 | 欧美乱妇狂野欧美视频 | 国产精品久久久久久久一区探花 | 日韩欧美不卡 | 欧美日韩国产精品 | 97久久人国产精品婷婷 | av在线播放器 | 国产香蕉尹人综合在线观看 | 亚洲天堂日韩在线 | 精美欧美一区二区三区 | 亚洲色偷偷男人的天堂 | 亚洲国产另类久久久精品性 | 欧美bbbbb | 热re99久久精品国产99热 | 思九九爱九九 | 极品少妇啪啪高清免费 | 乱中年女人伦av二区 | 婷婷开心激情网 | 色哟哟国产 | 日本va在线视频播放 | 成人品视频观看在线 | 自拍偷拍1| 精品久久久中文字幕人妻 | 欧美老妇交乱视频在线观看 | 久久久.www | 热久久中文字幕 | 五月婷在线 | 女高中生自慰污污网站 | 国产剧情v888av| 天天躁夜夜躁狠狠躁2020色戒 | 国产资源在线视频 | 欧美一级三级 |