Hive导入数据到HBase,再与Phoenix映射同步

1. 创建HBase 表

create 'hbase_test','user'

2. 插入数据

put 'hbase_test','111','user:name','jack'
put 'hbase_test','111','user:age','18'

查看HBase

3. 创建Hive外部表关联Hbase

create external table hbase_test1(
	id int,
	name string,
	age int
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,user:name,user:age") 
TBLPROPERTIES("hbase.table.name" = "hbase_test");

查看Hive

4.再插入数据到HBase,查询验证

查询Hive

5. 插入数据到Hive表,查询验证

insert into hbase_test(id,name,age) values(333,'mary',25);

查询Hive

查询HBase

6. 在Phoenix中建立相同的表名以实现与HBase表的映射

create table if not exists "hbase_test"(id varchar primary key, "user"."name" varchar, "user"."age" varchar);

注意:

  1. Phoneix中创建的表与HBase中映射的表名要相同
  2. phoneix中创建表的字段名与与HBase中映射表的字段名要相同(注意大小写)

查询Phoenix

7. 插入数据到Phoenix,查询验证

upsert into "hbase_test"(id,"name","age") values('444','haha','33');

查询Phoenix

查询HBase

查询Hive

原文地址:https://www.cnblogs.com/wuning/p/11568719.html