`
han.zoo
  • 浏览: 26444 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

HIVE搭建 & 访问HBASE中数据

阅读更多

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分布式搭建配置/Hive/HBase”这一主题,深入探讨Hadoop生态系统中的关键组件,并结合提供的书籍资源进行讲解。 首先,Hadoop是一个开源的分布式计算框架,它允许在大规模集群上处理和存储大量...

    Hbase 高可用分布式搭建

    Hive和Impala是两种常用的Hadoop数据查询工具,它们可以通过HBase-SerDe(Serializer/Deserializer)接口与HBase集成,实现对HBase数据的SQL查询。其中,Hive支持更复杂的SQL操作,而Impala提供近实时的分析性能。 ...

    伪分布式的Hadoop+Hive+HBase搭建记录[收集].pdf

    总结来说,伪分布式Hadoop搭建涉及了HDFS、MapReduce、Hive、HBase和Storm等多个组件,这些技术一起构建了一个完整的数据处理生态系统。HDFS提供存储,MapReduce负责计算,Hive提供数据分析的SQL接口,HBase满足实时...

    hadoop安装文件.rar,内涵hadoop安装的步骤word,hadoop、hive、hbase、sqoop、mysql等

    在IT行业中,大数据处理与分析是至关重要的领域,而Hadoop作为开源的分布式计算框架,是这个领域的核心组件。本压缩包"hadop安装文件.rar"提供了关于Hadoop及其相关组件(如Hive、HBase、Sqoop和MySQL)的安装步骤,...

    Hbase学习文档

    对接HBase,可以使非SQL背景的开发者也能方便地对HBase数据进行查询。 1. HBase与Hive集成:通过Hive的HBase Storage Handler,可以在Hive中直接查询HBase表。这需要在Hive中创建外部表,指定HBase的表和列族信息,...

    Hadoop之Hbase从入门到精通 .doc

    * Pig:可以使用 Pig Latin 流式编程语言来操作 HBase 中的数据,和 Hive 类似,本质最终也是编译成 MapReduce Job 来处理 HBase 表数据,适合做数据统计。 * Hive:可以使用类似 SQL 语言来访问 HBase,当前 Hive ...

    hadoop2.2.0+Hbase0.96+hive0.12详细配置

    在大数据处理领域,Hadoop、HBase和Hive是三个非常重要的组件,它们共同构建了一个高效、可扩展的数据存储和分析平台。本文将详细介绍如何在Linux环境下搭建Hadoop2.2.0、HBase0.96和Hive0.12的集群环境。 首先,...

    hive-part1-基础知识.pdf

    Hive的数据实际上存储在Hadoop的分布式文件系统HDFS中,Hive通过建立映射关系,将HDFS上的结构化数据映射为数据库表,用户通过HQL进行数据查询和分析。 最后,Hive环境搭建部分涵盖了Hive安装和使用方式的介绍。...

    hadoop hbase 全jar包

    Hadoop和HBase是大数据处理领域中的重要组件,它们在分布式存储和实时数据访问方面扮演着关键角色。Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的非关系型数据库,提供高可靠性、...

    Esri大数据平台搭建指南之Hive1

    Hive设计的目标是为那些对SQL熟悉的用户提供一种访问Hadoop数据的便捷方式,它允许用户通过类似SQL的HQL(Hive Query Language)来处理和分析存储在Hadoop文件系统(HDFS)中的大量数据。Hive的核心功能包括数据...

    Hbase框架原理和开发指导-基础篇.docx

    Hive提供了一种SQL-like接口来查询HBase表,使数据分析人员能够用熟悉的查询语法处理HBase数据。而Sqoop则允许用户将HBase的数据导入导出到关系型数据库,便于数据迁移和整合。 总的来说,HBase是一个强大的、针对...

    hbase-0.94.27.tar.gz

    HBase是Apache软件基金会的一...总的来说,`hbase-0.94.27.tar.gz`包含了一个完整的HBase实例,开发者和管理员可以解压这个文件,在本地或集群环境中搭建并运行HBase,从而利用其强大的分布式存储能力处理大规模数据。

    HBase自学笔记

    - **Hive**:Hive是一个数据仓库工具,用于对存储在Hadoop文件中的数据进行汇总、特殊处理以及统计分析,而HBase则主要用于实时数据读写。 **HBase与Hive的主要区别**: 1. **定位不同**:HBase是一种数据库,而...

    Hbase个人总结

    - **高性能**:通过内存缓存、索引优化以及并行处理技术,HBase能够在海量数据集上提供快速的数据访问速度。 - **面向列存储**:HBase采用了列族存储模型,这使得它在查询特定列数据时具有很高的效率。 - **可扩展性...

    hadoop2.6.3-spark1.5.2-hbase-1.1.2-hive-1.2.1-zookeeper-3.4.6安装指南

    在搭建大数据处理平台时,Hadoop是基础组件,而Hadoop 2.6.3、Spark 1.5.2、HBase 1.1.2、Hive 1.2.1和Zookeeper 3.4.6是常见的版本组合,这些组件的整合安装对于构建分布式计算环境至关重要。以下是对这些组件及其...

    10.Hadoop入门进阶课程_第10周_HBase介绍、安装与应用案例.pdf

    6. **Hive**:虽然目前官方版本的Hive还不支持HBase,但未来版本将加入这一功能,允许使用类似SQL的语言访问HBase数据。 #### 四、HBase的数据模型 HBase的数据模型主要包括以下几个组成部分: - **RowKey**:...

    Hadoop数据分析平台搭建方案.docx

    数据存储主要使用 HDFS、Hive 和 HBase,HDFS 是 Hadoop 平台的文件存储系统,Hive 和 HBase 是分布式数据库,可以用来做数据湖,存储接入层、数据仓库、数据集市的数据。 本文档还详细介绍了数据分析平台的架构...

Global site tag (gtag.js) - Google Analytics