HBase在贝壳找房的应用实践分享,介绍了HBase的基础知识和原理,重点介绍了在贝壳找房的实际业务应用场景中表设计原理和思想,涉及到用Kylin等上层工具解决具体问题,特别性能调优方面的经验。

注脚

展开查看详情

1. HBase在贝壳找房的实践经验 邓钫元-贝壳大数据 | 2018年7月21日 1 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

2. 关于贝壳: 以技术驱动的品质居住服务平台。 致力于聚合和赋能全行业的优质服务者,打造开放合作的 行业生态。 为消费者提供包括二手房、新房、租赁和装修等全方位的 居住服务。 2 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

3. 关于我 • 13年 浙大 - 软件工程毕业 • 13-14年 百度商业平台部 - 风控平台研发 • 15年至今 贝壳找房(原链家网) - 大数据集群及基础引擎建设 • 专注于hadoop,hbase,kylin等生态组件,热爱开源,为社区贡献多个patch • 丰富的性能调优经验 3 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

4. 目录 • HBase简介 • HBase在贝壳的使用 • HBase优化经验 • Q&A 4 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

5. HBase是什么 • Google Bigtable系统的开源实现 • 分布式的,可扩展的,一致性的,有序的半结构化数据存储系统(KV映射表) • 利用HDFS作为持久化介质,保证数据可靠性(WAL,多副本) • 利用Zookeeper作为协同服务(服务发现,状态维持) 5 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

6. 数据模型 • 表 • 行键 • 列簇 • 列 • 版本(时间戳) • 多维映射表: - (表, 行键, 列簇, 列, 版本) → 值 6 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

7. 逻辑架构 7 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

8. 系统架构 8 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

9. 目录 • HBase简介 • HBase在贝壳的使用 • HBase优化经验 • Q&A 9 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

10. 支持的业务 • 房客源轨迹 • 指标平台(多维分析引擎Kylin) • 用户画像 • 日志统计等其他分析 10 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

11. 房客源轨迹 11 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

12. 房客源轨迹-Hbase表设计 Houseid的MD5+House_pkid + ctime+ optype String 用下划线分隔 House_pkid String 房 源编码 Ctime String 记 录时间 Op_type Int 操 作类型 1.委 托 2.调 价 3.成 交 4.无 效 5.带 看 6.PC浏览 7.app 浏览 Op_value Double 操 作结果(挂牌价格,调价价格,成交价格,带看次数, 浏览次数) Op_comment String 操 作备注(例如, 周 末, 平 时) 12 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

13. 指标平台-创建报表 13 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

14. 指标平台-数据展示 14 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

15. 指标平台-上卷 15 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

16. 指标平台-下钻 16 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

17. 指标平台(快速可视化)引擎选型 较高的并 发 百亿数据 亚秒级响 集 离线为主 MOLAP 应 (Kylin) 具有一定 最好有sql 灵活性 接口 17 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

18. Kylin简介 Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查 询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开 发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。 MOLAP解决方案 预先定义维度和指标 预计算cube,存储到HBase中 查询时解析sql路由到HBase中获取结果 18 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

19. Kylin架构 19 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

20. Cube和Cuboid 20 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

21. Kylin on HBase存储模型 Rowkey= Cuboid+ 各维度编码值 Cuboid:00000011 Cuboid:00000010 Cuboid:00000001 Cuboid:00000000 21 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

22. 贝壳olap平台架构 降级 Tez mr 22 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

23. 自研Kylin中间件 • 无限容量队列 • 针对特定cube的优先调度 • 权限的管控 • 重试任务执行 • 实现任务的并发控制 23 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

24. Kylin中间件-cube管理 • 简化配置,提升管理效率 • 优化前端页面 • 对接贝壳权限体系 24 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

25. 贝壳Kylin的使用统计 • 定位:离线OLAP引擎 • 800+ cube,覆盖公司16个业务线 • Cube存储总量200T+, 数据行数1600+亿行,单cube最大60+亿行 • 日查询量100万+,时延<500ms(95%), <1s(99%) • 依赖快速稳定的hbase 25 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

26. Kylin定制改造 • 移植2.x分布式构建,并优化任务分配逻辑 • 下载字典逻辑(2.x已修复) • 全局字典锁bug(提交社区: KYLIN-3087 ) • 元数据同步并发优化(提交社区: KYLIN-2862 ) • 非分区列segement裁剪 • 强制维表关联,查询成本统计… 26 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

27. 目录 • HBase简介 • HBase在贝壳的使用 • HBase优化经验 • Q&A 27 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

28. HBase优化链路 Kylin/各类应用 HBase HDFS JVM/OS 28 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

29. Profile利器-火焰图-介绍 一定时间内采样堆栈调用生成 函数宽度表示cpu时间占比 垂直方向表示函数调用栈 29 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED

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

相关文档