phoenix到hbase的應用


一、phoenix的簡介

hbase的java api或者其語法很難用,可以認為phoenix是一個中間件,提供了訪問hbase的另外的語法。

二、配置phoenix和hbase

1.下載

phoenix的官網是:http://phoenix.apache.org/,用戶可以到該網址找到對應hbase版本的phoenix來下載。

這里使用的是phoenix-4.6.0-HBase-0.98-bin.tar.gz這個包

2.解壓並拷貝文件

tar -zxvf phoenix-4.6.0-HBase-0.98-bin.tar.gz -C /usr/local/

解壓完成后可以看到如下的目錄:

其中雷系tests.jar和sources.jar是沒有用的,可以刪除掉

rm -f *-tests.jar
rm -f *-sources.jar

然后拷貝這些jar文件到hbase的安裝目錄下

cp *.jar ../hbase-0.98.8-hadoop2/lib/

重啟region server即可

./hbase-daemon.sh stop regionserver

./hbase-daemon.sh start regionserver

3.執行sqlline.py

進入到phoenix的bin目錄,執行sqlline.py 命令的參數是zk的地址

三、使用phoenix

3.1在phoenix中創建表

create table student(id varchar(64) not null primary key,name varchar(64),age integer);

可以看到在hbase中也出現了一張表

["STUDENT", "SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.SEQUENCE", "SYSTEM.STATS"]

在phoenix中創建的表,表名會自動變成大寫。並且列族是0

3.2使用phoenix插入或者更新數據

 upsert into STUDENT (id,name,age) values ('1','zhangsan',25);

 upsert into STUDENT (id,name,age) values ('2','lisi',20);

 3.3使用phoenix查詢數據

select * from STUDENT where age > 20;

 四、關於phoenix的小問題

1.如何創建小寫的表名?

create table "student"("id" varchar(64) not null primary key,name varchar(64),age interger);

2.如何創建自定義列族的表?

create table "student2"("id" varchar(64) not null primary key ,"cf"."name" varchar(64),"cf"."age" integer);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM