hbase-phoenix的视图,二级索引--重要

Phoenix的视图

​ 说明: 发现在Phoenix的只有在Phoenix自定义的表以及Phoenix的系统表, 如果我们在hbase上自定义的表, 在Phoenix中无法找到的, 那么也就意味着无法通过Phoenix对hbase自建的表进行相关的操作

​ 如何解决这种问题呢? 采用Phoenix提供的视图

视图主要的目的:  对hbase自建表进行映射关系匹配, 这个过程类似于 hive表和hdfs上数据进行映射
	映射成功后, 我们就可以通过Phoenix对hbase中自建表进行相关的查询操作
  • 如何构建视图呢?
格式:
	create view 名称空间."hbase映射表名" (
	   key 类型 primary key,
	   列族1.列名1 类型,
	   列族1.列名2 类型,
	   列族2.列名1 类型,
	   ....
	)

注意事项: 
	1) 视图的名称必须与对应要映射hbase表名保持一致的
	2) 视图的中主键的名称可以任意定义, 但是必须加上主键约束, 同时必须放置表的第一个
	3) 视图中列族名称 以及对应的列名 必须和要映射的hbase表名中列族列名一致
  • 如何删除视图呢
drop view 视图名称;
  • 案例:

    • 目前在hbase中有一张 WATER_BILL 表, 请在Phoenix中构建一个视图与之映射, 并完成以下的查询需求:

      ​ 根据查表的日期, 查询6月份总计有多少条查表记录

1) 创建视图
create view "WATER_BILL" (
id varchar primary key,
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 
);


2) 查询需求: 

select count(1)  from WATER_BILL where record_date >= '2020-06-01 00:00:00' and record_date< '2020-07-01 00:00:00';

在这里插入图片描述
Phoenix支持的相关的数据类型
在这里插入图片描述
在这里插入图片描述

Phoenix的二级索引

索引作用: 提升检索的效率

为什么说索引可以提升查询的效率呢?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值