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;

优秀的个人博客,低调大师

微信关注我们

转载内容版权归作者及来源网站所有!本站原创内容转载请注明来源!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。