知识点
相关文章
更多最近更新
更多Hadoop Hive与Hbase整合
2019-03-28 14:00|来源: 网络
一 、简介
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类, 大致意思如图所示:
二、安装步骤:
1 .Hadoop和Hbase都已经成功安装了
Hadoop集群配置:http://www.linuxidc.com/Linux/2012-02/53632.htm
Hbase安装配置:http://www.linuxidc.com/Linux/2012-02/54225.htm
2 . 拷贝hbase-0.90.4.jar和zookeeper-3.3.2.jar到hive/lib下。
注意:如何hive/lib下已经存在这两个文件的其他版本(例如zookeeper-3.3.2.jar),建议删除后使用hbase下的相关版本。
2. 修改hive/conf下hive-site.xml文件,在底部添加如下内容:
- <!--
- <property>
- <name>hive.exec.scratchdir</name>
- <value>/usr/local/hive/tmp</value>
- </property>
- -->
- <property>
- <name>hive.querylog.location</name>
- <value>/usr/local/hive/logs</value>
- </property>
- <property>
- <name>hive.aux.jars.path</name>
- <value>file:///usr/local/hive/lib/hive-hbase-handler-0.8.0.jar,file:///usr/local/hive/lib/hbase-0.90.4.jar,file:///usr/local/hive/lib/zookeeper-3.3.2.jar</value>
- </property>
注意:如果hive-site.xml不存在则自行创建,或者把hive-default.xml.template文件改名后使用。
3. 拷贝hbase-0.90.4.jar到所有hadoop节点(包括master)的hadoop/lib下。
4. 拷贝hbase/conf下的hbase-site.xml文件到所有hadoop节点(包括master)的hadoop/conf下。
注意,如果3,4两步跳过的话,运行hive时很可能出现如下错误:
- [html] view plaincopy
- org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately.
- This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and
- then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information. at org.apache.hadoop.
- hbase.zookeeper.ZooKeeperWatcher.
相关问答
更多-
hive 和 hbase 该如何整合[2023-04-25]
可以使用hive_hbase-handler.jar 工具类进行整合整合的原因如下:优点:1.Hive方便地提供了Hive QL的接口来简化MapReduce的使用,而HBase提供了低延迟的数据库访问。如果两者结合,可以利用MapReduce的优势针对HBase存储的大量内容进行离线的计算和分析。2.操作方便,hive提供了大量系统功能缺点:性能的损失,hive有这样的功能, 他支持通过类似sql语句的语法来操作hbase中的数据, 但是速度慢。详细可以查看hive为什么与hbase整合 -
哪个不是Hadoop 的核心组件 hbase hive zookeeper riak[2022-04-10]
riak 华师大的吧- - 下面来简单介绍各个组件的作用: HDFS(Hadoop distribute file system)——Hadoop生态系统的基础组件Hadoop分布式文件系统。它是其他一些工具的基础HDFS的机制是将大量数据分布到计算机集群上,数据一次写入,但可以多次读取用于分析。HDFS让Hadoop可以最大化利用磁盘。 HBase—— 一个构建在HDFS之上的面向列的NoSql数据库,HBase用于对打量数据进行快速读取/写入。HBase将Zookeeper用于自身的管理,以保证其所有组 ... -
1.jpg 理论上是的,这些需要做一些特殊的处理。他们的安装过程都是差不多的。如果不熟悉,则需要按照官网的配置,这样不容易出问题。他们的之间的对应关系,可以参考hadoop、hbase、hive版本对应关系
-
Hadoop 用Hive还是HBase[2024-03-01]
这个要根据自己处理数据的方式来选择。 1、Hive是支持SQL语句的,执行会调用mapreduce,所以延迟比较高; 2、HBase是面向列的分布式数据库,使用集群环境的内存做处理,效率会比hive要高,但是不支持sql语句。 Hadoop开发和运行处理大规模数据,需要用hbase做数据库,但由于hbase没有类sql查询方式,所以操作和计算数据非常不方便,于是整合hive,让hive支撑在hbase数据库层面的 hql查询,hive也即做数据仓库。 -
Hive与HBase相比如何?(How does Hive compare to HBase?)[2022-01-26]
很难找到关于Hive的许多内容,但是我发现Hive网站上的这个代码片段大大地偏向了HBase(大胆的添加): Hive基于Hadoop,这是一个批量处理系统。 因此,该系统不能也不能承诺对查询的低延迟 。 这里的范例严格是提交作业,并且在作业完成而不是实时查询时被通知。 因此,它不应与像Oracle这样的系统进行比较,其中对数据量很少的数据进行分析,但分析反复进行得更多,迭代次数少于几分钟。 对于Hive查询,甚至最小的工作的响应时间可以是5-10分钟,而对于较大的工作,这甚至可能会在数小时内运行。 由于H ... -
MapReduce只是一个计算框架 。 HBase与此无关。 也就是说,您可以通过编写MapReduce作业来有效地将数据提取到/从HBase中获取。 或者,您可以使用其他HBase API(如Java)编写顺序程序来放置或获取数据。 但是我们使用Hadoop,HBase等来处理大量的数据,所以没有什么意义。 当您的数据太大时,使用正常的顺序程序将非常低效。 回到你问题的第一部分,Hadoop基本上是两件事:一个分布式文件系统(HDFS) +一个计算或处理框架(MapReduce) 。 像所有其他FS一样, ...
-
我很难理解你的问题,所以我的答案非常通用。 您应该首先阅读一些HBase书籍: http://hbase.apache.org/book.html http://www.amazon.es/HBase-Definitive-Guide-Lars-George/dp/1449396100 你已经在Lars的回购中获得了几乎所有需要的JAVA示例: https://github.com/larsgeorge/hbase-book 如果您想使用HIVE,您应该首先阅读: https://cwiki.apache. ...
-
只需插入您的hive表(hbase_trades),因为您已经集成了两者,所以数据将从hbase(交易)表中查询。 希望这可以帮助。 Just insert to your hive table(hbase_trades) ,since you have integrated both, the data will be queriable from hbase (trades) table. Hope this helps.
-
HBase中的数据仅由rowkey“索引”。 如果您在Hive中查询除rowkey前缀之外的任何内容,则通常会执行全表扫描。 可以使用HBase过滤器进行一些优化,例如,当使用FamilyFilter时,您可以跳过整个区域,但我怀疑Hive正在这样做。 如何提高性能取决于数据的形成方式以及需要对其执行的分析。 在执行频繁的临时分析时,可以通过将HBase中的数据导出到HDFS上的Parquet文件以及针对Hive(或Drill或Spark,Imapala等)的分析来运行您的分析,从而提供更好的服务。 Dat ...
-
在Hadoop中使用HBase而不是Hive的目的[重复](Purpose of using HBase in Hadoop instead of Hive [duplicate])[2022-12-19]
当我能够使用Hive执行所有作业时,那么为什么需要HBASE来存储数据。 这不是开销吗? Hive和Hbase哪些功能Hbase HBase是No Sql数据库,它将数据存储在键值对中。 Hive与Hbase整合。 Hbase HIve集成 优点: - Hive查询HBase 。 思考联接和一种简单的方法来对Hbase数据进行聚合和简单操作。 Hbase为您提供可扩展的存储基础架构,使数据保持在线。 StumbleUpon使用Hbase作为他们的实时网站。 Hive不是实时查询引擎,因此其数据存储不能用于类 ...