基于HBase和Spark構(gòu)建企業(yè)級數(shù)據(jù)處理平臺
面臨的場景
金融風(fēng)控
- 用戶畫像庫
- 爬蟲抓取信息
- 反欺詐系統(tǒng)
- 訂單數(shù)據(jù)
個性化推薦
- 用戶行為分析
- 用戶畫像
- 推薦引擎
- 海量實時數(shù)據(jù)處理
社交Feeds
- 海量帖子、文章
- 聊天、評論
- 海量實時數(shù)據(jù)處理
時空時序
- 監(jiān)控數(shù)據(jù)
- 軌跡、設(shè)備數(shù)據(jù)
- 地理信息
- 區(qū)域分布統(tǒng)計
- 區(qū)域查詢
大數(shù)據(jù)
- 維表和結(jié)果表
- 離線分析
- 海量實時數(shù)據(jù)存儲
新的挑戰(zhàn)
Apache HBase(在線查詢) 的特點有:
- 松散表結(jié)構(gòu)(Schema free)
- 隨機查詢、范圍查詢
- 原生海量數(shù)據(jù)分布式存儲
- 高吞吐、低延遲
- 在線分布式數(shù)據(jù)庫
- 多版本、增量導(dǎo)入、多維刪除
面臨的新的挑戰(zhàn):
- 流式及批量入庫
- 復(fù)雜分析
- 機器學(xué)習(xí)、圖計算
- 生態(tài)及聯(lián)邦分析
選擇Spark的原因

- 快:通過query的執(zhí)行優(yōu)化、Cache等技術(shù),Spark能夠?qū)θ我鈹?shù)據(jù)量的數(shù)據(jù)進(jìn)行快速分析。邏輯回歸場景比Hadoop快100倍
- 一站式:Spark同時支持復(fù)雜SQL分析、流式處理、機器學(xué)習(xí)、圖計算等模型,且一個應(yīng)用中可組合上面多個模型解決場景問題
- 開發(fā)者友好:同時友好支持SQL、Python、Scala、Java、R多種開發(fā)者語言
- 優(yōu)秀的生態(tài):支持與Ka=a、HBase、Cassandra、MongoDB、Redis、MYSQL、SQL Server等配合使用
平臺機構(gòu)及案例
一站式數(shù)據(jù)處理平臺架構(gòu)

- 數(shù)據(jù)入庫:借助于Spark Streaming,能夠做流式ETL以及增量入庫到HBase/Phoenix。
- 在線查詢:HBase/Phoenix能夠?qū)ν馓峁└卟l(fā)的在線查詢
- 離線分析及算法:如果HBase/Phoenix的數(shù)據(jù)需要做復(fù)雜分析及算法分析,可以使用Spark的SQL、機器學(xué)習(xí)、圖計算等
典型業(yè)務(wù)場景:爬蟲+搜索引擎

- 性能:流吞吐 20萬條/秒
- 查詢能力:HBase自動同步到solr對外提供全文檢索的查詢
- 一站式解決方案:Spark服務(wù)原生支持通過SQL讀取HBase 數(shù)據(jù)能力進(jìn)行ETL,Spark + HBase +Solr一站式數(shù)據(jù)處理平臺
典型業(yè)務(wù)場景:大數(shù)據(jù)風(fēng)控系統(tǒng)

- Spark同時支持事中及事后風(fēng)控
- Spark友好對接HBase、RDS、MongoDB多種在線庫
典型業(yè)務(wù)場景:構(gòu)建數(shù)據(jù)倉庫(推薦、風(fēng)控)
- 毫秒級識別攔截代充訂單,并發(fā)十萬量級
- Spark優(yōu)秀的計算能力:Spark基于列式存儲Parquet的分析在數(shù)據(jù)量大的情況下比Greenplum集群有10倍的性能提升
- 一站式解決方案:Spark服務(wù)原生支持通過SQL讀取
- HBase SQL(Phoenix)數(shù)據(jù)能力
- 聚焦業(yè)務(wù):全托管的Spark服務(wù)保證了作業(yè)運行的穩(wěn)定性,釋放運維人力,同時數(shù)據(jù)工作臺降低了spark作業(yè)管理成本
原理及實踐
Spark API的發(fā)展經(jīng)歷了RDD、DataFrame、DataSet

Spark Streaming采用的是Micro-Batch方式處理實時數(shù)據(jù)。

作業(yè)堆積、延遲高、并發(fā)不夠?
- 每批次的并發(fā):調(diào)大kafka的訂閱的分區(qū)、spark.streaming.blockInterval
- 代碼熱點優(yōu)化:查看堆棧、broadcast、代碼優(yōu)化
Spark流式處理入庫HBase
Micro-Batch Processing:100ms延遲ConKnuous Processing:1ms延遲
Spark HBase Connector的一些優(yōu)化

代碼托管在:https://github.com/aliyun/aliyun-apsaradb-hbase-demo (包含Spark操作Hbase和Phoenix)
本文整理自來自阿里巴巴的沐遠(yuǎn)的分享,由大數(shù)據(jù)技術(shù)與架構(gòu)進(jìn)行整理和分享。場景需求和挑戰(zhàn)






























