一、phoenix的簡介 hbase的java api或者其語法很難用,可以認為phoenix是一個中間件,提供了訪問hbase的另外的語法。 二、配置phoenix和hbase 1.下載 phoenix的官網是:http://phoenix.apache.org/,用戶可以到該網址找到對應hbas ...
一、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);