16进制 hbase phoenix_使用phoenix连接hbase

标签:

hbase本身不支持SQL查询,为了实现这个功能,引入了phoenix,通过它可以实现hbase的sql查询。这里记录下如何配置并使用phoenix来操作hbase。

1. 下载地址

phoenix下载地址:http://apache.fayea.com/phoenix/。

注意:phoenix和hbase之前存在版本对应关系,我使用的hbase版本是1.1.3,所以我下载的phoenix版本是apache-phoenix-4.14.0-HBase-1.1-bin.tar.gz。

2. 配置phoenix

(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

3. 启动phoenix

进入到phoenix的bin目录下,执行命令./sqlline.py host:port,其中host是主机名,port为zookeeper端口

如上图所示,已进入phoenix的控制台。

4. 用法简介

(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)

标签:

来源: https://www.cnblogs.com/concurrencyy/p/9818526.html

你可能感兴趣的:(16进制,hbase,phoenix)