http://www.toutiao.com/a6475623583879004685/?tt_from=weixin&utm_campaign=client_share&app=news_article_social&utm_source=weixin&iid=15964468510&utm_medium=toutiao_ios&wxshare_count=1
隨着公司業務的增長,大量和業務、流程、規則相關的半結構化數據也爆發式增長。但數據分散在公司的各個系統中,如何將它們匯總並形成統一的企業級數據倉庫,使企業靈活,高效的運用成了難題。
如需將分散的各個底層數據匯總則需建立完整的體系,支撐風控的大數據框架則是重中之重。
擁有5000萬+注冊用戶;13億+設備標簽;100億+行為數據;1500萬+行業關注名單等海量多維數據的拍拍信則是從這幾個方面落實:
1. 數據采集
面對來源各異、以結構化/半結構化為主的數據,我們使用linkedin開源的camus來采集消息類數據,使用kettle來采集RMDB的數據。
2. 數據儲存
將采集到的原始數據存儲到hadoop集群的分布式文件系統中。此外,基於hdfs文件系統對小文件並不是很友好的前提下,定期對歷史文件進行合並、壓縮、歸檔的操作也很有必要。
3. 離線處理
數據的離線處理則是一個非常大的話題,相當多的工作量都在這里,但它的價值卻往往不會馬上得到體現,從而被企業忽視。不僅僅包含以下這些內容:
l 構建並不停地豐富數據倉庫
參照傳統的ODS,DW,DM將數倉分層,對數據進行加密、去重后分門別類,持續不斷的堅持做這件事。
l 管理元數據
建立數據字典,統一數據編碼,描繪數據血緣等。
l 檢測數據質量
從眾數、少數、中位數、平均值等多維度來檢測和把握數據的質量。
4. 流式處理
我們使用spark streaming將特征工程、模型結果計算與流式處理相結合,提供秒級的輸出。甚至成功的將類似RNN(循環神經網絡)這樣的深度學習計算添加到整個流式處理的過程中。
5. 數據可視化
使用不同的工具以滿足不同場景、不同職責的人員對數據的使用。不僅僅包含以下這些內容:
l 數據的即席查詢
懂SQL、隨意組合查詢條件,進行自助查詢,可以忍受分鍾級的耗時。
l 多維分析
不懂SQL的情況下,在給定的維度和指標下,隨意組合,並在秒級得到查詢結果。
l 靜態報表
只關注關鍵性指標。
l 數據分析挖掘
會使用像python、R這樣的語言,結合集群的Spark、hive這樣的分布式處理工具,對數據進行更深層次的利用。
經過處理的底層大數據相對於以往,在實際業務中使源數據種類更豐富,數據量更多, 借助集群的助力,處理速度更快,回溯時間更久遠。
實際運用:
模型訓練:風控模型是互聯網金融,傳統金融等行業在風控流程中不可或缺的環節。
模型應用:將模型與流式計算相結合,提供秒級的風控決策。
數據產品:對數據加工處理,產生像多頭、風險名單一類的數據產品。
常用業務:企業在日常工作中各個環節都涉及到數據如:處理數據,更新數據,數據調用,查詢日志等。
運用大數據架構前后比對:
項目 |
前 |
后 |
數據體量 |
GB級 |
TB ~ PB級 |
響應時效 |
h級 |
ms ~ min級 |
回溯 |
日/月 |
年 |
成本 |
反復人工成本 |
一次投入,多方使用 |
在進行大數據框架搭建時還需注意以下幾點:
現在即使在同一細分領域,也有很多開源技術可供選擇,請盡量選用相對成熟,社區活躍的;能選用開源的,盡量避免自研;另外代碼如果要維護自己分支,請特別要謹慎,避免與社區越走越遠;hadoop最初並沒有太多的考慮數據安全方面,這點要自己加強;高穩定性和高性能往往一個是魚,一個是熊掌,請考慮好取舍。
本期對大數據底層架構的分享就到這里,歡迎大家聯系探討。