- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
HBase在贝壳找房的应用实践
展开查看详情
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