hbase與hive整合
    1. hive中有數據 --> 創建hive管理表映射hbase
    例如:
        1)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");
        2)插入數據
            insert overwrite table course.hbase_score select id,cname,score from course.score;
    2. habse中有數據 --> 創建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");

hbase與sqoop整合
    1. mysql中表數據導入hbase中
    例如:
        bin/sqoop import \
        --connect jdbc:mysql://192.168.1.5:3306/library \
        --username root \
        --password root \
        --table book \
        --columns "id,name,price" \
        --column-family "info" \
        --hbase-create-table \
        --hbase-row-key "id" \
        --hbase-table "hbase_book" \
        --num-mappers 1  \
        --split-by id
    2. hbase中的數據導入mysql中
    ps:
        sqoop不支持直接將hbase中的數據導出,我們可以通過hive關聯兩者:
        hbase -> hive外部表 -> hive內部表 -> 通過sqoop -> mysql
    例如:
        1)創建hive外部表映射hbase中的表數據
            CREATE EXTERNAL TABLE course.hbase2mysql (id int,name string,price int)
            STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
            WITH SERDEPROPERTIES (
            "hbase.columns.mapping" =
             ":key,info:name, info:price"
            )
            TBLPROPERTIES( "hbase.table.name" = "hbase_book",
            "hbase.mapred.output.outputtable" = "hbase2mysql");
        2)將hive外部表數據插入到hive內部表中
            CREATE TABLE course.hbase2mysqlin(id int,name string,price int);
        3)通過sqoop將hive內部表數據導到mysql中
            sqoop export -connect jdbc:mysql://192.168.43.98:3306/library -username root
            -password root -table book -export-dir /user/hive/warehouse/course.db/hbase2mysqlin
            --input-fields-terminated-by '\001' --input-null-string '\\N'
            --input-null-non-string '\\N';

hbase整合的更多相关文章

  1. Hive(五):hive与hbase整合

    配置 hive 与 hbase 整合的目的是利用 HQL 语法实现对 hbase 数据库的增删改查操作,基本原理就是利用两者本身对外的API接口互相进行通信,两者通信主要是依靠hive_hbase-h ...

  2. 《OD大数据实战》HBase整合MapReduce和Hive

    一.HBase整合MapReduce环境搭建 1. 搭建步骤1)在etc/hadoop目录中创建hbase-site.xml的软连接.在真正的集群环境中的时候,hadoop运行mapreduce会通过 ...

  3. Hadoop Hive与Hbase整合+thrift

    Hadoop Hive与Hbase整合+thrift 1.  简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句 ...

  4. 大数据工具篇之Hive与HBase整合完整教程

    大数据工具篇之Hive与HBase整合完整教程 一.引言 最近的一次培训,用户特意提到Hadoop环境下HDFS中存储的文件如何才能导入到HBase,关于这部分基于HBase Java API的写入方 ...

  5. Hive与Hbase整合

    Hive与Hbase整合 1.文档 Hive HBase Integration 2.拷贝jar文件 2.1.把Hbase的lib目录下面的jar文件全部拷贝到Hive的lib目录下面 cd /hom ...

  6. Hive和Hbase整合

    Hive只支持insert和delete操作,并不支持update操作,所以无法实施更新hive里的数据,而HBASE正好弥补了这一点,所以在某些场景下需要将hive和hbase整合起来一起使用. 整 ...

  7. Hbase 整合 Hadoop 的数据迁移

    上篇文章说了 Hbase 的基础架构,都是比较理论的知识,最近我也一直在搞 Hbase 的数据迁移, 今天就来一篇实战型的,把最近一段时间的 Hbase 整合 Hadoop 的基础知识在梳理一遍,毕竟 ...

  8. Hive和HBase整合用户指南

    本文讲解的Hive和HBase整合意思是使用Hive读取Hbase中的数据.我们可以使用HQL语句在HBase表上进行查询.插入操作:甚至是进行Join和Union等复杂查询.此功能是从Hive 0. ...

  9. hive与hbase整合过程

    实现目标 Hive可以实时查询Hbase中的数据. hive中的表插入数据会同步更新到hbase对应的表中. 可以将hbase中不同的表中的列通过 left 或 inner join 方式映射到hiv ...

  10. hive和hbase整合的原因和原理

    为什么要进行hive和hbase的整合? hive是高延迟.结构化和面向分析的: hbase是低延迟.非结构化和面向编程的. Hive集成Hbase就是为了使用hbase的一些特性.或者说是中和它们的 ...

随机推荐

  1. 详解Python的作用域和命名空间

    最近在学习Python,不得不说,Python真的是一门很好用的语言.但是学习的过程中关于变量作用域(scope)的命名空间(namespace)的问题真的把我给搞懵了.在查阅了相关资料之后,觉得自己 ...

  2. grep用法

    正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:在以前上班 ...

  3. SpringSecurity简单记录

    在pom.xml中将springsecurity导入后,对于springsecurity会出现三个依赖包:spring-security-web,spring-security-config,spri ...

  4. static(静态)关键字

    class Person{String name; //成员变量,实例变量(实例中的变量) //共享数据出现在对象之前static String country="cn"; //对 ...

  5. c#@三种作用

    以前只知道@在C#中为了写文件路径的\不要加转义符而在前面加上@标识符,没想到@还有其他的作用 1.忽略转义字符例如string fileName = "D:\\文本文件\\text.txt ...

  6. 初学者--oracle安装完后出现的一些问题

    对于初学者安装数据库后,立马回运行数据库,看是否安装成功,但oracle安装完成,其中有些都是默认状态,所以需要手动修改和添加.例如这个问题 1.pl/sql developer was not te ...

  7. 二、redis持久化

    一.redis持久化 1 RDB持久化(定redis的数据定时dump到磁盘上的RDB持久化)RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据 ...

  8. Android中获取文件路径的方法总结及对照

    最近在写文件存贮,Android中获取文件路径的方法比较多,所以自己也很混乱.找了好几篇博客,发现了以下的路径归纳,记录一下,以备不时之需 Environment.getDataDirectory() ...

  9. python学习-序列基本知识

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 用到的主要序列有元组和列表. 先定义一个列表 names=[&q ...

  10. python pycharm pyqt 安装

    1.python3 windows:www.python.org/download/windows/ 我的是WIN7  64位所以选的是    Download Windows x86-64 exec ...