#博学谷IT学习技术支持#
本文接着介绍Phoenix视图操作以及基于Phoenix实现HBase的二级索引,按照惯例引入Phoenix的环境搭建步骤链接:Phoenix环境搭建
HBase中如果已经创建了 数据表,而且数据添加的方式都是以PUT方式原生API来添加的。此时,如果需要使用Phoenix来操作HBase中的表,此时我们不再需要使用Phoenix创建新的表,而是使用Phoenix中的视图,通过视图来建立与HBase表之间的映射,从而实现数据快速查询。
可以在现有的HBase或Phoenix表上创建一个视图;需要注意的是表、列族和列名必须与现有元数据完全匹配,否则会出现异常。当创建视图后,就可以像操作Table一样使用SQL查询视图。
使用CREATE VIEW语法映射HBase中的表:
CREATE VIEW “HBase中的表名” ( k VARCHAR primary key, "v" UNSIGNED_LONG) default_column_family='a'
create view if not exists “WATER_BILL" ("pk" varchar primary key, -- 指定ROWKEY映射到主键"C1". "ADDRESS" varchar,"C1". "LATEST_DATE" varchar,"C1". "NAME" varchar,"C1". "NUM_CURRENT" UNSIGNED_DOUBLE,"C1". "NUM_PREVIOUS" UNSIGNED_DOUBLE,"C1". "NUM_USAGE" UNSIGNED_DOUBLE,"C1". "PAY_DATE" varchar,"C1". "RECORD_DATE" varchar,"C1". "SEX" varchar,"C1". "TOTAL_MONEY" UNSIGNED_DOUBLE);
SQL语句:SELECT * FROM “WATER_BILL” LIMIT 1;
效果:
通过Phoenix,可以非常方便快速地创建二级索引,Phoenix中的索引,其底层还是表现为HBase中的表结构,通过这些索引表可以加快数据查询速度
索引主要有四种类型:全局索引、本地索引、覆盖索引和函数索引,