Phoenix操作HBase及二者的主要區別

2021-10-08 10:52:45 字數 3259 閱讀 6029

三、phoenix和hbase的主要區別

一、jar包引入

將下面的jar包拷貝到hbase的lib目錄

apache-phoenix-

4.14

.0-cdh5.

14.2

-bin.tar

phoenix-

4.14

.0-cdh5.

14.2

-server.jar

將其拷貝到hbase的lib目錄下即可

二、phoenix啟動並操作hbase

上述完成後,需要先將hbase重啟一下,然後進入phoenix的bin目錄下使用命令啟動phoenix就可以進入phoenix命令列

./sqlline.py
1. 檢視所有表
0

: jdbc:phoenix:

>

!tables+--

----

------+

----

----

------+

----

----

-----+

----

----

-------

+------

----+--

----

------+

----

----

----

-------

+| table_cat | table_schem | table_name | table_type | remarks | type_name | self_referencing_ |+--

----

------+

----

----

------+

----

----

-----+

----

----

-------

+------

----+--

----

------+

----

----

----

-------

+|| system | catalog | system table |||

||| system | function | system table |||

||| system | log | system table |||

||| system | sequence | system table |||

||| system | stats | system table |||

|||| company | table |||

|||| emp | table |||

|||| stock | table |||

|+----

----

----+--

----

----

----+--

----

-------

+------

----

-----+

----

------+

----

----

----+--

----

----

----

----

-+

2.建表

建表語句和mysql十分相似。

create table student

(s_id integer primary key,s_name varchar(20

));

建完之後可以在phoenix和hbase中分別看到新建的表,而且表名都是大寫的(hbase裡區分大小寫)

3.插值

這裡要使用單引號,如果key值相同,再次賦值就會被update

upsert into student values(1

,'zs'

)upsert into student values(2

,'ls'

)

4.檢視表資料
0

: jdbc:phoenix:

> select * from student;+--

-----+

----

-----+

| s_id | s_name |+--

-----+

----

-----+

|1| zs ||2

| ls |+--

-----+

----

-----+

hbase

(main)

:011:0

> scan 'student'

row column+cell

\x80\x00\x00\x01 column=

0:\x00\x00\x00\x00, timestamp=

1595494663693

, value=x

\x80\x00\x00\x01 column=

0:\x80\x0b, timestamp=

1595494663693

, value=zs

\x80\x00\x00\x02 column=

0:\x00\x00\x00\x00, timestamp=

1595494677448

, value=x

\x80\x00\x00\x02 column=

0:\x80\x0b, timestamp=

1595494677448

, value=ls

2row

(s) in 0.0650 seconds

三、phoenix和hbase的主要區別

首先就是在phoenix中建的表,在hbase裡是可以查到的,而在hbase裡建的表,phoenix中是檢視不到的。

phoenix支援join操作,而hbase不支援join操作,所以可以通過phoenix來操作hbase

使用phoenix連線hbase

hbase本身不支援sql查詢,為了實現這個功能,引入了phoenix,通過它可以實現hbase的sql查詢。這裡記錄下如何配置並使用phoenix來操作hbase。1 解壓檔案tar zxvf apache phoenix 4.14.0 hbase 1.1 bin.tar.gz 2 拷貝phoen...

hive對映hbase,通過phoenix查詢該錶

rowkey key 生成規則待定 列族 單列族 cf1 列名 id,name,code 1在hive中建表對映到hbase create table tmp.test hbase phoenix key string,id int,name string,code string stored by...

Hbase單機部署 phoenix引入

單機版本搭建hbase可以無需使用hadoop,直接使用檔案系統儲存 本文方式 也可以使用hadoop hdfs進行儲存。安裝環境 centos7 軟體版本 jdk1.8.0 hbase2.0.0 phoenix5.0 vi hbase 2.0.0 conf hbase site.xml 新增內容 ...