Hive与Hbase整合
Hive与Hbase整合
1.文档
2.拷贝jar文件
2.1.把Hbase的lib目录下面的jar文件全部拷贝到Hive的lib目录下面
cd /home/hbase/lib
cp ./* /home/hive/lib
2.2.把Hive的lib目录下面的hive-hbase-handler-0.13.1.jar拷贝到Hbase的lib目录下面
cp /home/hive/lib/hive-hbase-handler-0.13.1.jar /home/hbase/lib/
3.修改Hive/conf目录下面的配置文件
cd /home/hive/conf
vi hive-site.xml <!-- Hbase zookeeper quorum -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
4.在Hbase中创建表
--在Hbase中创建表
create 'hbase_to_hive_t_user', 'cf_user_info' hbase(main):010:0> desc 'hbase_to_hive_t_user'
Table hbase_to_hive_t_user is ENABLED
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf_user_info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_S
COPE => '', VERSIONS => '', COMPRESSION => 'NONE', MIN_VERSIONS => '', TTL => 'FOREVER',
KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '', IN_MEMORY => 'false', BLOCKCACHE => '
true'}
1 row(s) in 0.0650 seconds
5.在Hbase表中插入数据
--插入数据
put 'hbase_to_hive_t_user', '', 'cf_user_info:name','Tom'
put 'hbase_to_hive_t_user', '', 'cf_user_info:age',24
put 'hbase_to_hive_t_user', '', 'cf_user_info:name','John'
put 'hbase_to_hive_t_user', '', 'cf_user_info:age',18
put 'hbase_to_hive_t_user', '', 'cf_user_info:name','Steven'
put 'hbase_to_hive_t_user', '', 'cf_user_info:age',38 scan 'hbase_to_hive_t_user'
hbase(main):009:0> scan 'hbase_to_hive_t_user'
ROW COLUMN+CELL
1 column=cf_user_info:age, timestamp=1546754368046, value=24
1 column=cf_user_info:name, timestamp=1546754367972, value=Tom
2 column=cf_user_info:age, timestamp=1546754368166, value=18
2 column=cf_user_info:name, timestamp=1546754368103, value=John
3 column=cf_user_info:age, timestamp=1546754370447, value=38
3 column=cf_user_info:name, timestamp=1546754368211, value=Steven
3 row(s) in 0.1600 seconds
6.在Hive中创建数据库表关联Hbase里面的表
--如果你想要Hive去访问Hbase中已经存在的表,你可以创建外部表(CREATE EXTERNAL TABLE) CREATE EXTERNAL TABLE hive_access_hbase_table_t_user (key string, name string, age int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf_user_info:name,cf_user_info:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_to_hive_t_user");
6.1.在Hive中查询Hbase表里的数据
select * from hive_access_hbase_table_t_user; hive> select * from hive_access_hbase_table_t_user;
OK
1 Tom 24
2 John 18
3 Steven 38
Time taken: 0.325 seconds, Fetched: 3 row(s)
7.Reference
https://blog.csdn.net/qq_33689414/article/details/80328665
https://blog.csdn.net/aaronhadoop/article/details/28398157
========================================================
More reading,and english is important.
I'm Hongten

大哥哥大姐姐,觉得有用打赏点哦!你的支持是我最大的动力。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten
========================================================
Hive与Hbase整合的更多相关文章
- Hive(五):hive与hbase整合
配置 hive 与 hbase 整合的目的是利用 HQL 语法实现对 hbase 数据库的增删改查操作,基本原理就是利用两者本身对外的API接口互相进行通信,两者通信主要是依靠hive_hbase-h ...
- Hadoop Hive与Hbase整合+thrift
Hadoop Hive与Hbase整合+thrift 1. 简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句 ...
- 大数据工具篇之Hive与HBase整合完整教程
大数据工具篇之Hive与HBase整合完整教程 一.引言 最近的一次培训,用户特意提到Hadoop环境下HDFS中存储的文件如何才能导入到HBase,关于这部分基于HBase Java API的写入方 ...
- Hive和Hbase整合
Hive只支持insert和delete操作,并不支持update操作,所以无法实施更新hive里的数据,而HBASE正好弥补了这一点,所以在某些场景下需要将hive和hbase整合起来一起使用. 整 ...
- Hive和HBase整合用户指南
本文讲解的Hive和HBase整合意思是使用Hive读取Hbase中的数据.我们可以使用HQL语句在HBase表上进行查询.插入操作:甚至是进行Join和Union等复杂查询.此功能是从Hive 0. ...
- hive与hbase整合过程
实现目标 Hive可以实时查询Hbase中的数据. hive中的表插入数据会同步更新到hbase对应的表中. 可以将hbase中不同的表中的列通过 left 或 inner join 方式映射到hiv ...
- hive和hbase整合的原因和原理
为什么要进行hive和hbase的整合? hive是高延迟.结构化和面向分析的: hbase是低延迟.非结构化和面向编程的. Hive集成Hbase就是为了使用hbase的一些特性.或者说是中和它们的 ...
- Hive篇---Hive与Hbase整合
一.前述 Hive会经常和Hbase结合使用,把Hbase作为Hive的存储路径,所以Hive整合Hbase尤其重要. 二.具体步骤 hive和hbase同步https://cwiki.apache ...
- hive存储处理器(StorageHandlers)以及hive与hbase整合
此篇文章基于hive官方英文文档翻译,有些不好理解的地方加入了我个人的理解,官方的英文地址为: 1.https://cwiki.apache.org/confluence/display/Hive/S ...
随机推荐
- Spring AOP获取方法的参数名称和参数值
aop配置: <aop:aspectj-autoproxy expose-proxy="true" /> @Before(value = "execution ...
- 利用request和re抓取猫眼电影排行
import requests import re import time def get_one_page(url): headers = { 'User-Agent': 'Mozilla/5.0 ...
- 【Android手机测试】OOM
当大多数应用程序都消耗完自己的内存的时候,因为这些应用程序的内存需求加起来超出了物理内存(包括swap)的容量,内核(OOM killer)必须杀掉一些进程才能腾出空间保障系统正常运行 Linux内核 ...
- 【interview】Microsoft面经
~~收集的面经~~ 1. 实现hashtable的put 和get操作 参考:https://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%B ...
- C++ opentracing zipkin
Useful page : https://github.com/openzipkin/b3-propagation & other official websites Steps to ru ...
- Centos7安装JDK+部署Tomcat8
Centos7下JDK+Tomcat的部署: 1.安装JDK 1.1 通过以下命令获得java JDK列表 yum -y list java* 1.2 通过yum安装JDK yum -y instal ...
- 小程序:navigateBack()修改数据
1.获取当前页面js里面的pages里的所有信息var pages = getCurrentPages(); 2. -2上一个页面 -3是上上个页面 var prevPage = pages[p ...
- golang http.client 遇到了 Connection reset by peer 问题
最近一个 golang 写的 http.client 的,获取远程服务器数据,有时候会报错,尤其在数量很大的时候,老是收到 Connection reset by peer 这样的 提醒,都有点想用重 ...
- 实例分析ASP.NET在MVC5中使用MiniProfiler监控MVC性能的方法
这篇文章主要为大家详细介绍了ASP.NET MVC5使用MiniProfiler监控MVC性能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 MiniProfiler ,一个简单而有效的迷你剖析器 ...
- nginx反向代理+tomcat域名绑定
今天在用nginx做反向代理时,由于一个tomcat下有多个应用,因此要在tomcat做域名绑定.tomcat启动后,通过域名+端口是可以访问到页面的,但是通过nginx转发后就不能访问了,因此tom ...