基於HBase和Spark構建企業級數據處理平臺,面臨的場景:金融風控;個性化推薦;社交Feeds;時空時序以及大數據等。作者:大數據與機器學習
面臨的場景
金融風控
用戶畫像庫爬蟲抓取信息反欺詐系統訂單數據個性化推薦
用戶行為分析用戶畫像推薦引擎海量實時數據處理社交Feeds
海量帖子、文章聊天、評論海量實時數據處理時空時序
監控數據軌跡、設備數據地理信息區域分佈統計區域查詢大數據
維表和結果表離線分析海量實時數據存儲新的挑戰
Apache HBase(在線查詢) 的特點有:
鬆散表結構(Schema free)隨機查詢、範圍查詢原生海量數據分佈式存儲高吞吐、低延遲在線分佈式數據庫多版本、增量導入、多維刪除面臨的新的挑戰:
流式及批量入庫複雜分析機器學習、圖計算生態及聯邦分析選擇Spark的原因
快:通過query的執行優化、Cache等技術,Spark能夠對任意數據量的數據進行快速分析。邏輯迴歸場景比Hadoop快100倍一站式:Spark同時支持複雜SQL分析、流式處理、機器學習、圖計算等模型,且一個應用中可組合上面多個模型解決場景問題開發者友好:同時友好支持SQL、Python、Scala、Java、R多種開發者語言優秀的生態:支持與Ka=a、HBase、Cassandra、MongoDB、Redis、MYSQL、SQL Server等配合使用
平臺機構及案例
一站式數據處理平臺架構
典型業務場景:爬蟲+搜索引擎
典型業務場景:大數據風控系統
典型業務場景:構建數據倉庫(推薦、風控)
毫秒級識別攔截代充訂單,併發十萬量級Spark優秀的計算能力:Spark基於列式存儲Parquet的分析在數據量大的情況下比Greenplum集群有10倍的性能提升一站式解決方案:Spark服務原生支持通過SQL讀取HBase SQL(Phoenix)數據能力聚焦業務:全託管的Spark服務保證了作業運行的穩定性,釋放運維人力,同時數據工作臺降低了spark作業管理成本
原理及實踐
Spark API的發展經歷了RDD、DataFrame、DataSet
Spark Streaming採用的是Micro-Batch方式處理實時數據。
作業堆積、延遲高、併發不夠?
每批次的併發:調大kafka的訂閱的分區、spark.streaming.blockInterval代碼熱點優化:查看堆棧、broadcast、代碼優化Spark流式處理入庫HBase
Micro-Batch Processing:100ms延遲ConKnuous Processing:1ms延遲
Spark HBase Connector的一些優化
代碼託管在:https://github.com/aliyun/aliyun-apsaradb-hbase-demo (包含Spark操作Hbase和Phoenix)
本文整理自來自阿里巴巴的沐遠的分享,由大數據技術與架構進行整理和分享。