hbase_hive整合

李杰然 李杰然     2022-11-16     280

关键词:

Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类

首先保证版本一致

cd /home/hadoop/hive-1.1.0-cdh5.5.2/lib

查看版本是否一致hbase-server-1.0.0-cdh5.5.2.jar  zookeeper-3.4.5-cdh5.5.2.jar  hive-hbase-handler-1.1.0-cdh5.5.2.jar

如果不一致删除原有jar  cp 原hbase和zookeeper下的jar包到hive的lib中

 

2.修改 hive/conf下hive-site.xml文件
[[email protected] hive-0.7.1-cdh3u5]$ mkdir tmp
[[email protected] hive-0.7.1-cdh3u5]$ mkdir logs

[[email protected] conf]$ vi hive-site.xml
以下内容 添加到文件底部  </configuration> 之上

<!--        
<property>  
  <name>hive.exec.scratchdir</name>
  <value>/home/hadoop/hive-1.1.0-cdh5.5.2/tmp/</value>
</property>   
-->   

<property>
  <name>hive.querylog.location</name>
  <value>/home/hadoop/hive-1.1.0-cdh5.5.2/logs/</value>
</property>

<property>
  <name>hive.aux.jars.path</name>  
  <value>
    file:///home/hadoop/hive-1.1.0-cdh5.5.2/lib/hive-hbase-handler-1.1.0-cdh5.5.2.jar,
    file:///home/hadoop/hive-1.1.0-cdh5.5.2/lib/hbase-server-1.0.0-cdh5.5.2.jar,
    file:///home/hadoop/hive-1.1.0-cdh5.5.2/lib/zookeeper-3.4.5-cdh5.5.2.jar
  </value>
</property>

 

3.拷贝hbase-server-1.0.0-cdh5.5.2.jar 到所有hadoop节点 lib下(包括master节点)
[[email protected] hbase-0.90.6-cdh3u5]$ cp hbase-server-1.0.0-cdh5.5.2.jar /home/hadoop/hadoop-2.6.0-cdh5.5.2/lib
[[email protected] hbase-0.90.6-cdh3u5]$ scp hbase-server-1.0.0-cdh5.5.2.jar [email protected]:/home/hadoop/hadoop-2.6.0-cdh5.5.2/lib
[[email protected] hbase-0.90.6-cdh3u5]$ scp [email protected]:/home/hadoop/hadoop-2.6.0-cdh5.5.2/lib

4.拷贝hbase/conf下的hbase-site.xml文件到所有hadoop节点(包括master)的hadoop/conf下
[[email protected] conf]$ cp hbase-site.xml /home/hadoop/hadoop-2.6.0-cdh5.5.2/conf/
[[email protected] conf]$ scp hbase-site.xml [email protected]:/home/hadoop/hadoop-2.6.0-cdh5.5.2/conf/
[[email protected] conf]$ scp hbase-site.xml [email protected]:/home/hadoop/hadoop-2.6.0-cdh5.5.2/conf/


5.启动hive
[[email protected] hive-0.7.1-cdh3u5]$ bin/hive -hiveconf hbase.zookeeper.quorum=h201,h202,h203

----------------------------------------------------------------
例子
1创建 hbase识别的表
hive>
CREATE TABLE hbase_table_1(key int, value string)  
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘  
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")  
TBLPROPERTIES ("hbase.table.name" = "sq");

***(hbase.table.name 定义在hbase的table名称
     hbase.columns.mapping 定义在hbase的列族)****

2.创建 hive表
hive> create table ha1(id int,name string)
     row format delimited
     fields terminated by ‘\t‘
     stored as textfile;

[[email protected] ~]$ vi ha1.txt
11      zs
22      ls
33      ww

hive> load data local inpath ‘/home/hadoop/ha1.txt‘ into table ha1;

hive> insert into table hbase_table_1 select * from ha1;

~~hive> select * from  hbase_table_1;  

3.[[email protected] hbase-0.90.6-cdh3u5]$ bin/hbase shell

hbase(main):002:0> scan ‘sq‘
(能看到结果 说明hive把数据存到hbase中)

 

第二种方法直接修改 hive/conf下hive-site.xml文件

<!--        
<property>  
  <name>hive.exec.scratchdir</name>
  <value>/home/hadoop/hive-1.1.0-cdh5.5.2/tmp/</value>
</property>   
-->   

<property>
  <name>hive.querylog.location</name>
  <value>/home/hadoop/hive-1.1.0-cdh5.5.2/logs/</value>
</property>

<property>
  <name>hive.aux.jars.path</name>  
  <value>
    file:///home/hadoop/hive-1.1.0-cdh5.5.2/lib/hive-hbase-handler-1.1.0-cdh5.5.2.jar,
    file:///home/hadoop/hive-1.1.0-cdh5.5.2/lib/guava-14.0.1.jar,
    file:///home/hadoop/hbase-1.0.0-cdh5.5.2/lib/hbase-common-1.0.0-cdh5.5.2.jar,
    file:///home/hadoop/hbase-1.0.0-cdh5.5.2/lib/hbase-client-1.0.0-cdh5.5.2.jar,
    file:///home/hadoop/hbase-1.0.0-cdh5.5.2/lib/hbase-server-1.0.0-cdh5.5.2.jar,
    file:///home/hadoop/hbase-1.0.0-cdh5.5.2/lib/netty-all-4.0.23.Final.jar,
    file:///home/hadoop/hbase-1.0.0-cdh5.5.2/lib/hbase-hadoop2-compat-1.0.0-cdh5.5.2.jar,
    file:///home/hadoop/zookeeper-3.4.5-cdh5.5.2/zookeeper-3.4.5-cdh5.5.2.jar
  </value>
</property>

然后重启hive即可。

ssm框架整合—详细整合教程(spring+springmvc+mybatis)(代码片段)

SSM框架整合—详细整合教程(Spring+SpringMVC+MyBatis)✨博主介绍MyBatis和Spring整合1、整合原因2、整合条件3、整合入门4、整合MyBatis现有配置SpringMVC和Spring整合1、整合理论2、整合实战💫点击直接资料领取💫✨... 查看详情

[springboot系列]springboot如何整合ssmp

文章目录基于SpringBoot实现SSMP整合基于SpringBoot实现SSMP整合SpringBoot之所以好用,就是它能方便快捷的整合其他技术,这里我们先介绍四种技术的整合:整合JUnit整合MyBatis整合MyBatis-Plus整合Druid整合JUnitSpringBoot技术的定位用于简化... 查看详情

ssm整合:spring整合mybatis(代码片段)

01:SSM整合:原始方式02:SSM整合:Spring整合Mybatis2.Spring整合Mybatis2.1整合思路2.2将SqlSessionFactory配置到Spring容器中applicationContext.xml<!--加载propeties文件--><context:property-placehold 查看详情

框架整合——spring与mybatis框架整合

Spring整合MyBatis1.整合Spring【整合目标:在spring的配置文件中配置SqlSessionFactory以及让mybatis用上spring的声明式事务】1).加入Spring的jar包和配置文件<1>、Spring框架需要的jar包:com.springsource.net.sf.cglib-2.2.0.jarcom.springsource.org.aopal 查看详情

#02#sccm站点规划-activedirectory整合

SCCM站点规划-ActiveDirectory整合本篇文章主要对ActiveDirectory整合进行讨论。整合带来的益处在ConfigMgr部署中,可以将CofigMgr和现有的ActiveDirectory进行整合,但整合并非强制要求,下面我们主要说明与ActiveDirectory整合会带来益处:整... 查看详情

ssh整合

1.整合准备:导入jar包:struts相关jar:hibernate相关jar:spring相关jar:c3p0链接池:spring整合struts:spring整合hibernate:整合web项目jar:mysql驱动:整合思路:在action中创建serviceservice中创建daodao中调用方法执行插入操作 action的创建不... 查看详情

springboot---整合druid连接池---连接oracle数据库---整合mybatis---整合thymeleaf---日志配置

...中添加配置配置静态文件目录和模板文件目录@(springboot---整合druid连接池---连接oracle数据库---整合mybatis---整合thymeleaf---日志配置)在新建的springboot项目pom文件中新添druid连接池的依赖<!--d 查看详情

ssm框架整合

ssm(springmvc+spring+mybatis整合)1.整合思路   项目分层:     表现层:springmvc(controller)     业务层:service     持久层:mybatis(mapper) 2.整合前准备工作     第一步:创建整合项目     第二步... 查看详情

springboot整合mybatis-plus+durid数据库连接池(代码片段)

特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能操作会略有不同,不过总的来说不影响。springboot整合之如何选择版本及项目搭建springboot整合之版本号统一管理  springboot整合mybatis-plus+durid数据库连接... 查看详情

springhiernate整合

Spring整合Hibernate一、整合目标1.由IoC容器管理Hibernate的SessionFactory2.让Hibernate使用Spring的声明式事务二、整合步骤先加入Hibernat,再加入Spring,再进行整合。第一步:配置Hibernate1.加入Hibernate相关的包Hibernate的必需包c3p0包和数据库... 查看详情

整合篇activiti业务与流程的整合

对于不管是Activtit还是jbpm来说,业务与流程的整合均类似。启动流程是绑定业务。流程与业务的整合放到动态代理中[java] viewplain copy print"style="text-decoration:none;background-color:inherit;border:none;padding:0px;margin:0px10px 查看详情

springboot的整合(整合redis)

SpringBoot整合redis其实很简单,可以分为如下几步:1.pom.xml中添加redis的依赖2.创建RedisConfig.java文件,(为了设置key及value的序列化方式)3.application.properties文件中添加redis相关的配置4.定义RedisUtil类,里面封装一些redis操作的方法... 查看详情

如何做好项目整合管理

参考技术A 项目整合管理就是为满足各方需求而进行协调以达到预期目的的过程。它是一项综合性、全局性的工作,主要内容是在相互冲突的目标或可选择的目标中权衡得失。虽然所有的项目管理过程在某种程度上都可看成是... 查看详情

springboot整合rabbitmq(新手整合请勿喷)

整合前先在springboot引入rabbitMqJAR包,版本号可以为自己自定义,本项目是跟随springboot的版本<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></ 查看详情

spring和mybatis的整合(包含原始dao的整合方式和mapper代理整合方式)

一.原始dao的开发的整合方式1.引入jar包spring的jar包mybatis的jar包由mybatis提供的mybatis和spring的整合jar包(mybatis-spring-xxx.jar)mysql的驱动jar包(mysql-connector-java-5.1.22-bin.jar)c3p0数据源的jar(c3p0-0.9.5.1.jar)2.引入配置文件和dao的实现代码... 查看详情

springboot——整合ssm(主要整合mybatis)(代码片段)

基于SpringBoot整合SSMSpringBoot整合Spring(不存在)SpringBoot整合SpringMVC(不存在)SpringBoot整合MyBatis(主要)Spring整合MyBatis(复习)SpringConfig导入JdbcConfig导入MyBatisConfigJdbcConfig定义数据源(加载properties配置项:driver、url、username、pas... 查看详情

spring整合mybaits

分享一下自己的Spring框架整合Mybaits框架的步骤,话不多说,上整合步骤,以java项目为例:整合思路:SqlSessionFactory->SqlSession->StudentMapper->CRUD可以发现,MyBatis最终是通过SqlSessionFactory来操作数据库,Spring整合MyBatis其实就是将... 查看详情

springboot2基于springboot实现ssmp整合(代码片段)

...来了,SpringBoot之所以好用,就是它能方便快捷的整合其他技术,本文讲解一些技术的整合方式,通过这本文的学习,感受SpringBoot到底有多酷炫。本文学习如下技术的整合方式整合JUnit整合MyBatis整合MyBatis-Plus整... 查看详情