基于HBase和Spark构建企业级数据处理平台(沐远)

基于HBase和Spark构建企业级数据处理平台的挑战,平台架构及案例,原理和最佳实践,以及HBase X-pack服务。
展开查看详情

1. 基于HBase和Spark构建企业级 数据处理平台 阿里云数据库 李伟(沐远) 2019.03 中国 HBase 技术社区网站:http://hbase.group

2. 目录 / Contents 01 当前面临的挑战 02 平台架构及案例 03 原理及最佳实践 04 HBase X-Pack服务 中国 HBase 技术社区网站:http://hbase.group

3. 01 当前面临的挑战 中国 HBase 技术社区网站:http://hbase.group

4. 1 众多场景需求 金融风控 个性化推荐 社交Feeds 时空时序 大数据 •  用户画像库 •  监控数据 •  用户行为分析 •  维表和结果表 •  爬虫抓取信息 •  海量帖子、文章 •  轨迹、设备数据 •  用户画像 •  离线分析 •  反欺诈系统 •  聊天、评论 •  地理信息 •  推荐引擎 •  海量实时数据存储 •  订单数据 •  海量实时数据处理 •  区域分布统计 •  海量实时数据处理 •  区域查询 中国 HBase 技术社区网站:http://hbase.group

5. 2 HBase的新挑战 Apache HBase(在线查询) 新挑战 •  松散表结构(Schema free) •  流式及批量入库 •  随机查询、范围查询; •  复杂分析 •  原生海量数据分布式存储; •  机器学习、图计算 •  高吞吐、低延迟; •  生态及联邦分析 •  在线分布式数据库; •  多版本、增量导入、多维删除 中国 HBase 技术社区网站:http://hbase.group

6. 3 Why Spark l  快:通过query的执行优化、Cache等技术,Spark能够对任意数据量的数据进行快速分析。逻辑回归场景比Hadoop快100倍; l  一站式:Spark同时支持复杂SQL分析、流式处理、机器学习、图计算等模型,且一个应用中可组合上面多个模型解决场景问题; l  开发者友好:同时友好支持SQL、Python、Scala、Java、R多种开发者语言; l  优秀的生态:支持与Ka=a、HBase、Cassandra、MongoDB、Redis、MYSQL、SQL Server等配合使用。 中国 HBase 技术社区网站:http://hbase.group

7. 4 Why Spark 丰富的开发者基础 eBay 将60PB的MPP DBMS迁移至Spark的经验: hFp://www.10Kao.com/html/198/201902/2653123391/1.html SQL Server 2019 preview combines SQL Server and Apache Spark to create a unified data plaUorm: hFps://cloudblogs.microsoV.com/sqlserver/2018/09/24/sql-server-2019-preview-combines-sql-server-and-apache-spark-to-create-a- unified-data-plaUorm/ 中国 HBase 技术社区网站:http://hbase.group

8. 02 平台架构及案例 中国 HBase 技术社区网站:http://hbase.group

9. 1 一站式数据处理平台架构 HBase+Spark可解 决大数据90%场景 •  数据入库:借助于Spark Streaming,能够做流式ETL以及增量入库到HBase/Phoenix。 •  在线查询:HBase/Phoenix能够对外提供高并发的在线查询 •  离线分析及算法:如果HBase/Phoenix的数据需要做复杂分析及算法分析,可以使用Spark的SQL、机器学习、图计算等 中国 HBase 技术社区网站:http://hbase.group

10. 2 典型业务场景:爬虫+搜索引擎 价值: •  性能:流吞吐 20万条/秒 •  查询能力:HBase自动同步到solr对外提供全文检索的查询 •  一站式解决方案:Spark服务原生支持通过SQL读取HBase 数据能力进行ETL,Spark + HBase +Solr一站式数据处理平台 中国 HBase 技术社区网站:http://hbase.group

11. 3 典型业务场景:大数据风控系统 价值: •  Spark同时支持事中及事后风控 •  Spark友好对接HBase、RDS、MongoDB多种在线库 中国 HBase 技术社区网站:http://hbase.group

12. 4 典型业务场景:构建数据仓库(推荐、风控) 价值: •  毫秒级识别拦截代充订单,并发十万量级 •  Spark优秀的计算能力:Spark基于列式存储Parquet的分 析在数据量大的情况下比Greenplum集群有10倍的性能 提升 •  一站式解决方案:Spark服务原生支持通过SQL读取 HBase SQL(Phoenix)数据能力 •  聚焦业务:全托管的Spark服务保证了作业运行的稳定 性,释放运维人力,同时数据工作台降低了spark作业 管理成本 中国 HBase 技术社区网站:http://hbase.group

13. 03 原理及最佳实践 中国 HBase 技术社区网站:http://hbase.group

14. 1 Spark API发展 RDD > DataFrames > DataSets 中国 HBase 技术社区网站:http://hbase.group

15. 2 Spark API发展 DataFrames Optimization Datasets Optimization 中国 HBase 技术社区网站:http://hbase.group

16. 3 Spark API发展 中国 HBase 技术社区网站:http://hbase.group

17. 4 Spark流式处理(DStream) Spark Streaming(Dstream) Micro-Batch 中国 HBase 技术社区网站:http://hbase.group

18. 5 Spark流式处理入库HBase(Dstream优化策略) 作业堆积、延迟高、并发不够? •  每批次的并发:调大kafka的订阅的分区、 spark.streaming.blockInterval •  代码热点优化:查看堆栈、broadcast、代码优化 Gson,FastJson,Jackson,Json-lib 中国 HBase 技术社区网站:http://hbase.group

19. 6 Spark流式处理入库HBase(Dstream优化策略) •  BroadCast处理时间消耗大的对象 中国 HBase 技术社区网站:http://hbase.group

20. 7 Spark流式处理入库HBase(Structured Streaming) payments \ .filter("isPaymentFlagged(paymentId)") \ .writeStream \ {...} .trigger(processingTime = "0 seconds") \ .start() Micro-Batch Processing:100ms延迟 ConKnuous Processing:1ms延迟 hFps://databricks.com/blog/2018/03/20/low-latency-conKnuous-processing-mode-in- structured-streaming-in-apache-spark-2-3-0.html 中国 HBase 技术社区网站:http://hbase.group

21. 8 Spark复杂分析HBase(执行架构图) 中国 HBase 技术社区网站:http://hbase.group

22. 9 Spark复杂分析HBase Spark HBase Connector:分区裁剪、列裁剪、谓词下推 中国 HBase 技术社区网站:http://hbase.group

23. 0 Spark复杂分析样例及优化 select * from spark_hbase_test6 where col0>'row1'; 中国 HBase 技术社区网站:http://hbase.group

24. 0 代码及文档 hFps://github.com/aliyun/aliyun-apsaradb-hbase-demo hFps://help.aliyun.com/document_detail/93899.html 中国 HBase 技术社区网站:http://hbase.group

25. 04 HBase X-Pack服务 中国 HBase 技术社区网站:http://hbase.group

26. 1 Spark服务 特性 开源Spark Spark服务 页面一键关联阿里云HBase、MongoDB、RDS等数据库实例 X √ 产品能力(多数据 集群内置HBase、HBase SQL(Phoenix)、MongoDB等SQL连接器。支持多数据源联邦分析 X √ 源) 支持一条SQL将HBase、HBase SQL(Phoenix)、MongoDB等数据同步到parquet列存归档 X √ 资源管理功能支持通过页面管理jar包等资源文件 X √ 作业管理功能支持提交作业、实时更新状态、展示Spark UI等 X √ 产品能力(数据工 工作流管理功能支持页面拖拽生成工作流构建作业依赖、以及周期调度 X √ 作台) 报警功能支持作业、工作流运行失败的报警 X √ 支持交互式查询 X √ 报警功能支持作业、工作流运行失败的报警 X √ 服务组件的高可用 X √ 可靠性 服务提供SLA保障 X √ 自动部署、免运维 X √ 可维护性 支持小版本升级 X √ 集群状态、作业状态监控报警、流处理作业支持延迟吞吐的监控报警 X √ 内置SQL连接器做了列裁剪、分区裁剪、谓词下推等优化 X √ 性能及成本 数据支持存储到冷存储oss上降低成本 X √ 支持通过command line 管理jar等资源文件 X √ 生态集成 中国 HBase 技术社区网站:http://hbase.group 提供ResUul API管理作业 X √

27. 2 Spark服务(多数据源关联) 多数据源关联:hbase、phoenix、mongodb、rds 中国 HBase 技术社区网站:http://hbase.group

28. 3 Spark服务(数据工作台) 数据工作台 中国 HBase 技术社区网站:http://hbase.group

29. 3 Spark服务(数据工作台) 作业管理、工作流 中国 HBase 技术社区网站:http://hbase.group

为了让众多HBase相关从业人员及爱好者有一个自由交流HBase相关技术的社区,阿里巴巴、小米、华为、网易、京东、滴滴、知乎等公司的HBase技术研究人员共同发起了组建中国HBase技术社区。