TalkingData馬驥出席QCon,分享前端黑科技

TalkingData馬驥出席QCon,分享前端黑科技

導讀

TalkingData研發副總裁馬驥近日出席QCon全球軟體開發大會北京站,並在會上做了以《2018,你不知道的前端黑科技》為主題的演講。

QCon全球軟體開發大會由極客邦科技與InfoQ中國主辦,致力於分享和交流新技術在行業應用中的最新實踐,助力企業技術選型、業務升級與順利轉型。本次北京站大會規模再創新高,匯聚來自300餘家企業的2500餘名技術人,其中80%以上的參會者為資深技術人;擔任出品人及演講嘉賓的技術專家超過200名,90%的專家擁有10年以上從業經驗,多來自國內外行業領軍企業和創新技術公司。

QCon北京2018

在Web技術發展的近20年來,有高潮也有低谷。當遇到瓶頸時,必須要用創新的思路及想法去解決,才能形成突破。在大會次日的「技術創新與前沿應用專場」中,TalkingData研發副總裁馬驥以《2018,你不知道的前端黑科技》為主題,分享TalkingData近幾年在大數據Web開發中一些創新和突破,包括繪製百萬行的數據表格、位置大數據地圖矢量繪製、Web端數據科學實踐及Web端並行計算框架設計。

TalkingData研發副總裁 馬驥

平滑流暢的繪製百萬行數據表格

馬驥表示,根據產品需求,要求以表格形式繪製百萬條超大體量POI數據顯示。首先遇到的瓶頸是DOM渲染,當數據量達到一萬兩萬、甚至十幾萬的時候,表格非常卡頓,且CPU佔用率極高。

通過排查,發現問題在於所使用的VUE框架下getter和setter所做的數據雙向綁定。當所綁定的數據集非常大時,性能就會出現問題。

最後改為使用Object.preventExtensions、Object.seal、Object.freeze(擴展對象、密封對象、凍結對象),解決了性能問題,實現了百萬行表格的平滑展現,良好承載了對地圖和表格之間很重的檢索需求。最終效果是,當擊右側一行數據,對應的地圖POI點可以高亮顯示;反之,點擊地圖上POI點要顯示在數據表格里對應的數據,交互體驗超出預期。

Web端數據科學實踐

1、自動化配色

馬驥認為,自動化是web端很好的數據科學場景。在TalkingData去年開源的地圖可視化組件InMap中,對通過自動化提升效率做了重點嘗試。據分析,很多數據分析師要花30%的工作量去調整數據可視化的樣式,比如調整地圖的配色上,這對非設計專業的人來說非常痛苦。如果能提供自動化的配色方案,則會能在很大程度上降低這一成本。

在TalkingData的實踐中,要先對數據形態進行判斷,用四分位以及平均數初步判斷數據形態的分布和趨勢,用大數據評估是指數型還是線型。然後用色譜通過獲取面積等分點模型獲取設置區間,最後通過自定義自動化完成自動配色。

2、異常數據檢測

大數據永遠都會有異常,而數據能否使用,需要進行檢測,最基礎的就是數據類型的檢測。

馬驥分享,TalkingData通過統計學模型——四分位的法則去做相對比較寬鬆的驗證,比如四分位、上四分位和下四分位之間的三倍。

針對其中最為複雜的異常位置數據檢測,馬驥帶領的團隊查詢相關論文,將Python版本翻譯成JavaScript版本實現,原理是計算兩點一線的距離,當距離越大時則密度越低,當距離越小則密度越大,這樣就可以將異常點計算出來。

Web端並行計算架構設計

馬驥認為,web端的密集型計算是可視化的挑戰,其瓶頸在於JavaScript本身,因為JavaScript是一個單線程語言,這就導致一方面CPU的利用率偏低,另一方面密集計算執行需要等待。

在TalkingData InMap的架構實踐中,通過增加前端能力,通過前後端協同提升整體性能,進而將伺服器端的很多能力轉移到客戶端去實現,使客戶端也具有計算能力,實現業務邏輯和計算能力逐漸上移。

InMap架構圖

推薦閱讀:

最經典的25本Python編程開發電子書(附下載地址)!
第八章:Hadoop編譯源碼
三個月成為大數據工程師,你需要具備哪些條件?
【ML專欄】談One-hot的本質功能
今日數據行業日報(2016.12.06)

TAG:前端開發 | 互聯網 | 大數據 |