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 ...
随机推荐
- Python+Selenium+Unittest框架使用——Selenium——模拟操作浏览器(三)
1.浏览器大小的控制 Set_window_size()是控制浏览器大小 Maximize_window()浏览器全屏显示 from selenium import webdriver #导入sele ...
- HTML5+CSS3-学习总结
这是第三次学标签和样式了,虽然距离上次差不多2年.可学过的东西依旧还在. 体会 1. 相对于前端技术,基础还是很重要的. 2. 虽然很繁多.并不是杂乱无章的. 3. HTML5在新增的几个标签, ...
- reuters-多分类问题
from keras.datasets import reuters import numpy as np from keras.utils.np_utils import to_categorica ...
- LeetCode第十八题-四数之和
4Sum 问题简介:定n个整数和整数目标的数组nums,是否有元素a,b,c,d在nums中,使a+b+c+d=target? 举例: 给定数组 nums = [1, 0, -1, 0, -2, 2] ...
- 为什么使用SLF4J?
每个Java开发人员都知道日志记录对Java应用的重要性,尤其是对服务端应用,而且其中许多人都已经熟悉了各种记录日志的库,比如java.util.logging,Apache的log4j,logb ...
- 20175315 实验二《Java面向对象程序设计》实验报告
20175315 实验二<Java面向对象程序设计>实验报告 一.实验内容及步骤 1.初步掌握单元测试和TDD 单元测试 任务一:三种代码 用程序解决问题时,要学会写以下三种代码: 伪代码 ...
- Saltstack自动化操作记录(1)-环境部署【转】
早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...
- cdh集群ip更改
#---1.修改每个用户的hosts vi /etc/hosts #127.0.0.1 localhost localhost.localdomain localhost4 localhost4.lo ...
- C#QQ邮箱验证
注意: QQ邮箱的简单邮件传输协议(SMTP)使用了SSL加密,必须启用SSL加密.指定端口. QQ邮箱POP3/SMTP服务默认是关闭的,需要开启服务(设置=>账户=>开启服务). QQ ...
- 协议形式化分析Scyther 资料整理
1.性能分析 目前来说形式化的分析已经成为安全协议的一种很流行的方法,但是每种工具都用其不同适合的协议,Scyther软件是一种形式化分析工具,极大的促进了协议的分析和设计,scyther工具在运行界 ...