前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2021年大数据HBase(十):Apache Phoenix的基本入门操作

2021年大数据HBase(十):Apache Phoenix的基本入门操作

作者头像
Lansonli
发布2021-10-11 16:32:04
1.8K0
发布2021-10-11 16:32:04
举报
文章被收录于专栏:Lansonli技术博客Lansonli技术博客

Apache Phoenix的基本入门操作

一、Phoenix的快速入门

1、需求

本次的小DEMO,我们沿用之前的订单数据集。我们将使用Phoenix来创建表,并进行数据增删改查操作。

2、创建表语法

在Phoenix中,我们可以使用类似于MySQL DDL的方式快速创建表。例如:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS 表名 (
         ROWKEY名称 数据类型 PRIMARY KEY
         列蔟名.列名1 数据类型 NOT NULL,
         列蔟名.列名2 数据类型 NOT NULL,
         列蔟名.列名3 数据类型
);

 例如:订单明细建表语句

代码语言:javascript
复制
create table if not exists ORDER_DTL(
    ID varchar primary key,
    C1.STATUS varchar,
    C1.MONEY float,
    C1.PAY_WAY integer,
    C1.USER_ID varchar,
    C1.OPERATION_TIME varchar,
    C1.CATEGORY varchar
);

通过HBase的Web UI,我们可以看到Phoenix帮助我们自动在HBase中创建了一张名为 ORDER_DTL 的表格,可以看到里面添加了很多的协处理器。

同时,我们也看到这个表格默认只有一个Region,也就是没有分区的。

3、大小写思考

Phoenix在建表的时候, 默认会将小写字段或者表名或者列族名称自动转换为大写

思考我就想使用小写 不想用大写, 怎么办?  

只需要在需要小写文件, 添加双引号

代码语言:javascript
复制
create table if not exists "order_info" (
"id"  varchar(50)  primary key ,
c1."status" varchar(10) ,
c1."money" float ,
c1."pay_way" integer ,
"c1".user_id varchar(20),
"c1".operation_time varchar(20),
c1.category  varchar(20)
);

注意:

  • 一旦使用小写,,在后期所有操作这个小写的内容,都需要使用双引号,建议使用大写
  • 单引号表示是字符串 双引号用于标识是小写的字段
  • 建表的时候, 主键字段, 不能带列族

二、Apache Phoenix的基本使用

1、查看所有的表

代码语言:javascript
复制
格式: !table

2、查看某一个表

代码语言:javascript
复制
格式: !desc 表名

3、删除表

代码语言:javascript
复制
格式: drop table 表名

4、插入数据操作

在Phoenix中,插入并不是使用insert来实现的。而是 「upsert 」命令。它的功能为insert + update,与HBase中的put相对应。如果不存在则插入,否则更新。列表是可选的,如果不存在,值将按模式中声明的顺序映射到列。这些值必须计算为常量。

 注意: 主键是不存在列族的, 在设置的时候, 不要给主键前面加列族

代码语言:javascript
复制
格式: upsert into 表名 (列族.列名1,列族.列名2 ..... ) values(值1,值2....)
代码语言:javascript
复制
 upsert into order_info (id,c1.status,c1.money) values('000001','以提交',4070);
 
 upsert into order_info values('000001','以提交',4070,1,'4944191','2021-07-14 12:09:16','手机');

5、查询数据操作

查询数据与之前的SQL基本一致的

注意: Phoenix不支持多表查询操作, 只能进行简单的单表查询工作

6、更新数据

与添加数据的语法是一致的

代码语言:javascript
复制
upsert into order_info values('000001','未支付',4070,1,'4944191','2021-07-14 12:09:16','手机');

7、删除数据

与标准SQL一样,Phoenix也是使用delete语句来实现数据的删除

代码语言:javascript
复制
DELETE FROM ORDER_DTL WHERE "id" = '000001';

8、分页查询操作 

limit 显示多少条 offset 从第几条开始

代码语言:javascript
复制
select * from order_info limit 5 offset 5;

9、更多语法

http://phoenix.apache.org/language/index.html


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢大数据系列文章会每天更新,停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Apache Phoenix的基本入门操作
    • 一、Phoenix的快速入门
      • 1、需求
      • 2、创建表语法
      • 3、大小写思考
    • 二、Apache Phoenix的基本使用
      • 1、查看所有的表
      • 2、查看某一个表
      • 3、删除表
      • 4、插入数据操作
      • 5、查询数据操作
      • 6、更新数据
      • 7、删除数据
      • 8、分页查询操作 
      • 9、更多语法
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档