hive-0.7.1
hbase-0.90.3
hadoop-0.20.203.0
三个NODE
在有了HBASE+HADOOP之后,数据的统计成了问题,MAP REDUCE是我们想用的功能,借助HIVE来连接HBASE
一、准备
为了能使HIVE多用户操作,在NAMENODE上建立MYSQL,
1、建立MYSQL DATABASE
2、建立用户和密码
mysql> create database hive;
Query OK, 1 row affected (0.02 sec)
过程略,对于我们DBA来说非常容易。
二、安装
HIVE
下载最新版hive:http://hive.apache.org/
1.解压缩
2.配置
关键配置文件为:conf/hive-site.xml
由于conf里没有hive-site.xml文件,复制hive-default.xml改名即可
cp hive-default.xml hive-site.xml
修改内容:
<property>
<name>
hive.zookeeper.quorum
</name>
<value>
dm2,dm3,dm4
</value>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/hadoop/hive/warehouse</value>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8;databaseName=hive;create=true</value>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
添加内容:
<property>
<name>hbase.zookeeper.quorum</name>
<value>dm2,dm3,dm4</value>
--备注:我这里的3个 HBASE datanode ,使用HBASE自己维护的ZOOKEEPER
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/hadoop/hive-0.7.1/lib/hive-hbase-handler-0.7.1.jar,file:///usr/hadoop/hive-0.7.1/lib/zookeeper-3.3.1.jar,file:///usr/hadoop/hive-0.7.1/lib/hbase-0.90.3.jar
</value>
--备注:这里的文件后面有描述
</property>
---------------------------
需要注意:
一个jar包mysql-connector-java-5.1.15-bin.jar拷贝到hive的lib目录下才行,否则执行语
句的时候会报错,类似下面这样
hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalInternalException:
Error creating transactional connection factory
NestedThrowables:
java.lang.reflect.InvocationTargetException
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
文件:
mysql-connector-java-5.1.15-bin.jar
网址:http://www.mysql.com/products/connector/
下载:
JDBC Driver for MySQL (Connector/J)
复制:
/usr/hadoop/hive-0.7.1/lib/
-------------------------
复制/usr/hadoop/hbase-0.90.3/hbase-0.90.3.jar到hive的lib下
然后删除
hbase-0.89.0-SNAPSHOT.jar
-------------------------
3、设置环境变量
sudo vi /etc/profile添加:
export HIVE_HOME=/usr/hadoop/hive-0.7.1
export PATH=/usr/local/mysql/bin:$HIVE_HOME/bin:$PATH
三、启动与使用HIVE
其实应该说是登录hive
1、进入
$HIVE_HOME
hadoop@dm1:/usr/hadoop/hive-0.7.1$ ./bin/hive
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated.
Please use org.apache.hadoop.log.metrics.EventCounter in all the
log4j.properties files.
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201111251707_674291674.txt
hive>
2、用HIVE在HBASE上建表
下面建表会在HBASE中创建表
CREATE TABLE hbase_tb(key int, value string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name" = "hbase_tb");
3、HIVE中建表关联HBASE中已存在的表
先在HBASE建表 create 'test','data';
然后在HIVE建表,用扩展:
CREATE EXTERNAL
TABLE hbase_test(key string, value string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "data:1")
TBLPROPERTIES("hbase.table.name" = "test");
上面的两张表在HBASE 中put,或者在HIVE中LOAD,均可在另一边看到数据。
分享到:
相关推荐
本文将围绕“Hadoop分布式搭建配置/Hive/HBase”这一主题,深入探讨Hadoop生态系统中的关键组件,并结合提供的书籍资源进行讲解。 首先,Hadoop是一个开源的分布式计算框架,它允许在大规模集群上处理和存储大量...
Hive和Impala是两种常用的Hadoop数据查询工具,它们可以通过HBase-SerDe(Serializer/Deserializer)接口与HBase集成,实现对HBase数据的SQL查询。其中,Hive支持更复杂的SQL操作,而Impala提供近实时的分析性能。 ...
总结来说,伪分布式Hadoop搭建涉及了HDFS、MapReduce、Hive、HBase和Storm等多个组件,这些技术一起构建了一个完整的数据处理生态系统。HDFS提供存储,MapReduce负责计算,Hive提供数据分析的SQL接口,HBase满足实时...
在IT行业中,大数据处理与分析是至关重要的领域,而Hadoop作为开源的分布式计算框架,是这个领域的核心组件。本压缩包"hadop安装文件.rar"提供了关于Hadoop及其相关组件(如Hive、HBase、Sqoop和MySQL)的安装步骤,...
对接HBase,可以使非SQL背景的开发者也能方便地对HBase数据进行查询。 1. HBase与Hive集成:通过Hive的HBase Storage Handler,可以在Hive中直接查询HBase表。这需要在Hive中创建外部表,指定HBase的表和列族信息,...
* Pig:可以使用 Pig Latin 流式编程语言来操作 HBase 中的数据,和 Hive 类似,本质最终也是编译成 MapReduce Job 来处理 HBase 表数据,适合做数据统计。 * Hive:可以使用类似 SQL 语言来访问 HBase,当前 Hive ...
在大数据处理领域,Hadoop、HBase和Hive是三个非常重要的组件,它们共同构建了一个高效、可扩展的数据存储和分析平台。本文将详细介绍如何在Linux环境下搭建Hadoop2.2.0、HBase0.96和Hive0.12的集群环境。 首先,...
Hive的数据实际上存储在Hadoop的分布式文件系统HDFS中,Hive通过建立映射关系,将HDFS上的结构化数据映射为数据库表,用户通过HQL进行数据查询和分析。 最后,Hive环境搭建部分涵盖了Hive安装和使用方式的介绍。...
Hadoop和HBase是大数据处理领域中的重要组件,它们在分布式存储和实时数据访问方面扮演着关键角色。Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的非关系型数据库,提供高可靠性、...
Hive设计的目标是为那些对SQL熟悉的用户提供一种访问Hadoop数据的便捷方式,它允许用户通过类似SQL的HQL(Hive Query Language)来处理和分析存储在Hadoop文件系统(HDFS)中的大量数据。Hive的核心功能包括数据...
Hive提供了一种SQL-like接口来查询HBase表,使数据分析人员能够用熟悉的查询语法处理HBase数据。而Sqoop则允许用户将HBase的数据导入导出到关系型数据库,便于数据迁移和整合。 总的来说,HBase是一个强大的、针对...
HBase是Apache软件基金会的一...总的来说,`hbase-0.94.27.tar.gz`包含了一个完整的HBase实例,开发者和管理员可以解压这个文件,在本地或集群环境中搭建并运行HBase,从而利用其强大的分布式存储能力处理大规模数据。
- **Hive**:Hive是一个数据仓库工具,用于对存储在Hadoop文件中的数据进行汇总、特殊处理以及统计分析,而HBase则主要用于实时数据读写。 **HBase与Hive的主要区别**: 1. **定位不同**:HBase是一种数据库,而...
- **高性能**:通过内存缓存、索引优化以及并行处理技术,HBase能够在海量数据集上提供快速的数据访问速度。 - **面向列存储**:HBase采用了列族存储模型,这使得它在查询特定列数据时具有很高的效率。 - **可扩展性...
在搭建大数据处理平台时,Hadoop是基础组件,而Hadoop 2.6.3、Spark 1.5.2、HBase 1.1.2、Hive 1.2.1和Zookeeper 3.4.6是常见的版本组合,这些组件的整合安装对于构建分布式计算环境至关重要。以下是对这些组件及其...
6. **Hive**:虽然目前官方版本的Hive还不支持HBase,但未来版本将加入这一功能,允许使用类似SQL的语言访问HBase数据。 #### 四、HBase的数据模型 HBase的数据模型主要包括以下几个组成部分: - **RowKey**:...
数据存储主要使用 HDFS、Hive 和 HBase,HDFS 是 Hadoop 平台的文件存储系统,Hive 和 HBase 是分布式数据库,可以用来做数据湖,存储接入层、数据仓库、数据集市的数据。 本文档还详细介绍了数据分析平台的架构...