前言
我们考虑为什么要将hive与hbase结合,出于hbase有唯一主键的缘故可以将其作为存储,顺手能帮我们完成海量数据“去重”的etl处理,而hive能作为我们统计计算。两者结合简直就是双剑合臂~~,但效果怎么样呢?
目的
基于多种hiveSQL去重方式失败后,考虑过使用mysql做近期数据去重的方式,然而不能满足全量去重的业务需求,所以考虑使用hbase的唯一主键来达到全量“去重”的效果。
测试环境
hadoop-1.0.3
hive-0.9.0
hbase-0.94.2
zookeeper-3.3.5
1namenode,5datanode
sqoop
测试指标
1.mysql->hbase sqoop执行命令执行效率
2.hiveSQL查询统计hive&hbase表执行效率
3.hive&hbase表copy数据成hive表效率
4.hbase稳定性
测试结果
1.mysql->hbase sqoop执行命令执行效率
mysql数据条数:93559
cpu耗时:26.280s
执行耗时:91.0148s
小结:sqoop将mysql记录转化成hbase PUT对象,批量入库至hbase,效率很高,能满足要求。
2.hiveSQL查询统计hive&hbase表执行效率
数据量:1616374
sql:select count(*) from t1;
case | cpu cost | 执行cost |
hive&hbase | 10 minutes 45 seconds | 728.647 seconds |
hive | 25 seconds | 64.815 seconds |
小结:统计效率很慢,远不能满足需求。
3.hive&hbase表copy数据成hive表效率
数据量:1616374
sql:insert into table t1 select * from t2;
case | cpu cost | 执行cost |
hive&hbase->hive | 12 minutes 13 seconds | 1113.729 seconds |
hive->hive | 1 minutes 7 seconds | 84.3 seconds |
小结:hiveSQL copy hive&hbase表数据,其实也是mapreduce程序,需要查询hbase表,而hbase的查询效率低,直接导致mapreduce耗时长。
4.hbase稳定性
在运行过程当中,没有遇到hbase死节点的情况。
针对hive结合hbase的情形,出现过hive创建的hbase表不能删除的情况,hive表数据导入hive&hbase表执行过程中假死的现象(在执行hive scan,很慢导致)。
总结
hive&hbase表的统计计算是基于hbase,效果相当不理想,没有达到“双剑合臂”的效果,后续调整hbase参数后继续测试,见下篇。
参考文献
http://search-hadoop.com/m/xAweX1bqjoB1&subj=Re+Hbase+Hive+integration+performance+issues
http://www.cnblogs.com/imac/archive/2012/11/04/2753301.html
分享到:
相关推荐
由于HIVE和HBASE的特点不同,导致它们在处理数据时存在一定的差异,但通过整合HIVE和HBASE,可以发挥它们各自的优势,实现更好的数据处理和存储。 在HIVE中创建HBASE的外表,是实现HIVE和HBASE整合的关键步骤。外表...
将Hive与HBase整合,可以实现离线分析与实时查询的结合,提升数据分析效率。 **1. 配置整合** 为了使Hive能够与HBase交互,我们需要在Hive的配置文件`hive-site.xml`中添加相关的JAR路径,以便Hive能够识别HBase的...
被编译的hive-hbase-handler-1.2.1.jar,用于在Hive中创建关联HBase表的jar,解决创建Hive关联HBase时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop....
Scala、Hive与HBase是大数据处理领域中的关键组件,它们在Java开发环境中扮演着重要角色。本压缩包"scala-hive-HBASE-Api.7z"包含了2019年8月至10月间用于工作的相关jar包,主要用于支持Scala、Hive和HBase的集成...
在大数据处理领域,Hive和HBase都是广泛使用的工具,各有其特定的优势。Hive作为一个基于Hadoop的数据仓库工具,适合于数据批处理和分析,而HBase则是一款分布式、高性能的NoSQL数据库,适用于实时数据查询。本文将...
hive和hbase整合的时候,如果出现不兼容的情况需要手动编译:hive-hbase-hander-1.2.2.jar把这个jar替换掉hive/lib里的那个jar包
例如,为了提高数据导入速度,可以考虑使用多线程并行处理数据;为了保证数据一致性,可能需要实现事务或补偿机制。 在项目`hive-bulkload-hbase-master`中,你将找到一个示例项目,它演示了上述步骤的实现。这个...
标题 "Hive整合HBase资源文件...在大数据处理中,Hive与HBase的集成是常见的实践,它能提供一种强大的数据处理和分析解决方案。通过学习和理解这种集成方式,开发者和数据工程师能够更好地管理和利用大规模的数据资源。
Hive、Hbase和MySQL是三种不同类型的数据库系统,它们各自在数据处理和存储方面有着独特的特性和应用场景。 1. Hive与Hbase的区别: - Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL-like语言(HQL)对...
在数据处理过程中,经常需要将数据从 Hive 导入到 HBase 中。本文将详细介绍 Hive 数据导入 HBase 的方法。 一、Hive 关联 HBase 表方式 这种方法适用于数据量不大的情况(小于 4TB),通过 Hive 创建一个关联 ...
本文档详细记录了一次从自建Hadoop集群到华为云MRS(Managed Service for Big Data)的大规模数据迁移项目,涉及到了Hive、Kudu和HBase这三种不同类型的数据存储系统。以下是针对这些系统的迁移策略、流程和解决方案...
hive0.8.1和hbase0.92.0集成的hive-hbase-handler.Jar包,里面包含:hbase-0.92.0.jar、hbase-0.92.0-tests.jar、hive-hbase-handler-0.9.0-SNAPSHOT.jar。经测试没有问题。
例如,可以利用 Hive 对数据进行预处理,然后将处理好的数据存储到 HBase 中,以便于快速查询和分析。本文将详细介绍如何在 Hadoop 环境下实现 Hive 与 HBase 的整合,重点介绍如何通过 Hive 批量导入数据到 HBase。...
【标题】:“hadoop,hive,hbase学习资料”是一份综合性的学习资源,涵盖了大数据处理领域中的三个核心组件——Hadoop、Hive和Hbase。这些工具在大数据处理和分析中发挥着至关重要的作用。 【描述】:描述指出这份...
hive和hbase的整合所需要的编译后的jar包。 注意:这里的hbase版本为:1.2.1 hive的版本为:1.2.1
该文档保护了目前比较流行的大数据平台的原理过程梳理。Hadoop,Hive,Hbase,Spark,MapReduce,Storm
hive0.10.0和hbase0.94.4集成的hive-hbase-handler.Jar包,经测试没有问题。
【描述】:本压缩包包含Apache Hive 1.2.2和HBase 1.2.6的安装包,旨在介绍如何在大数据处理环境中将这两个组件结合使用,实现高效的数据存储和查询。 【标签】:Hive、HBase、大数据、数据仓库、NoSQL数据库、集成...