zoukankan      html  css  js  c++  java
  • 【HBase】快速搞定HBase与Hive的对比、整合


    对比

    在这里插入图片描述


    整合

    需求一

    将hive分析结果的数据,保存到HBase当中
     

    步骤
    一、将HBase的五个jar包拷贝到Hive的lib目录下

    HBase的jar包在/export/servers/hbase-1.2.0-cdh5.14.0/lib,我们要用的五个jar包

    hbase-client-1.2.0-cdh5.14.0.jar         	  
    hbase-hadoop2-compat-1.2.0-cdh5.14.0.jar 
    hbase-hadoop-compat-1.2.0-cdh5.14.0.jar  
    hbase-it-1.2.0-cdh5.14.0.jar    
    hbase-server-1.2.0-cdh5.14.0.jar
    

    可以选择创建软连接,也可以直接拷贝,我这里选择的是软连接

    ln -s /export/servers/hbase-1.2.0-cdh5.14.0/lib/hbase-client-1.2.0-cdh5.14.0.jar              /export/servers/hive-1.1.0-cdh5.14.0/lib/hbase-client-1.2.0-cdh5.14.0.jar             
    ln -s /export/servers/hbase-1.2.0-cdh5.14.0/lib/hbase-hadoop2-compat-1.2.0-cdh5.14.0.jar      /export/servers/hive-1.1.0-cdh5.14.0/lib/hbase-hadoop2-compat-1.2.0-cdh5.14.0.jar             
    ln -s /export/servers/hbase-1.2.0-cdh5.14.0/lib/hbase-hadoop-compat-1.2.0-cdh5.14.0.jar       /export/servers/hive-1.1.0-cdh5.14.0/lib/hbase-hadoop-compat-1.2.0-cdh5.14.0.jar            
    ln -s /export/servers/hbase-1.2.0-cdh5.14.0/lib/hbase-it-1.2.0-cdh5.14.0.jar     /export/servers/hive-1.1.0-cdh5.14.0/lib/hbase-it-1.2.0-cdh5.14.0.jar               
    ln -s /export/servers/hbase-1.2.0-cdh5.14.0/lib/hbase-server-1.2.0-cdh5.14.0.jar          /export/servers/hive-1.1.0-cdh5.14.0/lib/hbase-server-1.2.0-cdh5.14.0.jar   
    
    二、修改hive的配置文件

    把第三台服务器上的hive配置文件hive-site.xmlhive-env.sh

    cd /export/servers/hive-1.1.0-cdh5.14.0/conf
    vim 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>
    
    cd /export/servers/hive-1.1.0-cdh5.14.0/conf
    vim hive-env.sh
    
    export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
    export HBASE_HOME=/export/servers/hbase-1.2.0-cdh5.14.0
    export HIVE_CONF_DIR=/export/servers/hive-1.1.0-cdh5.14.0/conf
    
    三、在Hive中建表

    进入hive客户端

    cd /export/servers/hive-1.1.0-cdh5.14.0/
    bin/hive
    

    创建hive数据库与hive对应的数据库表

    CREATE DATABASE course;
    
    USE course;
    
    CREATE external TABLE IF NOT EXISTS course.score(
    id INT,cname string,score INT) 
    ROW FORMAT DELIMITED FIELDS TERMINATED BY '	'
    STORED AS textfile;
    

    /export目录下创建需要加载的数据

    cd /export/
    vim hive-hbase.txt
    

    中间要用 分割

    1	zhangsan	80
    2	lisi	60
    3	wangwu	30
    4	zhaoliu	70
    

    加载数据

    hive (course)> load data local inpath '/export/hive-hbase.txt' into table score;
    hive (course)> select * from score;
    
    四、创建hive管理表与HBase映射

    hive当中创建内部表

    CREATE TABLE course.hbase_score(
    id INT,cname STRING,score INT)
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
    WITH serdeproperties("hbase.columns.mapping" = "cf:name,cf:score") 
    tblproperties("hbase.table.name" = "hbase_score");
    

    向内部表中插入数据

    INSERT OVERWRITE TABLE course.hbase_score
    SELECT id,cname,score FROM course.score;
    
    五、在HBase中查看hbase_score

    在这里插入图片描述
     

    需求二

    创建hive外部表,映射HBase当中已有的表模型,直接通过

    步骤
    一、在HBase中创建表并插入数据
    create 'hbase_hive_score',{ NAME =>'cf'}
    
    put 'hbase_hive_score','1','cf:name','zhangsan'
    put 'hbase_hive_score','1','cf:score', '95'
    put 'hbase_hive_score','2','cf:name','lisi'
    put 'hbase_hive_score','2','cf:score', '96'
    put 'hbase_hive_score','3','cf:name','wangwu'
    put 'hbase_hive_score','3','cf:score', '97'
    
    二、建立hive外部表,映射HBase中的表及字段
    CREATE external TABLE course.hbase2hive(
    id int, name string, score int)
    STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
    WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:name,cf:score") 
    TBLPROPERTIES("hbase.table.name" ="hbase_hive_score");
    

    在这里插入图片描述

  • 相关阅读:
    HTTP下载文件校验失败原因分析与解决
    读《软件测试的艺术》
    CXF wsdl2java 错误
    oracle 存储过程 多参数 多返回值
    ORACLE 函数 调用
    typescript学习入门(学习笔记)
    js常用方法总结
    jenkins安装及项目构建发布回滚
    Centos8中创建LVM精简逻辑卷
    k8s kubectl命令自动补全
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772426.html
Copyright © 2011-2022 走看看