【大数据学习笔记】Hive与HBase整合

HBase_Eclipse基本操作 HBase_Eclipse基本操作 查看HBase中的表 创建HTable 删除HTable 添加表列族 获取表描述信息 添加数据 根据rowKey 获取列键值 遍历表内容 阅读详情

1、配置

1.1 如果是自己通过tar包自行搭建的hadoop集群,需要如下两步配置:

1.1.1 拷贝jar包

(1)将Hive lib路径内的hive-hbase-handler-*.jar拷贝到HBase lib路径下

(2)将HBase lib下所有jar包拷贝到Hive lib路径下

1.1.2 在Hive的配置文件hive-site.xml中增加如下属性

<property>
	<name>hbase.zookeeper.quorum</name>
	<value>your_zookeeper_nodes_name</value>
</property>

1.2 如果是通过Ambari搭建的Hadoop集群,则安装好Hive和HBase后,就已经整合好了,能直接使用;

2、创建内部表

CREATE TABLE hbasetbl(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name" = "xyz", "hbase.mapred.output.outputtable" = "xyz");

必须保证HBase中没有xyz这张表,否则报错;

创建好表后,测试:

2.1 Hive -> HBase

在Hive中插入数据

insert into hbasetbl values(1,'zhangsan');
hive> select * from hbasetbl;
OK
1    zhangsan
Time taken: 0.185 seconds, Fetched: 1 row(s)

在HBase中查询数据,并刷新到磁盘

hbase(main):015:0> scan 'xyz'
ROW                               COLUMN+CELL                                                                                      
 1                                column=cf1:val, timestamp=1554105191166, value=zhangsan                                          
1 row(s) in 0.0280 seconds
hbase(main):016:0> flush 'xyz'
0 row(s) in 0.4490 seconds

虽然hbasetbl作为内部表,一般情况下是存放在Hive路径下的,但是已经跟HBase整合后,记为特殊情况,数据保存在HBase中;

2.2 HBase -> Hive

从HBase中插入数据

hbase(main):017:0> put 'xyz','2','cf1:val','lisi'
0 row(s) in 0.0720 seconds

从Hive中查询

hive> select * from hbasetbl;
OK
1    zhangsan
2    lisi
Time taken: 0.167 seconds, Fetched: 2 row(s)

2.3 HBase -> Hive

HBase中插入整合时没有映射的列,Hive中查询不到数据

hbase(main):018:0> put 'xyz','2','cf1:value','lisi'
0 row(s) in 0.0080 seconds

hbase(main):019:0> scan 'xyz'
ROW                               COLUMN+CELL                                                                                      
 1                                column=cf1:val, timestamp=1554105191166, value=zhangsan                                          
 2                                column=cf1:val, timestamp=1554105536250, value=lisi                                              
 2                                column=cf1:value, timestamp=1554105661416, value=lisi                                            
2 row(s) in 0.0270 seconds

从Hive中查询

hive> select * from hbasetbl;
OK
1    zhangsan
2    lisi
Time taken: 0.162 seconds, Fetched: 2 row(s)

3、创建外部表

与内部表必须要求映射的表必须不存在相反,外部表要求映射的HBase表必须存在,否则报错,所以先创建t_order表

hbase(main):020:0> create 't_order','order'
0 row(s) in 1.3790 seconds
CREATE EXTERNAL TABLE tmp_order 
(key string, id string, user_id string)  
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,order:order_id,order:user_id")  
TBLPROPERTIES ("hbase.table.name" = "t_order");

测试:

3.1 HBase -> Hive

从HBase中插入数据

hbase(main):021:0> put 't_order','111','order:order_id','1'
0 row(s) in 0.0600 seconds

hbase(main):022:0> put 't_order','111','order:user_id','1'
0 row(s) in 0.0070 seconds

hbase(main):023:0> scan 't_order'
ROW                               COLUMN+CELL                                                                                      
 111                              column=order:order_id, timestamp=1554105932366, value=1                                          
 111                              column=order:user_id, timestamp=1554105942562, value=1                                           
1 row(s) in 0.0530 seconds

从Hive中查询

hive> CREATE EXTERNAL TABLE tmp_order 
    > (key string, id string, user_id string)  
    > STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
    > WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,order:order_id,order:user_id")  
    > TBLPROPERTIES ("hbase.table.name" = "t_order");
OK
Time taken: 0.246 seconds

3.2 Hive -> HBase

从Hive中插入数据

insert into tmp_order values(2,'2222','2222');

hive> select * from tmp_order;
OK
111    1    1
2    2222    2222
Time taken: 0.175 seconds, Fetched: 2 row(s)

从HBase中查询

hbase(main):024:0> scan 't_order'
ROW                               COLUMN+CELL                                                                                      
 111                              column=order:order_id, timestamp=1554105932366, value=1                                          
 111                              column=order:user_id, timestamp=1554105942562, value=1                                           
 2                                column=order:order_id, timestamp=1554106121347, value=2222                                       
 2                                column=order:user_id, timestamp=1554106121347, value=2222                                        
2 row(s) in 0.0320 seconds
hbase(main):025:0> flush 't_order'
0 row(s) in 0.2800 seconds

刷新数据,真正的数据也是保存在HBase中的;

 

如何将Hive与HBase整合联用 特别说明:该专栏文章均来源自微信公众号【大数据实战演练】,欢迎关注! 版本说明: HDP:3.0.1.0 Hive:3.1.0 HBase:2.0.0 一、前言 之前学习 HBase 就有疑惑,HBase 虽然可以存储数亿或数十亿行数据,但是对于数据分析来说,不太友好,只提供了简单的基于 Key 值的快速查询能力,没法进行大量的条件查询。 不过,Hive 与 HBase 的整合可... 阅读详情

相关推荐

Hive与HBase集成

在大数据生态系统中,Apache Hive 和 Apache HBase 是两种广泛使用的工具,各自擅长不同类型的任务。Hive 是一个数据仓库工具,适用于批处理和查询,而 HBase 是一个 NoSQL 数据库,适用于快速读写和随机访问。通过将 Hive 和 HBase 集成,可以充分利用两者的优势,实现灵活、高效的数据处理和分析。

qq_69558236的博客 1393

Java连接HBase数据库,操作HBase数据库

  最近学习了下HBase,面向列的数据库,属于NoSql范畴。通过编写Java代码来连接HBase数据库。   Hadoop+HBase环境已经装好,然后利用Java HBase API操作HBase的话,最好将虚拟机中的HBase版本对应起来,我们从虚拟机中把HBase文件下载下来,利用Xftp软件。  ...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 743

CDH大数据平台 24Cloudera Manager Console之hbase、hive整合配置(markdown新版)

CDH大数据平台 24Cloudera Manager Console之hbase、hive整合配置(markdown新版)

80后大叔爱学习 2516

拷贝hadoop2目录下所有hadoop*.jar到hbase/lib目录

find /usr/local/hadoop/share/hadoop -name "hadoop*jar" | xargs -i cp {} /usr/local/hbase/lib/ 保存hbase的操作命令历史 用户目录下,新建一个文件.irbrc,输入以下内容 require 'irb/ext/save-history' IRB.conf[:SAVE_HISTORY]...

侯上校 1271

hbase_libJar包

hbase_lib,在Linux系统中解压后,配置环境变量HBASE_HOME

基于STM32的无人机智能避障与路径规划系统设计

本文详细介绍了基于STM32的无人机智能避障与路径规划系统设计,涵盖硬件选型、传感器组合、软件架构及算法实现。通过多传感器数据融合和改进的VFH+算法,系统在复杂环境中实现92%以上的避障成功率。STM32微控制器的实时性和低功耗特性为无人机自主导航提供了可靠保障,适用于工业巡检、仓储物流等场景。

blockchain9miner的博客 876

maven如何将项目引用的所有jar包复制到lib文件夹内

Maven的非web项目在执行时需要引用很多jar包,这时候通常的做法是将这些jar包统一放到lib目录中,maven的dependency插件可以帮我们做这件事情。 我们需要在pom文件的build节点的plugins节点内添加一个plugin,plugin内容如下:               org.apache.maven.plugins             maven-d

liu_yulong的专栏 811

RAID 0/1/5/10 性能实测:4块 SATA SSD 组阵列,顺序读写速度对比

本文通过实测对比了RAID 0/1/5/10在4块SATA SSD上的顺序读写性能,详细展示了不同RAID级别的配置方法、理论性能与实际测试数据。测试结果显示,RAID 0在顺序读写速度上表现最佳,而RAID 10则在性能与数据安全之间取得了平衡,适合数据库服务器等关键应用场景。

weixin_33462167的博客 423

选中lib下所有的jar包,导入到另一个lib下

第一种 鼠标左键点击第一个jar包, 这时选中了第一个,然后再按住shift键加左键点击最后一个jar包,就可以将所有的jar包选中,复制粘贴到另一个lib下 第二种 将当前的所有jar包选中后导出为一个jar包,导出类型当然是 jar file,然后将导出整体jar包复制粘贴到新的lib下即可 ...

韩猿外的博客 434

VTK vtkLookupTable vtkScalarBarActor 颜色条

有时需要给数据做一个 vtkScalarBarActor, 我们把显示的数据的一个 坐标系 来显示 颜色条1.以 Z 显示颜色 效果如下。

q610098308的专栏 4033

海康Camera MVS Linux SDK二次开发封装ROS packge过程记录(c++)

https://www.hikrobotics.com/machinevision/service/download?module=0

weixin_41965898的博客 2万+

大数据学习笔记 - hadoop day11 - Phoenix整合 Hbase、 hive 安装 基本操作

weixin_43748826的博客 211

PyTorch实战:用FGSM攻击MNIST分类器(附可视化对比)

本文通过PyTorch实战演示了如何使用FGSM对抗攻击方法攻击MNIST手写数字分类器。文章详细解析了FGSM攻击原理,提供了从环境搭建、模型准备到攻击实施、可视化对比的完整代码实战流程,并探讨了对抗样本的生成与模型鲁棒性评估。

3a9bq4r8t2y的博客 216

【学习笔记】大数据技术之HBase

大数据技术之HBase思考?1. RegionServer和Master的区别?第 1 章 HBase 简介1.1 HBase 定义1.2 HBase 数据模型1.2.1 HBase 逻辑结构1.2.2 HBase 物理存储结构1.2.3 数据模型1.3 HBase 基本架构第 2 章 HBase 快速入门2.1 HBase 安装部署2.1.1 Zookeeper 正常部署2.1.2 Hadoop 正常部署2.1.3 HBase 的解压2.1.4 HBase 的配置文件2.1.5 HBase 远程发送到其他

prague6695的博客 1819

X-AnyLabeling-main标注YOLO关键点POSE

同一物体的框和点的 群组编号 要相同。代表这些点和方框是同一物体上的。标注方框之后记得把后面的。顺序要和你标注的顺序一致。写入1,而且之后的点的。配置导出文件.yaml。

qq_53545309的博客 2103

deepstream车道线检测自定义插件化,其中要注意pipeline的配置,如果插件位置配置不对,会报input format should be RGBA when using blur-obje

以上代码中,我们先从对象池中获取一个 DsUserMeta 对象,然后使用 get_lane_line_from_frame 函数获取车道线检测结果,并使用 add_lane_line_meta 函数将其添加到 DsUserMeta 对象中。注意,上述代码中的 get_lane_line_from_frame 函数和 add_lane_line_meta 函数需要你自己实现,用于从视频帧中提取车道线检测结果,并将其添加到 DsUserMeta 中。

pvmsmfchcs的博客 690

HBase与Hive的整合

HBase与Hive的整合 hive与我们的HBase各有千秋,各自有着不同的功能, 但是归根接地,hive与hbase的数据最终都是存储在hdfs上面的, 一般的我们为了存储磁盘的空间,不会将一份数据存储到多个地方, 导致磁盘空间的浪费,我们可以直接将数据存入hbase, 然后通过hive整合hbase直接使用sql语句分析hbase里面的数据即可,非常方便 需求一:将Hive分...

最慢的步伐不是跬步,而是徘徊;最快的脚步不是冲刺,而是坚持 9162

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Hadoop大数据生态:hive与hbase整合

简介 hive和hbase都是基于hadoop大数据生态而衍生的不同的技术,hbase是一种nosql的key/value数据库,主要用于数据的实时查询,速度比较快,而hive主要使用HQL语言运行MapReduce任务,主要用于统计查询,但速度较慢; 两者属于互补的关系,这两种工具可以同时进行使用,同时操作hadoop底层数据仓库; 环境需求:服务器搭建好hadoop集群、hbase集群以...

alan_liuyue的博客 1182

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HIVE整合HBASE

HIVE整合HBASE

m0_46410349的博客 2454

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【ETL工具】Kettle 整合大数据平台(Hadoop、Hive、HBase)

目录一、Kettle整合Hadoop1、 整合步骤2、Hadoop file input组件3、Hadoop file output组件二、Kettle整合Hive1、初始化数据2、 kettle与Hive 整合配置3、从hive 中读取数据4、把数据保存到hive数据库5、Hadoop Copy Files组件6、执行Hive的HiveSQL语句三、Kettle整合HBase1、HBase初始化2. HBase input组件3、HBase output组件环境 kettle 8.2 版本:kettle

康师傅没有眼泪 8654

Hive与Hbase整合及hive-hbase-handler的jar包重新编译

一、为什么要整合hive和hbase 二、整合后实现的目标 三、当hive和hbase版本都是1.几时,需要重新编译jar包hive-hbase-handler,操作步骤如下: 1、下载hive源码:(这个地址可方便快捷下载大数据平台的各个组件) http://archive.apache.org/dist/hive/hive-1.2.1/ 2、解压,进入Hive源码,把...

记录日常开发过程中遇到的一些问题 2916

Java架构师之路七、大数据:Hadoop、Spark、Hive、HBase、Kafka等

Hive提供了一种类SQL语言,称为HiveQL,以便将结构化数据映射到Hadoop分布式文件系统中的表中,并提供了数据查询、转换和分析的功能。由于其分布式、高可靠性和高性能的特点,HBase在大数据领域得到了广泛的应用。:Spark提供了丰富的API,支持多种编程语言(如Scala、Java、Python、R等),并提供了交互式的Shell,使得用户可以方便地进行数据处理和分析。此外,Hadoop还有一些其他的相关组件,如Hive、Pig、HBase等,用于支持数据查询、数据清洗和实时数据处理等任务。

shenzhiyoushen的博客 4278

HBase项目实战:HBase+Flume+Kafka+Hive+SSM实现电信大数据通话信息实时读写定位系统

内容简介

萧邦主的城邦 4928

Hive和Hbase整合搭建步骤

Hive和HBase的通信意图 Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由Hive的lib目录中的hive-hbase-handler-*.jar工具类来实现,通信原理如下图所示。 Hive整合HBase后的使用场景: (一)通过Hive把数据加载到HBase中,数据源可以是文件也可以是Hive中的表。 (二)通过整合,让HBase支持JOIN...

sunjinjuan的博客 2059
上一篇: 【大数据学习笔记】sqoop
下一篇: Linux vi/vim 常用命令
hellboy0621
博客等级 码龄9年 61粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值