天天看點

eBay:資料驅動需要多平台,機器學習不隻靠Spark

作為一家老牌的電商公司,對資料的充分利用是eBay的基因,而eBay也對多個大資料開源項目有不小的貢獻。那麼,eBay自身的大資料分析體系是如何運作的呢?eBay中國資料服務和解決方案團隊負責人李炜對其團隊的資料工作及資料平台的建構進行了介紹。

資料驅動的eBay

自公司CEO而下,指導eBay現在發展的文化是以資料驅動商業,大資料平台最重要的不是資料量大、全,而是價值。

除了傳統的資料整合,eBay還做了很多平台,最重要的是資料産品,B2C、C2C等各個業務環境、各個業務組織架構裡面都用到了不同的資料産品。例如B2C裡面對于類目的需求和供應的差距的分析。

  • 通過把資料分析得出關于需求的Insight提供給賣方,指導他們更好地供貨。
  • 也可以告訴買家,哪些商品接下來可能會熱賣,通過機器學習結合内部大資料(如各種各樣的行為日志)以及社會熱點資料(如新電影、大事件)的挖掘實作。
  • 對使用者畫像分級——哪些買方有很大的消費潛力,哪些買方是有高風險的,有信用危機的,還有哪些買方對哪些類目下的商品最有熱心……分級之後,能夠更精準地進行市場推廣。

類目分析的資料需要是實時的。因為需求和供應都是動态變化的,資料的延遲越厲害,對于分析的價值就越低。

除了通過使用者行為分析指導更好地買賣,eBay也有對自家線上産品的分析。李炜舉例說,當eBay對網站頁面進行重新設計,想要知道新增的功能到底好不好,是由資料部門進行資料分析,看該功能上線之後點選量、轉換率的變化情況。包括提供整個網站頁面的熱點地圖,哪些功能是最熱的、最常用的,哪些功能很少人用。通過資料驅動的結果作為優化網站設計的依據。

資料來源

對于資料的來源,李炜表示,大多數資料是從eBay網站的MarketPlace裡去抓取,當然也用了很多第三方的資料。比如一些用于個人畫像的資料(包括職業、性别、收入等資料)是沒辦法在網站上抓的,需要從第三方公司購買。有些在其他的零售系統的使用者的行為資料,可能也需要從外部購買(如果無法抓取)。

資料團隊的建設

負責上述eBay資料驅動工作的,是李炜所在的資料服務和解決方案部門(其前身是資料倉庫部門,在eBay成立之初就開始組建),目前包括中國(上海)和美國(西雅圖和聖何塞)團隊,支援不同的業務部門做不同的業務資料,有些則是共享的資料基礎,比如行為資料分析是共同開發的模式(資料伺服器盡可能放在同一個區域,不同區域基于高速的專線進行資料交換)。

該部門中國有100人左右,包括全職員工和外包團隊(來自專門的外包公司和内部員工一起做開發的技術人員)。

部門分工包括資料科學家、資料工程師、商業需求分析師、産品經理等崗位。其中資料科學家在中國團隊的比例是1%到2%,在美國團隊則有10%左右。

所謂資料驅動商業,eBay資料産品是針對業務的,不同的最終資料産品會針對不同的使用者。這一塊會是一個團隊去支援這個業務部門,這個團隊會支援産品部門。但是底層的基礎資料的整合、Data Warehouse搭建是一個整體,包括一些資料的可靠性、資料産品的品質等。

資料科學家的作用

分析師和資料科學家的差別,是分析師很靠近業務,對業務非常了解,能夠幫助業務部門确定需要做哪些名額的分析,更多的是在于去衡量商業的結果。資料科學家則以資料模型、機器學習的方法更自動化地去産生一些Insight,更多時候是做一些研究。比如用某種模型解決預測的問題,很多情況下做實驗可能會失敗,他們會花很多時間去調試模型、研究新的模型。很大的一個價值在于,eBay做了很多資料産品,都是需要這些資料科學家來幫助構模組化型和調優,進而能夠更優地去預測。

李炜舉了一個例子,eBay資料科學家做了一個線上的工具Seller Hub(目前免費提供給賣家),通過資料模型針對賣家提供一個很深入的Insight,知道哪些東西賣得好,并且該賣什麼樣的價格才有競争優勢。比如賣一個二手手機,需要知道怎樣定價才比較合理,模型不僅要從eBay網站所有的二手手機類目裡去拽取所有的價格資訊,并且還要知道類似的商品,是有一個相關聯的價格;此外,它還要綜合分析亞馬遜上同類商品的價格,産生一個最優的指導價格給賣家。

eBay今年的主要商業目标,B2C、C2C是需要繼續去發展和增長的,是以,除了最主要的Seller Hub,資料部門還有一個Structured Data的計劃,因為eBay上面有C2C交易、B2C交易以及很多二手貨的交易,有各種各樣的類目的商品,怎麼去管理這些類目是個非常大的挑戰,這需要幾年的計劃,把大部分的類目要能夠最終關聯到結構化的産品系列裡面。這些工作也需要資料科學家的參與。

資料平台的選擇

開源工具的采納

支援資料團隊工作的平台,eBay積極地采用開源技術,但是最終還是要看怎樣用是最适合的。在李炜的資料團隊之外,eBay還有一個比較底層的資料平台團隊,積極地去觀察各個開源社群,去探索、研究哪些開源可能會被利用到。他們會在一些實驗性的Class上面去部署。資料部門也和他們合作,去嘗試這些技術是不是可用。如果最終大家都感覺是可用的話,就有可能就會上升到産品部署上面去。

最典型就是Hadoop。對于資料量,Hadoop存儲的單元價格很便宜,對于大量原始的、非結構化的、價值不明的資料,eBay就把所有的資料全部放在Hadoop上面,更進一步的最有用的資料,就放到最高可靠、最好用的平台上面去,一步一步的分級篩選。

行為資料是近幾年來eBay最重要的一個關注點,有這些資料,可以做很多的個性化應用,比如買家比較喜歡買哪種類目下的東西,他的購買習慣是什麼樣的,他在什麼時候最喜歡去上網買;對賣家來講,他通過這些行為資料能夠知道哪些買家是最大的客戶群,或者是通過這些買家行為來預測可能接下來市場的熱點在哪兒。

李炜表示,行為資料占了eBay整個資料量的80%以上,資料量非常巨大,并且是非結構化資料,eBay會把這些最原始的資料先加載到Hadoop上,進行分級的結構化處理,再把這些預處理好的資料通過資料管道送到不同的系統上面,接下來處理那些已經模式化的資料、半結構化的資料。

李炜表示,Hadoop已經非常成熟,很多公司都在采用了,Spark也是一個很成熟的技術,此外eBaygauge在HBase上面用的一些SQL引擎。

機器學習的支援

基于使用者行為資料來做預測,eBay有很多機器學習的模型來完成。機器學習的任務需要一些原始的資料,就直接在Hadoop系統上面做一些探索。在機器學習方面,eBay其實用非常流行的Spark平台作為一個主導的發展方向,同時在機器學習的部署,也結合了實時的資料和實時模型的部署,這都是利用了Spark的開源技術跟Hadoop結合。

商業方案的應用

從整個執行的戰略來看,綜合考慮eBay龐大的資料量及投資成本等,李炜認為,在整個業界裡面,還沒有一個系統能夠解決所有的問題,是以越來越多的企業都打造一個分析生态系統,綜合應用各種不同的平台。除了開源平台,eBay也采用了商業的方案。例如,eBay采用了Teradata的技術。

李炜介紹,Teradata和eBay合作已經有20年,是Teradata目前最大的客戶之一。eBay的Teradata系統經過好幾輪的演變,目前有四大系統,包括三個生産系統和一個開發測試系統。核心資料、交易型企業級資料和使用者行為資料都在這些系統上有很好的存儲、管理和應用。

  1. 最基本的交易型資料和使用者資料,是儲存完整的資料集的。eBay主要的企業級資料倉庫(Enterprise Data Warehouse)的處理,都是在這個系統上面。
  2. Teradata給eBay特别定制的系統,這上面包含除了交易型資料和使用者資料,還有一些行為資料,做一些非結構化的使用者行為處理。
  3. 專門給分析師用的系統,因為前面兩個系統主要是為生産環境做批處理。
  4. 單獨給資料科學家或是分析師以友善、快速地尋找他們的資料,做一些測試和分析報告。

機器學習方面,eBay有些模型,用R來産生PMML的語言,部署在Spark上面。在有些情況下,其實有一些比較結構化的SQL,也可以運作在Teradata上面,做一些預測、模型。

此外,eBay和Teradata未來在雲上也有合作,其實在eBay美國已經是落地在做的一些具體的應用了。所有的多平台,都是出于eBay分析生态的需求。

多平台整合的坑

從資料團隊最為重視的高可靠性、高可用性和易用性的角度來看,李炜對eBay目前的Hadoop+teradata技術體系最為滿意的部分為:

  • 高可靠性,Teradata目前在各個系統中是最可靠的。
  • 易用性,要看不同的使用者案例,傳統的結構化資料,比如一些财務報表、商業系統的分析等,是在Teradata上面應用。機器學習的模型,包括很快速地去探索一些非結構化的資料,Hadoop上是比較容易的。
  • 對于高的有效性來說,這和對于整個平台的支援的力度有關、人員結構有關,很難評價。
  • 對于Hadoop開源社群,最滿意的一點是非常開放,在整個生态系統當中,有各種各樣的工具能夠滿足不同的需求。

采用各種不同架構,整合的問題是不可避免的。李炜表示,eBay的Hadoop的節點和Teradata的節點都是非常龐大的,資料量也是非常龐大的。在這方面遇到的挑戰包括:

  1. 資料的搬移,一個是本身的資料量大,需要大量的搬移;而且每天的資料增長量也是非常巨大的。同時在多個平台上要進行同步,碰到的問題是,在搬移過程中怎麼保證不同系統中的資料同步和資料品質,這是一個很實際的問題。
  2. 由于eBay系統平台多樣化越來越多,對于不同系統的管理是一個問題(這裡主要是本身的管理系統)。Teradata有比較成熟的一套管理系統。Hadoop作為開源系統,開源社群非常活躍,也有很多管理系統,eBay對于Hadoop的管理包括可搬移的資料管理,也在不停增強,最近花了很多的時間,希望達到Teradata一樣的成熟度。
  3. 人的問題,不同的技術平台需要有不同的技術能力,Teradata有自己的技術,SQL對于Teradata性能調優,Teradata工程師可以很快搞定,但Hadoop可能就是完全另外一套,需要有很強的Java開發經驗,需要知道分布式系統、調優等。是以,eBay的工程師、分析師、開發者的能力也需要不同的加強。

對于系統管理,李炜舉了一些實際的例子進行說明。eBay大概有十幾萬個Job在(Teradata)生産系統上面運作,每個作業的優先級都是不一樣的,并且在Teradata上有超過五千個使用者有實時的通路,Hadoop上面大概也有幾百個使用者的實時通路。使用者和不同Job的權限設定對生産系統是非常關鍵的,比如有些非常核心的資料,必須要保證在一定時間内完成,如果發生延遲,會影響到很多下遊的生産系統,甚至會影響到網站的應用。

eBay和Teradata已經合作了很多年,有非常成熟的模型去管理每一個作業,能夠排程每一個作業的權限。在Hadoop上,eBay也慢慢地嘗試去做這些事情,碰到的一些問題,比如說細節到某一個運作的作業,它的優先級是不是可以調低調高,這在Hadoop上還是一個挑戰。一旦它運作了,在調節的時候不是那麼容易控制。不過,Hadoop開源社群比較活躍,目前eBay在Hadoop上面也有自己的開源項目EGO,更多的是在做這方面的工作。

另外,高可靠性,比如某一個節點突然出現問題,能夠及時地被排除或者被屏蔽。Hadoop上發生問題的機率是很大的,那怎樣才能做到自動地屏蔽和自動地去除,也是一個問題。因為未來能夠在多個平台上都達到企業級的應用,是以eBay在這方面也做了很多工作。

繼續閱讀