- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
hbase实战研讨
Hbase操作实战
Hbase 特点
支撑高并发的读写访问。
数据基于hdfs存放,副本机制可以保证数据可靠
分布式regionserver-region模型,在横向扩展的基础上可以支撑很大的业务表的操作
读写相应速度快
分布式设计策略允许硬件故障
Hbase 关系数据库区别
hbase数据操作只有很简单插入,查询,删除,修改,清空等操作,不能实现表与表关联操作。
hbase基于列式存储,每个列族都有几个文件保存,不同列族的文件是分离的。而关系型数据库基于表格设计和行模式保存。
hbase修改和删除数据是实现上插入带有特殊标记的新记录,而关系型数据库是数据内容的替换和修改读写相应速度快
Hbase分布式,关系型数据库只能用其他方式实现
Hbase支持并发量比关系型数据库大的多,相应时间也比较快
Hbase 使用场景
数据量特别大的表。
读写量比较高。
数据要求比较高
Hbase 方式区别-api
Api是hbase最常用的使用方式,通过java api操作hbase 提供线上业务数据查询数据写入等操作,是当前业务系统最常用的访问方式
Hbase 方式区别-hbase shell
Hbase shell提供了常用的 管理员命令 ,来满足用户手动创建表删除表,浏览数据 测试写入数据等操作,一般用作集群管理
Hbase 方式区别-MapReducer支持
通过map reducer对hbase的数据写入和导出
1.Api写入导出
2.生成hfile文件加载进去(好处:不用把负载加到regionserver)速度比较快,单纯的mr写入
TableInputFormat对hbase 全表或者部分数据的导出(速度秒杀get )
Hbase 方式区别-phoenix
Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集---后边会单独介绍phoenix
Sql方式访问 使用方便
Phoenix scan做了很多分桶多路scan的优化 性能比原生的scan块很多
使用了索引支持sum count group等操作
Hbase Shell介绍
hbase提供了一个shell的终端给用户交互。通过执行 help get 可以看到命令的帮助信息。
使用方式/bin/hbase shell 配置好path之后可以直接使用 hbase shell 命令来使用hbase shell 交互
Hbase Shell常用操作
Table操作 create ,disable,enable ,drop,list ,describe,exists等
数据操作put,get ,scan,delete?等
其他命令:count(获取表行数),balancer命令 负载均衡,split region分离等
注意:不要使用shell scan会对集群造成压力,浏览数据可以加上{ LIMIT = 10}
Hbase Api -htable
代码:
HTable htable = new HTable(new Configuration(), test_t1);
线程不安全
创建连接需要花费很多时间
实现原理与技术瓶颈解决
自定义代理实现hbase连接池高性能高并发hbase访问
超时参数对于线上业务的优化
hbase.rpc.timeout:rpc的超时时间,默认60s,不建议修改,避免影响正常的业务
ipc.socket.timeout:socket建立链接的超时时间,应该小于或者等于rpc的超时时间,默认为20s
3. hbase.client.retries.number:重试次数,默认为14,可配置为3
4. hbase.client.pause:重试的休眠时间,默认为1s,可减少优化,比如100ms5.使用异步处理(查询异步提高查询速度,task get自动超时策略)
Hbase Api –Get
代码:
HTable htable = new HTable(new Configuration(), test_t1);
Get get = new Get(aaa.getBytes());
Result res = htable.get(get);
线上最靠谱的查询方式
Blockcache设置优化get查询
分布式(rowkey分布-hash,逆序)对查询的影响
多线程get的用法
获取列对数据查询速度的影响
Hbase Api –Scan
代码:
Scan scan = new Scan(Bytes.toBytes(startTime), Bytes.toBytes(endTime));
scan.addFamily(Bytes.toBytes(v));
ResultScanner scanner
您可能关注的文档
最近下载
- 2025年清洁服务项目投资风险评估报告.docx
- 智慧园区规划、建设与管理通用规范.docx VIP
- 2023年安徽省高考数学试卷真题(含答案逐题解析).pdf
- 建筑工地基孔肯雅热防控和应急方案.docx VIP
- (81页PPT)高处作业安全培训.pptx VIP
- GB 45673- 2025《危险化学品企业安全生产标准化通用规范》之“5.7 操作安全”审核检查单(2025A0).docx VIP
- GB 45673- 2025《危险化学品企业安全生产标准化通用规范》之“5.8 作业安全”审核检查单(2025A0).docx VIP
- 高处作业安全培训(83页).ppt VIP
- 传染病疫情应急预案.doc VIP
- 压水堆核电厂一回路系统与设备简介.ppt VIP
文档评论(0)