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);
注意:
- Phoneix中创建的表与HBase中映射的表名要相同
- phoneix中创建表的字段名与与HBase中映射表的字段名要相同(注意大小写)
查询Phoenix
7. 插入数据到Phoenix,查询验证
upsert into "hbase_test"(id,"name","age") values('444','haha','33');
查询Phoenix
查询HBase
查询Hive