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. Redis设计与实现——独立功能的实现

    发布和订阅 频道的订阅和退订 struct redisServer{ //键是被订阅者频道 ,键是一个链表,记录所有订阅这个频道的客户端 dict *publish_channels } 订阅实现: ...

  2. PythonCrashCourse 第六章习题

    使用一个字典来存储一个熟人的信息,包括名.姓.年龄和居住的城市.该字典应包含键first_name .last_name .age 和city .将存储在该字典中 的每项信息都打印出来 person ...

  3. 笔记:Xshell、更新源、安装软件

    一.Xshell首次连接kali系统中的ssh 1.Xshell :帮助我们去连接各种服务平台,方便管理服务器,链路可以加密处理(ssh/vsftp). 2.步骤: step1:开启kali中的ssh ...

  4. idea github 上传项目

    1.创建本地仓库,VCS-->Import into Version Control-->Create Git Repository... 在弹框中选中项目所在的位置,点击OK,此时项目文 ...

  5. Jmeter 常用函数(7)- 详解 __time

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 返回各种格式的当前时间 语法格式 ${ ...

  6. 2020.5.26 第六篇 Scrum冲刺博客

    Team:银河超级无敌舰队 Project:招新通 项目冲刺集合贴:链接 目录 一.每日站立会议 1.1 会议照片 1.2 项目完成情况 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3. ...

  7. Oracle - Flashback standby after resetlogs on primary

    一.概述 本文将给大家介绍主库使用rman做不完全恢复后,备库如何通过flashback,继续同步 二.正式实验 本次实验采用的是oracle 11g 单实例 + oracle 11g 单实例dg 1 ...

  8. Spring Cloud Alibaba是什么

    Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式 ...

  9. SEO工程师考试题目

    http://www.wocaoseo.com/thread-201-1-1.html      SEO,全名Search Engine Optimization,其中文名字为'搜索引擎优化' .其英 ...

  10. 网站seo优化有什么优缺点

    http://www.wocaoseo.com/thread-94-1-1.html       seo是什么?这个可能是刚刚知道网络营销或搜索引擎营销的朋友们问的话,笔者在这里装一下,呵呵.说真的现 ...