请问一下,Phoenix操作habse ,如果在A模式下有一个表,需要移动到B模式下面去,除了删除A模式下的表重新在B模式下新建,还有更好的办法嘛?
一.与hbase 的映射
1.空表格映射
在phoenix中创建表格,会自动映射到hbase中,我们可以通过hbase shell 来查看。举个例子,我们创建了一个表,
create table hbase_col_test(
pk varchar not null primary key,
//primary key 映射到hbase 中的rowkey
"cf1"."col1" varchar ,
//对应hbase的列族cf1,列名为col1
"cf1"."col2" varchar ,
//对应cf1:col2
"cf2"."col3" varchar
//对应cf2:col3
);
1
2
3
4
5
6
7
8
9
10
创建的时候注意格式的书写。
2.对于已经存在的hbase表做映射
通过创建视图来查询hbase表,我们举个例子,对于一个列族的查询:
create view "test" (
k varchar not null primary key, //主键对应hbase 中的rowkey
"val" varchar)default_column_family='cf1';//列名与hbase 中对应即可
1
2
3
4
对于多个列族的查询,可以这样写:
create view "hbase_to_phoe"(
pk varchar not null primary key, -----主键对应
"addr"."province" varchar, -----addr列族,province列(hbase中定义的列)
"school"."name" varchar); -----school列族,name列(hbase中定义列)
老兄好像有点答非所问吧