Hbase与hive整合

//hive与hbase整合 create table lectrure.hbase_lecture10(sname string, score int) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' whth serdeproperties("hbase.columns.mapping" = ':key,cf1:score') tblproperties("hbase.table.name" = "hbase_lecture10");

with serdeproperties : 指定属性,这里指定Hbase表和hive的字段映射关系,注意这里的字段个数和顺序必须和前面Hive表的属性保持一致。第一个字段:key映射到Hive中的sname字段,后面字段依此类推。

//加载数据,可以通过Hive支持的insert overwrite方式将一个表的数据导入HBase. (耗时异常长) insert overwrite table lecture.hbase_lectrure10 Select sname, score From lecture.lectrue10;

//hbase创建表和插入数据 create 'hbase_test',{NAME => 'cf1'}

put 'hbase_test','a','cf1:v1','1'

//创建hive外部表 create external table lecture.hbase_test(key string, value int) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties("hbase.columns.mapping"=":key,cf1:v1") tblproperties("hbase.table.name"="hbase_test");

//字段映射属性

Hbase.columns.mapping 字段映射属性。到目前为止,一个Hive表可以包含N个字段,该属性也需要包含N个声明 hbase.table.default.storage.type 可以是任意的string(默认)或二进制类型。该选项只能在Hive 0.9.*有效

//多列和多列族映射

create table hbase_test2(key string, value1 string, value2 string, value3 string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping "=":key,cf1:coll,cf1:col2,cf2:col3") TBLPROPERTIES("hbase.table.name" = "hbase_test2")

//插入数据

put 'hbase_test2','rk1','cf1:col1','100' put 'hbase_test2','rk1','cf1:col2','101' put 'hbase_test2','rk1','cf1:col3','102' put 'hbase_test2','rk2','cf2:col1','100' put 'hbase_test2','rk2','cf2:col2','101' put 'hbase_test2','rk2','cf2.col3','102'

//扫描表查看数据 scan 'hbase_test2'

2、Hive Map (1)通过Hive建表 create table hbase_test3(row_key string,value map<string,int>) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,cf:");

(2)使用Hive语句insert overwrite insert overwrite table hbase_test3 select sname,map(sname,score) from lecture.lecture 10;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏个人分享

SparkSQL的解析详解

  SparkSQL继承自Hive的接口,由于hive是基于MapReduce进行计算的,在计算过程中大量的中间数据要落地于磁盘,从而消耗了大量的I/O,降低了...

19020
来自专栏恰童鞋骚年

Hadoop学习笔记—9.Partitioner与自定义Partitioner

  在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步骤,如下图所示:

7820
来自专栏一枝花算不算浪漫

[Java面试三]JavaWeb基础知识总结.

77890
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-EF执行SQL语句与存储过程

EF上下文 DbContext包含了DataBase属性,里面有很多方法,但是实际我们只需要用到个方法

14100
来自专栏Java帮帮-微信公众号-技术文章全总结

第二十七天 数据库基础&JDBC使用&工具类Properties&连接池&DBUtils【悟空教程】

第二十七天 数据库基础&JDBC使用&工具类Properties&连接池&DBUtils【悟空教程】

16120
来自专栏Hongten

java file 文件操作 operate file of java

14220
来自专栏Albert陈凯

Hive Tips Hive使用技巧

http://blog.sina.com.cn/s/blog_6a7df1f1010197d2.html 在Hive中,某些小技巧可以让我们的Job执行得更快,...

33980
来自专栏java技术学习之道

JAVA设计模式之单例模式

15530
来自专栏数据库

使用VBA创建Access数据表

导读: 本期介绍如何在Access数据库中创建一张空数据表。下期将介绍如何将工作表中的数据存入数据库对应的表中,随后还将介绍如何从数据库的表中取出数据输出到Ex...

30370
来自专栏个人分享

SparkSQL(源码阅读三)

  额,没忍住,想完全了解sparksql,毕竟一直在用嘛,想一次性搞清楚它,所以今天再多看点好了~

52420

扫码关注云+社区

领取腾讯云代金券