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.jarphoenix-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

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)

使用phoenix连接hbase的更多相关文章

  1. phoenix连接hbase数据库,创建二级索引报错:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions: Tue Mar 06 10:32:02 CST 2018, null, java.net.SocketTimeoutException: callTimeou

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  2. java phoenix 连接hbase

    <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-core& ...

  3. Squirrel GUI+ Phoenix 连接Hbase

    一. 参考 http://blog.csdn.net/maomaosi2009/article/details/45598823 二. 问题解决 >Squirrel Client Connect ...

  4. 通过phoenix在hbase上创建二级索引,Secondary Indexing

    环境描述: 操作系统版本:CentOS release 6.5 (Final) 内核版本:2.6.32-431.el6.x86_64 phoenix版本:phoenix-4.10.0 hbase版本: ...

  5. Phoenix连接安全模式下的HBase集群

    Phoenix连接安全模式下的HBase集群 HBase集群开启安全模式(即启用kerberos认证)之后,用户无论是用HBase shell还是Phoenix去连接HBase都先需要通过kerber ...

  6. [saiku] 使用 Apache Phoenix and HBase 结合 saiku 做大数据查询分析

    saiku不仅可以对传统的RDBMS里面的数据做OLAP分析,还可以对Nosql数据库如Hbase做统计分析. 本文简单介绍下一个使用saiku去查询分析hbase数据的例子. 1.phoenix和h ...

  7. Java访问Phoenix连接

    两种方法,一种是直接使用jdbc连接,一种是使用spring连接. jdbc连接和访问oracle步骤相同: ///////////// 测试Phoenix连接 /////////////// Str ...

  8. Phoenix on HBase

    (一)概要 Apache Phoenix是基于BSD许可开源的一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Apache Phoenix主要特性: 嵌入式的JDBC驱动, ...

  9. Hbase(6)【Java Api Phoenix操作Hbase】

    目录 两种方式操作Phoenix 1.Thick Driver 2.Thin Driver 3.注意事项 两种方式操作Phoenix 官网:http://phoenix.apache.org/faq. ...

随机推荐

  1. Ubuntu18.04安装Nautilus-actions自定义文件管理器鼠标右键列表

    sudo add-apt-repository ppa:daniel-marynicz/filemanager-actions #需要添加源 sudo apt-get install filemana ...

  2. 【算法•日更•第四十三期】QQ for linux

    废话不多说,直接看一张图: 没错,这是QQ,但是这有什么稀奇的?但是在Linux上使用QQ就很稀奇了. 众所周知,腾讯早就已经对Linux下的QQ和微信停止了服务,即便是网页版也不能用,通信这一直是小 ...

  3. ios 创建sdk与demo同一个工程

    思路摘要: 步骤1:创建一个文件夹用来放该项目 步骤2:设置工程工作区间 步骤3:  创建广告sdk项目 步骤4:创建广告sdkDemo项目 步骤5:配置一些文件 步骤6:将sdk导入到demo中进行 ...

  4. DNF手游公测或将只有安卓版 iOS系统怎么办?

    DNF手游在8月10号确定延期后,目前还不知道新的上线时间.玩家都很关心DNF手游新的公测时间,DNF手游官网的预约数据也是不断突破新高,最终突破了五千万!我们目前拿到的小道消息,DNF手游会在9月1 ...

  5. elasticsearch java工具类

    docker运行elasticsearch docker pull elasticsearch:7.8.1 docker run -p 9200:9200 -p 9300:9300 -e " ...

  6. pandas | DataFrame中的排序与汇总方法

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第六篇文章,我们来聊聊DataFrame的排序与汇总运算. 在上一篇文章当中我们主要介绍了DataFrame ...

  7. JUC----04

    目录 1.1 读写问题 1.1 读写问题 ReadWriteLockUnsafeDemo: public class ReadWriteLockUnsafeDemo { // TODO: 2020/7 ...

  8. kolla快速集成openstack-ocata和opencontrail-4.0.1.0单节点

    参考链接: kolla快速集成openstack-ocata和opencontrail-4.0.1.0单节点 https://github.com/Juniper/contrail-docker/wi ...

  9. CSS动画实例:行星和卫星

    设页面中有<div class=" planet "></div>,用来绘制一个行星和卫星图形.这个图形包括三部分:行星.卫星和卫星旋转的轨道.定义. pl ...

  10. 由浅入深理解 IOC 和 DI

    目录 由浅入深理解 IOC 和 DI 开闭原则 OCP(Open Closed Principle) 面向抽象编程 逐步理解实现 IOC 和 DI 的过程(LOL Demo 示例) 比较尴尬的编写程序 ...