没有合适的资源?快使用搜索试试~ 我知道了~
HBase是建立在Hadoop生态之上的Database,源生对离线任务支持友好,又因为LSM树是一个优秀的高吞吐数据库结构,所以同时也对接了很多线上业务。在线业务对访问延迟敏感,并且访问趋向于随机,如订单、客服轨迹查询。离线业务通常是数仓的定时大批量处理任务,对一段时间内的数据进行处理并产出结果,对任务完成的时间要求不是非常敏感,并且处理逻辑复杂,如天级别报表、安全和用户行为分析、模型训练等。HBase提供了多语言解决方案,并且由于滴滴各业务线RD所使用的开发语言各有偏好,所以多语言支持对于HBase在滴滴内部的发展是至关重要的一部分。我们对用户提供了多种语言的访问方式:HBaseJavan
资源推荐
资源详情
资源评论
HBase在滴滴出行的应用场景和最佳实践在滴滴出行的应用场景和最佳实践
背景
对接业务类型
HBase是建立在Hadoop生态之上的Database,源生对离线任务支持友好,又因为LSM树是一个优秀的高吞吐数据库结构,所
以同时也对接了很多线上业务。在线业务对访问延迟敏感,并且访问趋向于随机,如订单、客服轨迹查询。离线业务通常是数
仓的定时大批量处理任务,对一段时间内的数据进行处理并产出结果,对任务完成的时间要求不是非常敏感,并且处理逻辑复
杂,如天级别报表、安全和用户行为分析、模型训练等。
多语言支持
HBase提供了多语言解决方案,并且由于滴滴各业务线RD所使用的开发语言各有偏好,所以多语言支持对于HBase在滴滴内
部的发展是至关重要的一部分。我们对用户提供了多种语言的访问方式:HBase Java native API、Thrift Server(主要应用于
C++、PHP、Python)、JAVA JDBC(Phoenix JDBC)、Phoenix QueryServer(Phoenix对外提供的多语言解决方案)、
MapReduce Job(Htable/Hfile Input)、Spark Job、Streaming等。
数据类型
HBase在滴滴主要存放了以下四种数据类型:
统计结果、报表类数据:主要是运营、运力情况、收入等结果,通常需要配合Phoenix进行SQL查询。数据量较小,对查询的
灵活性要求高,延迟要求一般。
原始事实类数据:如订单、司机乘客的GPS轨迹、日志等,主要用作在线和离线的数据供给。数据量大,对一致性和可用性
要求高,延迟敏感,实时写入,单点或批量查询。
中间结果数据:指模型训练所需要的数据等。数据量大,可用性和一致性要求一般,对批量查询时的吞吐量要求高。
线上系统的备份数据:用户把原始数据存在了其他关系数据库或文件服务,把HBase作为一个异地容灾的方案。
使用场景介绍
场景一:订单事件
这份数据使用过滴滴产品的用户应该都接触过,就是App上的历史订单。近期订单的查询会落在Redis,超过一定时间范围,
或者当Redis不可用时,查询会落在HBase上。业务方的需求如下:
1.在线查询订单生命周期的各个状态,包括status、event_type、order_detail等信息。主要的查询来自于客服系统。
2.在线历史订单详情查询。上层会有Redis来存储近期的订单,当Redis不可用或者查询范围超出Redis,查询会直接落到
HBase。
3.离线对订单的状态进行分析。
4.写入满足每秒10K的事件,读取满足每秒1K的事件,数据要求在5s内可用。
图1 订单流数据流程
按照这些要求,我们对Rowkey做出了下面的设计,都是很典型的scan场景。
订单状态表
Rowkey:reverse(order_id) + (MAX_LONG - TS)
Columns:该订单各种状态
订单历史表
Rowkey:reverse(passenger_id | driver_id) + (MAX_LONG - TS)
Columns:用户在时间范围内的订单及其他信息
场景二:司机乘客轨迹
这也是一份滴滴用户关系密切的数据,线上用户、滴滴的各个业务线和分析人员都会使用。举几个使用场景上的例子:用户查
看历史订单时,地图上显示所经过的路线;发生司乘纠纷,客服调用订单轨迹复现场景;地图部门用户分析道路拥堵情况。
剩余6页未读,继续阅读
资源评论
weixin_38697579
- 粉丝: 4
- 资源: 928
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java毕业设计-基于SSM框架的传统服饰文化体验平台【代码+部署教程】
- 优化领域的模拟退火算法详解与实战
- NewFileTime-x64.zip.fgpg
- 基于Python和HTML的Chinese-estate-helper房地产爬虫及可视化设计源码
- 基于SpringBoot2.7.7的当当书城Java后端设计源码
- 基于Python和Go语言的开发工具集成与验证设计源码
- 基于Python与JavaScript的国内供应商管理系统设计源码
- aspose.words-20.12-jdk17
- 基于czsc库的Python时间序列分析设计源码
- 基于Java、CSS、JavaScript、HTML的跨语言智联平台设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功