接上一篇,对hbase参数进行优化,主要是调整与查询效率相关的参数
count
select count(1) from hbase_table;
部分字段切表
insert overwrite table hive_table select a,b,c,d from hbase_table;
全字段切表
insert into table test_table partition(part='aa') select * from hbase_table;
hive至hive切表
create table test_table2 like test_table;
insert into table test_table2 partition(part) select * from test_table;
优化修改参数
<property>
<name>hbase.regionserver.handler.count</name>
<value>100</value>
<description>Count of RPC Listener instances spun up on RegionServers.
Same property is used by the Master for count of master handlers.
Default is 10.
</description>
</property>
<property>
<name>hfile.block.cache.size</name>
<value>0.4</value>
<description>
Percentage of maximum heap (-Xmx setting) to allocate to block cache
used by HFile/StoreFile. Default of 0.25 means allocate 25%.
Set to 0 to disable but it's not recommended.
</description>
</property>
<property>
<name>hbase.client.scanner.caching</name>
<value>1000</value>
<description>Number of rows that will be fetched when calling next
on a scanner if it is not served from (local, client) memory. Higher
caching values will enable faster scanners but will eat up more memory
and some calls of next may take longer and longer times when the cache is empty.
Do not set this value such that the time between invocations is greater
than the scanner timeout; i.e. hbase.regionserver.lease.period
</description>
</property>
切表
优化前后 | 字段全量与否 | case | 数据量 | cpu cost(minutes,seconds) | 执行cost(seconds) |
前 | 部分 | hbase->hive | 1616374 | 10 , 18 | 359.162 |
后 | 部分 | hbase->hive | 1616374 | 3 , 24 | 281.975 |
后 | 部分 | hbase->hive | 1616374 | 2 , 38 | 232.391 |
后 | 部分 | hbase->hive | 2608626 | 4 , 39 | 263.206 |
后 | 全量 | hbase->hive | 2608626 | 7 , 53 | 820.914 |
后 | 部分 | hbase->hive | 12230528 | 13 , 22 | 765.262 |
后 | 全量 | hbase->hive | 12230528 | 22 , 59 | 1305.236 |
后 | 全量 | hive->hive | 12230528 | 10 , 41 | 580.522 |
count
优化前后 | 表类型 | 数据量 | cpu cost(minutes,seconds) | 执行cost(seconds) |
优化前 | hbase | 1616374 | 10 , 45 | 728.647 |
| hive | 1616374 | 0 , 25 | 64.815 |
优化后 | hbase | 1616374 | 4 , 9 | 609.28 |
优化后 | hbase | 12230528 | 13 , 10 | 907.44 |
| hive | 12230528 | 3 , 18 | 422.138 |
总结
hive&hbase表的统计计算性能远低于hive表的统计计算,相差3倍乃至以上。
hbase参数优化前后有查询统计效率成倍提升,但与hive表相比也存在差距。
hive&hbase表切成hive表部分字段由于全量字段。
...
综上,hive的hbase存储结构不善于统计计算;hive表的hbase存储结构切换成hive普通的存储结构,随着数据量增加,性能也令人堪忧(如上测试也可以看到,即使是hive与hive表的切表数据量大也是很耗时的)。hbase方案具体是选择居于hive&hbase表统计计算,还是选择hive&hbase表切换成hive表后统计计算,需要权衡,或者是否有其他更好hive与hbase关联方案,需要继续研究。
分析:随着数据量越来越大,每天都进行hbase—>hive的切表,这是不切合实际的选择,但终究我们需要将hbase表转化成hive表,或许我们可以选择数据“冷热”、以及部分字段切表来优化。
备注:测试还不全面,待完善,特别是hive&hbase复杂sql的统计计算。
分享到:
相关推荐
Hadoop生态系统包括HDFS(分布式文件系统)、Hive(数据仓库工具)、HBase(分布式数据库)等,NoSQL数据库如MongoDB和Cassandra提供了非关系型数据存储的解决方案。此外,还有Spark、Flink、Storm等计算引擎以及...
基于Qt开发的截图工具.zip 截图工具(QScreenShot) Qt编写的一款截图工具。 特点 - 支持全屏截图 - 支持自定义截图 - 支持捕获窗口截图 - 支持固定大小窗口截图 - 颜色拾取 - 图片编辑 - 图片上传到wordpress 环境 Qt6.2 QtCreate 8
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
基于ASP.NET技术的班级展示网站构建资源,是一套针对教育机构或学生团体,旨在通过ASP.NET框架开发班级风采展示平台的指导资料或教程。此资源详细介绍了如何利用ASP.NET的强大功能,快速搭建一个功能完善、界面友好的在线班级展示平台。 该资源涵盖了从需求分析、数据库设计、前端页面制作到后端逻辑实现的全过程。通过实例演示,指导用户如何设置班级信息、学生风采展示、活动公告、图片上传与浏览等核心功能模块。同时,结合ASP.NET的MVC架构,实现了前后端分离,提高了代码的可维护性和可扩展性。 此外,该资源还提供了丰富的代码示例和注释,帮助开发者深入理解ASP.NET框架的工作原理,掌握如何运用其强大的数据库操作、用户认证与授权等特性。对于初学者来说,这是一份难得的入门教程;而对于有一定经验的开发者,则是一份提升技能的参考资料。 总之,基于ASP.NET技术的班级展示网站构建资源,是教育机构和学生团体实现班级风采在线展示的理想选择,也是开发者学习ASP.NET框架应用的宝贵资源。
基于springboot的流浪动物管理系统源码数据库文档.zip
基于springboot+vue的实践性教学系统源码数据库文档.zip
基于Python+Django家居全屋定制系统源码数据库文档.zip
Umi-OCR-main.zip
基于springboot复兴村医疗管理系统源码数据库文档.zip
基于springboot二手物品交易系统源码数据库文档.zip
2024年西安外事学院数学建模校赛题目.zip
基于springboot医疗废物管理系统源码数据库文档.zip
GEE训练教程
内容概要:本文详细介绍了Spring Boot的设计和应用,涵盖了从基本概念到高级用法的全方位教学。首先通过环境搭建、首个项目创建、核心概念解析等步骤帮助读者快速上手。接着阐述了Spring Boot的设计原则与最佳实践,强调代码整洁和系统可维护性。最后,提供了两个实战案例:构建简单的RESTful API和电商网站后台管理系统,涉及项目结构、依赖配置、数据库设计、实体类与控制器的创建等内容,指导读者进行真实项目的开发。 适合人群:适合初学者到中级开发者的Java开发人员,尤其是对企业级应用开发感兴趣的人士。 使用场景及目标:①帮助开发者全面掌握Spring Boot的基本用法及其设计理念;②提供实用的实战案例和资源,使读者能够在实际项目中熟练应用Spring Boot技术。 阅读建议:跟随文章提供的步骤逐步操作,并结合实际开发需求灵活运用所学知识。建议多动手练习,加强对Spring Boot的理解和掌握。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
内容概要:本文详细介绍了一个课程考试系统的设计与开发过程,涵盖语言教程、实战案例和项目资源。主要内容包括:选择Java作为开发语言,详细讲解Java基础语法和Web开发基础;实战案例包括用户管理、课程管理和考试管理模块的实现;提供了项目结构、数据库设计和依赖管理的详细示例。 适合人群:适用于初学者和有一定经验的开发者,希望通过实际项目掌握课程考试系统的设计与开发。 使用场景及目标:帮助学习者全面提升从理论到实践的能力,最终能够独立完成一个完整的课程考试系统。无论是学习编程基础还是进阶实战,本文都提供了全面的指导。 其他说明:项目涉及多个关键技术和知识点,如Servlet、JSP、JDBC、MVC模式等,有助于深入理解和应用这些技术。此外,还包括项目部署和运行的具体步骤,方便学习者快速搭建和测试系统。
《伯牙鼓琴》教学课件.pptx
基于springboot面向社区的智能化健康管理系统研究源码数据库文档.zip
基于springboot+javaweb宿舍管理系统源码数据库文档.zip
基于SpringBoot的遥感影像共享系统源码数据库文档.zip