HIVE整合HBASE_hive和hbase整合-程序员宅基地

技术标签: hive  hbase  大数据  

目录

一、实验环境准备

二、Hive整合HBase原理

三、整合的意义

四、实验步骤

 1.修改hive-site.xml文件以及hive-env.sh文件配置

2. 将hbase lib目录下的所有文件复制到hive lib目录中

3. 在hive中创建映射表

4. 导入数据测试

5.通过Hbase put添加数据,Hive查看添加数据 


一、实验环境准备

Hive版本 Hive-2.3.3

Hbase的版本Hbase-1.3.1

hadoop、zookeeper、jdk

开启相关集群

二、Hive整合HBase原理

        Hive与HBase整合的实现是利用两者本身对外的API接口互相进行通信,其具体工作交由Hive的lib目录中的hive-hbase-handler-*.jar工具类来实现。

        Hive和HBase通信原理如下图:

三、整合的意义

1.Hive和Hbase在大数据架构中处在不同位置,Hive是一个构建在Hadoop基础之上的数据仓库,主要解决分布式存储的大数据处理和计算问题,Hive提供了类SQL语句。

2.通过它可以使用SQL查询存放在HDFS上的数据,sql语句最终被转化为Map/Reduce任务运行,但是Hive不能够进行交互查询——它只能够在Haoop上批量的执行Map/Reduce任务。

3.Hive适合用来对一段时间内的数据进行分析查询,例如,用来计算趋势或者网站的日志。Hive不应该用来进行实时的查询。因为它需要很长时间才可以返回结果。

4.Hbase是Hadoop database 的简称,是一种NoSQL数据库,非常适用于海量明细数据(十亿、百亿)的随机实时查询,如交易清单、轨迹行为等。

5.在大数据架构中,Hive和HBase是协作关系,Hive方便地提供了Hive QL的接口来简化MapReduce的使用, 而HBase提供了低延迟的数据库访问。如果两者结合,可以利用MapReduce的优势针对HBase存储的大量内容进行离线的计算和分析。

四、实验步骤

 1.修改hive-site.xml文件以及hive-env.sh文件配置

        注:仅当hbase为集群模式时

 hive-site.xml

<property>
    <name>hive.zookeeper.quorum</name>
    <value>node01,node02,node03</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>node01,node02,node03</value>
</property>
<property>
    <name>hive.aux.jars.path</name>
    <value>file:///opt/software/hive/lib/hive-hbase-handler-2.3.3.jar,file:///opt/software/hive/lib/zoo
keeper-3.4.10.jar,file:///opt/software/hive/lib/hbase-client-1.3.1.jar,file:///opt/software/hive/lib/hbase-common-1.3.1-tests.jar,file:///opt/software/hive/lib/hbase-server-1.3.1.jar,file:///opt/software/hive/lib/hbase-common-1.3.1.jar,file:///opt/software/hive/lib/hbase-protocol-1.3.1.jar,file:///opt/software/hive/lib/htrace-core-3.1.0-incubating.jar
    </value>
</property>

 hive-env.sh

2. 将hbase lib目录下的所有文件复制到hive lib目录中

注:先删除hive/lib目录下hbase开头的jar包

3. 在hive中创建映射表

注:创建之前要先启动hive,创建完成后在hbase中查看表是否同时存在,存在即创建成功

 在hive里创建一个映射表

     创建

         list

在 hbase 服务里使用命令同样可以查到 hbase_score 表,即整合成功。

4.测试

创建数据表并导入数据测试

 

      数据

 

导入

 

插入数据到 hbase 的表中

insert overwrite table hive_hbase_test select * from test;

 

create table hive_hbase_test(id int,name string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties("hbase.columns.mapping"=":key,cf1:name") tblproperties("hbase.table.name"="hive_hbase_test");

 

5.通过Hbase put添加数据,Hive查看添加数据 

1)在hbase shell中对表hive_hbase_test添加数据

put 'hive_hbase_test','4','cf1:name','mipeng'

 

(2)在hive中查看数据是否添加进来 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46410349/article/details/127693099

智能推荐

C#多线程之Thread,ThreadPool,Task,Parallel_c# parallel-程序员宅基地

文章浏览阅读2.8k次,点赞9次,收藏52次。C#多线程之Thread,ThreadPool,Task,Parallel_c# parallel

linux5 syscall 流程_Linux系统调用(syscall)原理(转)-程序员宅基地

文章浏览阅读84次。引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构相关源码:/bionic/libc/kernel/uapi/asm-arm/asm/unistd.h/bionic/libc/arch-arm/sys..._linux syscall读文件

计算机10的原理图,计算机地图制图原理(10页)-原创力文档-程序员宅基地

文章浏览阅读144次。计算机地图制图原理第 1 章计算机地图制图是指以计算机硬件设备为基础,在相应软件软件系统的支持下,以数字格式对地图制图要素与现象数据进行采集、处理与管理,按照地 图制作的规范进行符号化、 图版制作与输出,并提供地图自动分析的过程。地图是按照一定的数学法则,将地球(或星体)表面的空间信息,经概括综合后以可视化、数字化或可触摸的符号形式,缩小表达在一定载体上的图形模型,用以传输、模拟和认知客 ..._计算机地图制图实验原理

爱了爱了!0.052 秒打开 100GB 数据,这个Python开源库火爆了!-程序员宅基地

文章浏览阅读99次。许多组织都在尝试收集和利用尽可能多的数据,以改善其经营方式,增加收入和提升影响力。因此,数据科学家面对50GB甚至500GB大小的数据集情况变得越来越普遍。不过,这类数据集使用起来不太..._爱了爱了!0.052 秒打开 100gb 数据

宏基ec471g黑苹果_宏碁acer ec-471g 黑苹果配置教程-程序员宅基地

文章浏览阅读866次。1tb sshd 混合硬盘 分区GPT+Journaled HFS OSX10.11.4500GB 机械硬盘 分区MBR+NTFS 系统win10系统/dev/disk0 (internal, physical): 1tb sshd 混合硬盘 在笔记本硬盘位#: TYPE NAME ...

MAC使用wireshark抓WiFi空口包_wireshark mac-程序员宅基地

文章浏览阅读1.8k次。MAC的无线网卡自带支持monitor模式的驱动,我们可以使用它直接抓取wifi air log,不需要借助其他网卡。_wireshark mac

随便推点

python循环语句怎么换行_python_循环语句-程序员宅基地

文章浏览阅读2.6k次。#循环语句#打印1到10# print(1,2,3,4,5,6,7,8,9,10)#如果打印大于10个,一个一个输入麻烦#用while循环实现,当while后面的表达式为真时,则执行while,直达表达式为假时,停止循环# i=1# while i<=10:# print(i)# i+=1#每次自增1,避免死循环#打印出来效果不一样,全部是换行# while i<=10..._python 循环输出end='',flush=true

jwt java redis_jwt基于Spring及Redis的鉴权-程序员宅基地

文章浏览阅读236次。首先,介绍下jwt(json web token)。jwt包括3个部分:Header (头部)、Payload (负载)、Signature (签名),其实token就可以理解为一个身份验证的令牌、票据。️header ='{"alg":"HS256","typ":"JWT"}' 其中 alg表示该令牌的加密方式,type不用管。️Payload负载部分 就是具体的认证信息,通过修改这部..._java的jwt和redis讲解

华为怎么把系统语言改成英语_怎么给华为手机更改语言?华为手机设置语言,涨知识了...-程序员宅基地

文章浏览阅读5.6k次。目前很多人都开始使用华为手机,手机的语言也分为很多种,有时我们也需要对手机进行个性化的处理,那就需要更改到手机的语言,那么华为手机应该如何更改语言么?接下来,我便分享一些经验步骤给大家。工具/材料·手机·设置操作方法01首先打开华为手机的桌面找到并打开齿轮状的“设置”。02打开设置以后,我们点击全部设置,并向下滑动屏幕。03向下滑动时找到“语言及输入法”,并且点进去。04点击进去”语言及输入法“以..._华为手机语言设置在哪

初学python的感受和收获_【雕爷学编程】零基础接触Python的一点收获和学习体会...-程序员宅基地

文章浏览阅读2.1k次。前几天在今日头条上看到一则广告,于是交了8.9元学费(还有不少是0学费的体验课),参加了小咖编程的一个四天课程(每天大概要用二小时左右),是Python的入门基础语法课,老师叫喵酱(教义做的非常棒)。偶然头回接触Python,学习的点点收获汇报如下。第一关开启星际迷航(进入Python新世界,了解print()输出函数的作用)1、Python是一门编程语言,我们通过编程语言来完成与计算机之间的交流..._初学python课程总结与感想

i9级E52450处理器_2020年桌面级CPU处理器最新性能天梯排行榜,第十代Intel处理器表现不错,AMD YES!...-程序员宅基地

文章浏览阅读5k次。2020年5月初,Intel正式发布了第十代桌面处理器,共33款comet lake-s系列处理器,包括不锁定多个频率的K系列处理器,以及阻止核心的F系列处理器。就在本周,Intel已经正式解禁10代CPU,意味着大家现在可以购买新款处理器,各款会陆续上架。令人失望的是,10代Intel处理器仍然采用14nm++制程工艺,更换了新的CPU插槽,意味着第十代处理器需要更换400系列主板芯片..._e5-2450相当于i几

mysql创建表多个字段的唯一约束_mysql多字段唯一约束-程序员宅基地

文章浏览阅读1.8w次,点赞5次,收藏9次。mysql中有些表有时需要做一些字段的唯一约束,当然你也可以在insert前判断有无的方式来防止重复,如果不想额外增加代码来更灵活的实现一些字段的唯一约束,mysql提供了两种方式:1.unique key alter table xxadd unique key no_account(no,collection_account)2.unique indexalter tabl..._mysql多字段唯一约束

推荐文章

热门文章

相关标签