1. 用phoenix可以创建视图
假如表 t_person创建视图操作
CREATE VIEW "t_person" (pk VARCHAR primary key) default_column_family = ‘FM’
create view view_company(id varchar primary key) default_column_family = name,address;
创建完成后,这里的 t_person
是HBase中 table t_person
的名称。然后定义一个主键,就可以了。
2. 普通视图
假如HBase中存在表 DAMAI
,需要以视图的方式,操作它,那么开始创建视图
CREATE VIEW “DAMAI” ( PK VARCHAR PRIMARY KEY) DEFAULT_COLUMN_FAMILY=’FM’
这里双引号内的 DAMAI
和HBase中的表名是一样的,所以会自动关联。
会自动对应表名,自动关联字段。
这里需要注意:创建视图时,要保证在SQuirrel工具中,没有相同名称的表存在。
3. 过滤数据视图
可以在 Phoenix table 的基础上创建视图
CREATE VIEW my_VIEW (new_col VARCHAR,new_col2 VARCHAR)
AS
SELECT * FROM phoenix_Table WHERE ...
也就是,原来在 phoenix 中,已经创建了表 htablename2。在 htablename2 上建立一个视图,叫 v_t_person
CREATE VIEW v_t_person ( new_col VARCHAR, new_col2 ?VARCHAR ) AS
SELECT * FROM t_person WHERE ...
4. 视图的视图
创建视图的方式,是在视图之上建立视图
CREATE VIEW my_VIEW_ON_VIEW AS
SELECT * FROM MY_VIEW WHERE ...
我们创建的 视图 DAMAI
里面包括了全部的字段。
可以在DAMAI这个视图之上,创建其它视图,这样视图的名称,就可以随便定了。
CREATE VIEW V_DAMAI AS
SELECT * FROM DAMAI WHERE ...
不断往hbase中,添加数据,随着数据的增长,在 phoenix 建的视图中也可以看到的数据的条数,在同步增加。
5. 综述
综上所述,从上面可以看出,为了避免影响 hbase 的表信息,最好是创建一个视图。然后在视图的基础上,再创建其它视图。