Hive HBase Integration 集成

官方文档:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration

1、在hive/lib目录下找到hive-hbase-handler-1.2.1.jar,并把该文件拷贝到hbase/lib目录下。

2、把hbase/lib目录下的所有*.jar文件拷贝到hive/lib目录下。

3、在hive的配置文件中 hive-site.xml 增加zookeeper的配置集群信息。

1 <property>
2         <name>hbase.zookeeper.quorum</name>
3         <value>node1,node2,node3</value>
4 </property>

4、在hive中创建临时表:

1 CREATE TABLE t_test1
2 (id int,name string, age string)
3 STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘
4 WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name,info:age")
5 TBLPROPERTIES ("hbase.table.name" = "t_test1","hbase.mapred.output.outputtable" = "t_test1");

HBase表信息:

hbase(main):011:0> describe "t_test1"

测试在hive中插入数据:

hive> insert into t_test1(id,name,age)values(001, ‘zs‘, ‘male‘);

在hbase中同样能查到:

hbase(main):013:0> scan ‘t_test1‘
ROW COLUMN+CELL
1 column=info:age, timestamp=1467337507821, value=male
1 column=info:name, timestamp=1467337507821, value=zs
1 row(s) in 0.3310 seconds

在hbase中插入数据:

hbase(main):015:0> put ‘t_test1‘,‘002‘,‘info:age‘,‘30‘
0 row(s) in 0.0430 seconds

在hive中同样能查到:

hive> select *From t_test1;
OK
2 NULL 30
1 zs male
Time taken: 0.312 seconds, Fetched: 2 row(s)

关联已经存在的hbase表,需要使用external外部表;

应用场景主要针对已经清洗过的数据,放到hbase中,然后通过hql语句根据业务要求将需要的数据提取出来,然后通过sqoop抽取到类似于mysql的数据库中,供展现使用。

时间: 2024-10-16 16:39:24

Hive HBase Integration 集成的相关文章

全网最详细的hive-site.xml配置文件里如何添加达到Hive与HBase的集成,即Hive通过这些参数去连接HBase(图文详解)

不多说,直接上干货! 一般,普通的情况是 <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true</value> </property> <property> <name>

hive与hbase的集成

出现java.io.IOException: Cannot create an instance of InputSplit class = org.apache.hadoop.hive.hbase.HBaseSplit:org.apache.hadoop.hive.hbase.HBaseSplit 的解决方法:注意auxlib的写法,见:http://jinghong.iteye.com/blog/1127968 handler的用法:http://blog.csdn.net/vah101/a

创建Hive/hbase相关联的表异常

hive> CREATE TABLE hperson(id string, name string,email string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":id,cf1:name,cf2:email") TBLPROPERTIES ("hbase.table.

CDH5上安装Hive,HBase,Impala,Spark等服务

Apache Hadoop的服务的部署比较繁琐,需要手工编辑配置文件.下载依赖包等.Cloudera Manager以GUI的方式的管理CDH集群,提供向导式的安装步骤.由于需要对Hive,HBase,Impala,Spark进行功能测试,就采用了Cloudera Manager方式进行安装. Cloudera Manager提供两种软件包安装源,Package 和 Parcel: Package就是一个个rpm文件,以yum的方式组织起来. Parcel是rpm包的压缩格式,以.parcel结

Hive HBase 整合

环境说明: l  hadoop:2.4.0 l  Zookeeper:3.4.6 l  Hbase:0.96 l  Hive:0.13.1   1.  Hive整合HBase原理 Hive与HBase整合的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠Hive安装包\apache-hive-0.13.1-bin\lib\hive-hbase-handler-0.9.0.jar工具类,它负责Hbase和Hive进行通信的. Hive和HBase通信原理如下图: 2.  Hive

Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 眼下没有直接的命令将HBase中的数据导出到MySQL.但能够先将HBase中的数据导出到HDFS中.再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 以下仅仅给出将Oracle中的数据导入HBase,其它情况下的命令行选项与MySQL的操作相似

详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 目前没有直接的命令将HBase中的数据导出到MySQL,但可以先将HBase中的数据导出到HDFS中,再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 下面只给出将Oracle中的数据导入HBase,其他情况下的命令行选项与MySQL的操作相似 O

Hive/Hbase/Sqoop的安装教程

Hive/Hbase/Sqoop的安装教程 HIVE INSTALL 1.下载安装包:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.3/2.上传到Linux指定目录,解压: mkdir hive mv apache-hive-2.3.3-bin.tar.gz hive tar -zxvf apache-hive-2.3.3-bin.tar.gz mv apache-hive-2.3.3-bin apache-hive-2.3.

【原创】问题定位分享(16)spark写数据到hive外部表报错ClassCastException: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat cannot be cast to org.apache.hadoop.hive.ql.io.HiveOutputFormat

spark 2.1.1 spark在写数据到hive外部表(底层数据在hbase中)时会报错 Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat cannot be cast to org.apache.hadoop.hive.ql.io.HiveOutputFormat at org.apache.spark.sql.hive.SparkHiveWrit