2021年大数据HBase(十):Apache Phoenix的基本入门操作
全網(wǎng)最詳細(xì)的大數(shù)據(jù)HBase文章系列,強(qiáng)烈建議收藏加關(guān)注!
新文章都已經(jīng)列出歷史文章目錄,幫助大家回顧前面的知識(shí)重點(diǎn)。
目錄
系列歷史文章
前言
Apache Phoenix的基本入門操作
一、Phoenix的快速入門
1、需求
2、創(chuàng)建表語(yǔ)法
3、大小寫思考
二、Apache Phoenix的基本使用
1、查看所有的表
2、查看某一個(gè)表
3、刪除表
4、插入數(shù)據(jù)操作
5、查詢數(shù)據(jù)操作
6、更新數(shù)據(jù)
7、刪除數(shù)據(jù)
8、分頁(yè)查詢操作?
9、更多語(yǔ)法
系列歷史文章
2021年大數(shù)據(jù)HBase(十七):HBase的360度全面調(diào)優(yōu)
2021年大數(shù)據(jù)HBase(十六):HBase的協(xié)處理器(Coprocessor)
2021年大數(shù)據(jù)HBase(十五):HBase的Bulk Load批量加載操作
2021年大數(shù)據(jù)HBase(十四):HBase的原理及其相關(guān)的工作機(jī)制
2021年大數(shù)據(jù)HBase(十三):HBase讀取和存儲(chǔ)數(shù)據(jù)的流程
2021年大數(shù)據(jù)HBase(十二):Apache Phoenix 二級(jí)索引
2021年大數(shù)據(jù)HBase(十一):Apache Phoenix的視圖操作
2021年大數(shù)據(jù)HBase(十):Apache Phoenix的基本入門操作
2021年大數(shù)據(jù)HBase(九):Apache Phoenix的安裝
2021年大數(shù)據(jù)HBase(八):Apache Phoenix的基本介紹
2021年大數(shù)據(jù)HBase(七):Hbase的架構(gòu)!【建議收藏】
2021年大數(shù)據(jù)HBase(六):HBase的高可用!【建議收藏】
2021年大數(shù)據(jù)HBase(五):HBase的相關(guān)操作-JavaAPI方式!【建議收藏】
2021年大數(shù)據(jù)HBase(四):HBase的相關(guān)操作-客戶端命令式!【建議收藏】
2021年大數(shù)據(jù)HBase(三):HBase數(shù)據(jù)模型
2021年大數(shù)據(jù)HBase(二):HBase集群安裝操作
2021年大數(shù)據(jù)HBase(一):HBase基本簡(jiǎn)介
前言
?2021大數(shù)據(jù)領(lǐng)域優(yōu)質(zhì)創(chuàng)作博客,帶你從入門到精通,該博客每天更新,逐漸完善大數(shù)據(jù)各個(gè)知識(shí)體系的文章,幫助大家更高效學(xué)習(xí)。
Apache Phoenix的基本入門操作
一、Phoenix的快速入門
1、需求
本次的小DEMO,我們沿用之前的訂單數(shù)據(jù)集。我們將使用Phoenix來(lái)創(chuàng)建表,并進(jìn)行數(shù)據(jù)增刪改查操作。
2、創(chuàng)建表語(yǔ)法
在Phoenix中,我們可以使用類似于MySQL DDL的方式快速創(chuàng)建表。例如:
CREATE TABLE IF NOT EXISTS 表名 (ROWKEY名稱 數(shù)據(jù)類型 PRIMARY KEY列蔟名.列名1 數(shù)據(jù)類型 NOT NULL,列蔟名.列名2 數(shù)據(jù)類型 NOT NULL,列蔟名.列名3 數(shù)據(jù)類型
);
?例如:訂單明細(xì)建表語(yǔ)句
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
);
通過(guò)HBase的Web UI,我們可以看到Phoenix幫助我們自動(dòng)在HBase中創(chuàng)建了一張名為 ORDER_DTL 的表格,可以看到里面添加了很多的協(xié)處理器。
同時(shí),我們也看到這個(gè)表格默認(rèn)只有一個(gè)Region,也就是沒(méi)有分區(qū)的。
3、大小寫思考
Phoenix在建表的時(shí)候, 默認(rèn)會(huì)將小寫字段或者表名或者列族名稱自動(dòng)轉(zhuǎn)換為大寫
思考我就想使用小寫 不想用大寫, 怎么辦? ?
只需要在需要小寫文件, 添加雙引號(hào)
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)
);
注意:
- 一旦使用小寫,,在后期所有操作這個(gè)小寫的內(nèi)容,都需要使用雙引號(hào),建議使用大寫
- 單引號(hào)表示是字符串 雙引號(hào)用于標(biāo)識(shí)是小寫的字段
- 建表的時(shí)候, 主鍵字段, 不能帶列族
二、Apache Phoenix的基本使用
1、查看所有的表
格式: !table
2、查看某一個(gè)表
格式: !desc 表名
3、刪除表
格式: drop table 表名
4、插入數(shù)據(jù)操作
在Phoenix中,插入并不是使用insert來(lái)實(shí)現(xiàn)的。而是 「upsert 」命令。它的功能為insert + update,與HBase中的put相對(duì)應(yīng)。如果不存在則插入,否則更新。列表是可選的,如果不存在,值將按模式中聲明的順序映射到列。這些值必須計(jì)算為常量。
?注意: 主鍵是不存在列族的, 在設(shè)置的時(shí)候, 不要給主鍵前面加列族
格式: upsert into 表名 (列族.列名1,列族.列名2 ..... ) values(值1,值2....)
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','手機(jī)');
5、查詢數(shù)據(jù)操作
查詢數(shù)據(jù)與之前的SQL基本一致的
注意: Phoenix不支持多表查詢操作, 只能進(jìn)行簡(jiǎn)單的單表查詢工作
6、更新數(shù)據(jù)
與添加數(shù)據(jù)的語(yǔ)法是一致的
upsert into order_info values('000001','未支付',4070,1,'4944191','2021-07-14 12:09:16','手機(jī)');
7、刪除數(shù)據(jù)
與標(biāo)準(zhǔn)SQL一樣,Phoenix也是使用delete語(yǔ)句來(lái)實(shí)現(xiàn)數(shù)據(jù)的刪除
DELETE?FROM?ORDER_DTL?WHERE?"id"?=?'000001';
8、分頁(yè)查詢操作?
limit 顯示多少條 offset 從第幾條開始
select * from order_info limit 5 offset 5;
9、更多語(yǔ)法
http://phoenix.apache.org/language/index.html
- 📢博客主頁(yè):https://lansonli.blog.csdn.net
- 📢歡迎點(diǎn)贊 👍 收藏 ?留言 📝 如有錯(cuò)誤敬請(qǐng)指正!
- 📢本文由 Lansonli 原創(chuàng),首發(fā)于 CSDN博客🙉
- 📢大數(shù)據(jù)系列文章會(huì)每天更新,停下休息的時(shí)候不要忘了別人還在奔跑,希望大家抓緊時(shí)間學(xué)習(xí),全力奔赴更美好的生活?
總結(jié)
以上是生活随笔為你收集整理的2021年大数据HBase(十):Apache Phoenix的基本入门操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2021年大数据HBase(九):Apa
- 下一篇: 2021年大数据HBase(十一):Ap