hbase本身不支援sql查詢,為了實現這個功能,引入了phoenix,通過它可以實現hbase的sql查詢。這裡記錄下如何配置並使用phoenix來操作hbase。
(1). 解壓檔案tar -zxvf apache-phoenix-4.14.0-hbase-1.1-bin.tar.gz
(2). 拷貝phoenix-4.14.0-hbase-1.1-client.jar和phoenix-core-4.14.0-hbase-1.1.jar這兩個檔案到hbase的lib目錄下。
注意:如果hbase是集群模式部署,需要拷貝這兩個檔案到每個hbase的lib目錄下。
(3). 複製hbase-site.xml檔案到phoenix的bin目錄下apache-phoenix-4.14.0-hbase-1.1-bin/bin
(4). 重啟hbase服務(必須重啟hbase服務,否則phoenix將不能正常啟動)
sh stop-hbase.sh
sh start-hbase.sh
進入到phoenix的bin目錄下,執行命令./sqlline.py host:port
,其中host是主機名,port為zookeeper埠
如上圖所示,已進入phoenix的控制台。
(1).!tables
命令可以檢視有哪些表,注意:只能查詢到通過phoenix建立的表,通過hbase建立的表無法看到
(2). 建立檢視,將hbase上的表對映到phoenix中
#首先在hbase上建立乙個表student,包含乙個列簇info
hbase(main):004:0> create "student","info"
0 row(s) in 2.6890 seconds
=> hbase::table - student
#向student表中插入一行資料
hbase(main):009:0> put "student","001","info:name","tom"
0 row(s) in 0.0250 seconds
hbase(main):010:0> put "student","001","info:age","23"
0 row(s) in 0.0090 seconds
#接下來,進入phoenix的控制台,建立student的檢視
0: jdbc:phoenix:node3:2181> create view "student"(rid varchar primary key,"info"."name" varchar,"info"."age" varchar);
#查詢0: jdbc:phoenix:node3:2181> select * from "student";
+------+-------+------+
| rid | name | age |
+------+-------+------+
| 001 | tom | 23 |
+------+-------+------+
1 row selected (0.326 seconds)
mybatis連線phoenix操作hbase
直接上 configuration public class hbaseconfig bean configurationproperties prefix spring.datasource.druid.hbase public datasource phoenixdatasource bean ...
phoenix建立表連線hbase
如圖,hbase已經存在表 test yuan 當建立表遇到表建立成功但是資料查詢不到 需要新增column encoded bytes 0 create table test yuan row varchar primary key,base famm varchar,base name varc...
phoenix使用指南
phoenix是hbase開源的sql 可以用標準的jdbc api來代替hbase客戶端api來建立表 插入資料和查詢hbase資料。特點 容易整合 如spark hive flume mr 操作簡單 dml命令以及ddl命令 支援hbase二級索引 步驟1 上傳安裝包到 opt software...