2021年大数据HBase(十一):Apache Phoenix的视图操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注!
新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。
目录
系列历史文章
前言
Apache Phoenix的视图操作
一、应用场景
二、视图介绍
三、语法说明
四、建立MOMO_CHAT:MSG的视图
1、参考SQL语句
2、尝试查询一条数据
五、完成陌陌查询案例
1、需求
2、编写SQL实现陌陌案例
3、使用java连接Phoenix:
系列历史文章
2021年大数据HBase(十七):HBase的360度全面调优
2021年大数据HBase(十六):HBase的协处理器(Coprocessor)
2021年大数据HBase(十五):HBase的Bulk Load批量加载操作
2021年大数据HBase(十四):HBase的原理及其相关的工作机制
2021年大数据HBase(十三):HBase读取和存储数据的流程
2021年大数据HBase(十二):Apache Phoenix 二级索引
2021年大数据HBase(十一):Apache Phoenix的视图操作
2021年大数据HBase(十):Apache Phoenix的基本入门操作
2021年大数据HBase(九):Apache Phoenix的安装
2021年大数据HBase(八):Apache Phoenix的基本介绍
2021年大数据HBase(七):Hbase的架构!【建议收藏】
2021年大数据HBase(六):HBase的高可用!【建议收藏】
2021年大数据HBase(五):HBase的相关操作-JavaAPI方式!【建议收藏】
2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】
2021年大数据HBase(三):HBase数据模型
2021年大数据HBase(二):HBase集群安装操作
2021年大数据HBase(一):HBase基本简介
前言
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习。
Apache Phoenix的视图操作
一、应用场景
因为我们之前已经创建了 MOMO_CHAT:MSG 表,而且数据添加的方式都是以PUT方式原生API来添加的。故此时,我们不再需要再使用Phoenix创建新的表,而是使用Phoenix中的视图,通过视图来建立与HBase表之间的映射,从而实现数据快速查询。
二、视图介绍
我们可以在现有的HBase或Phoenix表上创建一个视图。表、列蔟和列名必须与现有元数据完全匹配,否则会出现异常。当创建视图后,就可以使用SQL查询视图,和操作Table一样。
三、语法说明
create view "my_hbase_table" (rowkey varchar primary key,列族.列名1 数据类型,列族.列名2 数据类型,....
)
考虑以下几个问题:
- 视图如何映射到HBase的表? 视图的名字必须是:命名空间.表名
- 视图中的列如何映射到HBase的列蔟和列? 列名必须是:列蔟.列名
- 视图中的类如何映射到HBase的ROWKEY? 指定某个列为primary key,自动映射ROWKEY
四、建立MOMO_CHAT:MSG的视图
1、参考SQL语句
-- 创建MOMO_CHAT:MSG视图
CREATE VIEW
IFNOT EXISTS "MOMO_CHAT"."MSG" ("pk" VARCHAR PRIMARY KEY, -- 指定ROWKEY映射到主键"C1"."msg_time" VARCHAR,"C1"."sender_nickyname" VARCHAR,"C1"."sender_account" VARCHAR,"C1"."sender_sex" VARCHAR,"C1"."sender_ip" VARCHAR,"C1"."sender_os" VARCHAR,"C1"."sender_phone_type" VARCHAR,"C1"."sender_network" VARCHAR,"C1"."sender_gps" VARCHAR, "C1"."receiver_nickyname" VARCHAR,"C1"."receiver_ip" VARCHAR,"C1"."receiver_account" VARCHAR,"C1"."receiver_os" VARCHAR,"C1"."receiver_phone_type" VARCHAR,"C1"."receiver_network" VARCHAR,"C1"."receiver_gps" VARCHAR,"C1"."receiver_sex" VARCHAR,"C1"."msg_type" VARCHAR,"C1"."distance" VARCHAR );
2、尝试查询一条数据
SELECT * FROM "MOMO_CHAT"."MSG" LIMIT 1;
五、完成陌陌查询案例
1、需求
根据日期、发送人账号、接收人账号查询历史消息
2、编写SQL实现陌陌案例
SELECTC1."sender_account",C1."receiver_account",C1."msg_time",C1."message"
FROMMOMO_CHAT.MSG
WHEREsubstr( C1."msg_time", 0, 10 ) = '2021-07-16' AND C1."sender_account" = '18461866438' AND C1."receiver_account" = '13641568674';
3、使用java连接Phoenix:
@Override
public List<Msg> getMessage(String date, String sender, String receiver) throws Exception {Class.forName(PhoenixDriver.class.getName()); Connection connection = DriverManager.getConnection("jdbc:phoenix:node1:2181");PreparedStatement ps = connection.prepareStatement("SELECT * FROM MOMO_CHAT.MSG T WHERE substr(\"msg_time\", 0, 10) = ? " + "AND T.\"sender_account\" = ? " + "AND T.\"receiver_account\" = ? ");ps.setString(1, date); ps.setString(2, sender);ps.setString(3, receiver); ResultSet rs = ps.executeQuery(); List<Msg> msgList = new ArrayList<>();while(rs.next()) { Msg msg = new Msg(); msg.setMsg_time(rs.getString("msg_time")); msg.setSender_nickyname(rs.getString("sender_nickyname")); msg.setSender_account(rs.getString("sender_account")); msg.setSender_sex(rs.getString("sender_sex")); msg.setSender_ip(rs.getString("sender_ip")); msg.setSender_os(rs.getString("sender_os")); msg.setSender_phone_type(rs.getString("sender_phone_type")); msg.setSender_network(rs.getString("sender_network")); msg.setSender_gps(rs.getString("sender_gps")); msg.setReceiver_nickyname(rs.getString("receiver_nickyname")); msg.setReceiver_ip(rs.getString("receiver_ip")); msg.setReceiver_account(rs.getString("receiver_account")); msg.setReceiver_os(rs.getString("receiver_os")); msg.setReceiver_phone_type(rs.getString("receiver_phone_type")); msg.setReceiver_network(rs.getString("receiver_network")); msg.setReceiver_gps(rs.getString("receiver_gps")); msg.setReceiver_sex(rs.getString("receiver_sex")); msg.setMsg_type(rs.getString("msg_type")); msg.setDistance(rs.getString("distance")); msgList.add(msg); }return msgList;
}
-
2021年大数据HBase(十一):Apache Phoenix的视图操作相关推荐
- 2021年大数据HBase(十二):Apache Phoenix 二级索引
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix 二级索引 一.索引分类 ...
- 2021年大数据HBase(十):Apache Phoenix的基本入门操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的基本入门操作 一.Pho ...
- 2021年大数据HBase(九):Apache Phoenix的安装
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 前言 系列历史文章 安装Phoenix 一.下载 二.安装 1.上传安装包 ...
- 2021年大数据HBase(八):Apache Phoenix的基本介绍
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 前言 系列历史文章 Apache Phoenix的基本介绍 Apache ...
- 2021年大数据HBase(十六):HBase的协处理器(Coprocessor)
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的协处理器(Coprocessor) 一.起源 二 ...
- 2021年大数据HBase(十五):HBase的Bulk Load批量加载操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的Bulk Load批量加载操作 一.Bulk L ...
- 2021年大数据HBase(十四):HBase的原理及其相关的工作机制
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...
- 2021年大数据HBase(十三):HBase读取和存储数据的流程
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase读取和存储数据的流程 一.HBase读取数据的流程 ...
- 2021年大数据HBase(七):Hbase的架构!【建议收藏】
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hbase的架构 一.Client 二.Master ...
最新文章
- 中国工程院院士:我这里博士生的待遇,不如能干的工人高!
- Linux系统内存管理之伙伴系统分析 - 旭东的博客 - 博客园
- 关于Advisor注入
- OpenCV的projectPoints函数用法
- 汇编语言OFFSET运算符:返回数据标号的偏移量
- Java基础篇:四种代码块详解
- 国家开放大学2021春1127实用卫生统计学题目
- 网吧java安装路径,java环境变量配置
- js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能
- laravel架构判断id存在与否 存在进行什么操作_基于 Module 的 Laravel API 架构
- jQuery简单好用的JavaScript代码库略解使用
- MATLAB数学建模教学 | 史上最强的MATLAB学习网站,你需要的这里统统都有!!!
- 今夜酒店特价与携程的江湖恩怨
- NRF52832 PWM 占空比调整详解
- (上)苹果有开源,但又怎样呢?
- elasticsearch安装 及 启动异常解决
- 各个等级测试工程师所需的必要技能
- 2.1.2 Android刘海屏适配
- sap badi s4 MIGO屏幕实施测试
- 科大讯飞股价暴跌趋势不明,语音交互产业风险巨大吗?
热门文章
- html+spring boot简单的ajax数据传输实现
- vue-devTools插件安装流程
- Go 学习笔记(80)— Go 标准库 container/list(单链表、双链表)
- Go 学习笔记(77)— Go 第三方库之 cronexpr(解析 crontab 表达式,定时任务)
- python内置库之学习configparser库(一)
- 后端开发之libcurl库编译与安装
- SpringCloud Alibaba微服务实战(二) - Nacos服务注册与restTemplate消费
- EDA电子设计技术与应用
- TensorFlow分布式(多GPU和多服务器)详解
- 操作系统常用词典(二)
- 2021年大数据HBase(十二):Apache Phoenix 二级索引