Phoenix安装与两种方式使用
简介
HBase、Hive都是构建在HDFS之上,而Phoenix则是构建在HBase之上,基于HBase的API,让我们能够以SQL的方式,更高效专业的与HBase交互。
基于Phoenix,除了Phoenix命令行,也可以通过可视化界面SQuirrel来操作HBase中Phoenix Tables。
Phoenix官网:https://phoenix.apache.org/language/index.html 官网中Phoenix 语法、数据类型、函数、Join操作、子查询等写的非常清楚,可多参考官网。
Phoenix安装
1、Phoenix节点规划
HOST | 角色 |
---|---|
node1 | ZooKeeper、HMaster、HRegionServer |
node2 | ZooKeeper、HRegionServer |
node3 | ZooKeeper、HRegionServer、HBase Client、Phoenix(待安装) |
node4 | HRegionServer、HBase Client |
2、下载解压Phoenix
#官网下载phoenix:http://phoenix.apache.org/download.html
#选择适合hbase版本的Phoenix,这里hbase版本1.1.2
[root@node3 ~]# wget http://mirrors.hust.edu.cn/apache/phoenix/apache-phoenix-4.13.1-HBase-1.1/bin/apache-phoenix-4.13.1-HBase-1.1-bin.tar.gz
#解压
[root@node3 ~]# tar -zxvf apache-phoenix-4.13.1-HBase-1.1-bin.tar.gz
3、移除jar包
移除HBase region server和master server lib目录中先前版本的phoenix-*-server.jar包
[root@node1 ~]# mv /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar.bk
[root@node2 ~]# mv /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar.bk
[root@node3 ~]# mv /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar.bk
[root@node4 ~]# mv /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar /usr/hdp/2.6.4.0-91/hbase/lib/phoenix-server.jar.bk
4、拷贝jar包
拷贝phoenix中phoenix-*-server.jar到HBase所有region server 和 master server lib目录
#拷贝到node1 region server 和 master server lib
[root@node3 ~]# scp apache-phoenix-4.13.1-HBase-1.1-bin/phoenix-*-server.jar root@node1:/usr/hdp/2.6.4.0-91/hbase/lib
#拷贝到node2 region server lib
[root@node3 ~]# scp apache-phoenix-4.13.1-HBase-1.1-bin/phoenix-*-server.jar root@node2:/usr/hdp/2.6.4.0-91/hbase/lib
#拷贝到node3 region server lib
[root@node3 ~]# cp apache-phoenix-4.13.1-HBase-1.1-bin/phoenix-*-server.jar /usr/hdp/2.6.4.0-91/hbase/lib
#拷贝到node4 region server lib
[root@node3 ~]# scp apache-phoenix-4.13.1-HBase-1.1-bin/phoenix-*-server.jar root@node4:/usr/hdp/2.6.4.0-91/hbase/lib
5、拷贝hbase-site.xml到phoenix bin目录
[root@node3 bin]# cp /usr/hdp/2.6.4.0-91/hbase/conf/hbase-site.xml .
6、重启HBase
通过Phoenix 命令行使用HBase
1、进入命令行
[root@node3 bin]# pwd
/root/apache-phoenix-4.13.1-HBase-1.1-bin/bin
#node2是ZooKeeper其中一个节点,端口默认2181
[root@node3 bin]# python sqlline.py node2
2、Phoenix 命令
Phoenix语法:https://phoenix.apache.org/language/index.html
#查看所有命令
help
#创建表 可指定表空间
create table if not exists student.baseInfo(
id integer not null primary key,
name varchar,
age integer,
gender boolean default false
);
#查看表结构
!desc student.baseInfo;
#插入数据
upsert into student.baseInfo (id,name,age,gender) values(1,'A',5,false);
upsert into student.baseInfo (id,name,age,gender) values(2,'B',5,false);
upsert into student.baseInfo (id,name,age,gender) values(3,'A',5,true);
upsert into student.baseInfo (id,name,age,gender) values(4,'A',5,false);
upsert into student.baseInfo (id,name,age,gender) values(5,'A',5,true);
upsert into student.baseInfo (id,name,age,gender) values(6,'B',5,false)#查看数据
select * from student.baseInfo;
+-----+-------+------+---------+
| ID | NAME | AGE | GENDER |
+-----+-------+------+---------+
| 1 | A | 5 | false |
| 2 | B | 5 | false |
| 3 | A | 5 | true |
| 4 | A | 5 | false |
| 5 | A | 5 | true |
| 6 | B | 5 | false |
+-----+-------+------+---------+
#更新数据
upsert into student.baseInfo (id,name,age,gender) values(1,'A',16,false);
#再查看更新的数据
select * from student.baseInfo where id=1;
+-----+-------+------+---------+
| ID | NAME | AGE | GENDER |
+-----+-------+------+---------+
| 1 | A | 16 | false |
+-----+-------+------+---------+
#聚合统计排序
select gender,sum(age) as sumAge,count(id) as countID from student.baseInfo group by gender order by countID desc;
+---------+---------+----------+
| GENDER | SUMAGE | COUNTID |
+---------+---------+----------+
| false | 31 | 4 |
| true | 10 | 2 |
+---------+---------+----------+
通过SQuirrel SQL Client访问HBase中Phoenix Table
1、下载安装SQuirreL SQL Client
#下载
http://squirrel-sql.sourceforge.net/
#安装
java -jar squirrel-sql-snapshot-20180226_2207-standard.jar
2、复制phoenix-hbase-client jar到SQuirrel lib目录
phoenix-4.13.1-HBase-1.1-client.jar
3、添加驱动Dirver
Name:Phoenix
Example URL: jdbc:phoenix:zkNode
Class Name:org.apache.phoenix.jdbc.PhoenixDriver
4、创建连接别名Alias
Name: any name
Driver: Phoenix
URL:jdbc:phoenix:zkNode:2181:/hbase-unsecure
User Name: anything
Password: anything
5、查看phoenix表内容
6、Sql分组聚合查询
Phoenix安装与两种方式使用相关推荐
- Linux 安装 jdk ( 两种方式 )
安装jdk有两种方法:手动安装 yum安装. 方式一: yum安装 1.查询要安装jdk的版本, 命令:yum -y list java* 2.安装jdk1.8 yum install -y java ...
- Linux安装jdk(两种方式)
建设上面的环境第一步肯定是安装jdk,所以和大家一起学一下基本知识centos7.5安装jdk1.8. 安装jdk有两种方法:手动安装 yum安装. yum安装如下: 1.查询要安装jdk的版本: 命 ...
- ubuntu 安装redis两种方式 教程
方式一: 下载地址:http://redis.io/download,下载最新文档版本. 本教程使用的最新文档版本为 2.8.17,下载并安装: $ wget http://download.redi ...
- linux 安装mysql两种方式
yum -y install gcc gcc-c++ ncurses-devel cmake bison zlib zlib-devel libxml openssl dtrace ...
- CentOS 8 安装 JAVA 三种方式(yum / rpm / tar.gz)
JAVA 8:官方下载 JAVA 11:官方下载 手动安装的两种方式,在安装前统一在usr目录下创建一个JAVA目录 mkdir /usr/java [root@CentOS8 ~]# mkdir / ...
- linux下安装mysql的方式_linux下安装mysql的两种方式
linux下安装mysql的两种方式 1 源码安装 1 创建mysql用户: useradd mysql passwd mysql 2 解压缩下载的mysql包: tar -zxvf mysql-5. ...
- 怎么看python环境变量配置是否好了验证图片_简述验证Anaconda是否安装成功的两种方式和Anaconda环境变量配置过程...
加个"星标",每天一起快乐的学习 今 日 鸡 汤 闻道欲来相问讯,西楼望月几回圆. /1 前言/ 大家好,我是 Rocky0429,今天我给大家介绍一下验证Anaconda是否安装 ...
- Java技术分享:升级所安装Java版本的两种方式
在进行Java开发的时候我们可能会需要升级所安装的Java版本,那么你知道应该如何安装吗?小千今天就来给大家介绍两种方式. 一.卸载掉原本安装的Java,下载最新安装包安装即可. 这个步骤就不介绍了, ...
- 基础知识:编程语言介绍、Python介绍、Python解释器安装、运行Python解释器的两种方式、变量、数据类型基本使用
阅读目录 今日学习内容: 1.编程语言的介绍 2.Python介绍 3.安装Python解释器(多版本共存) 4.运行Python解释器程序两种方式.(交互式与命令行式)(♥♥♥♥♥) 5.变量(♥♥ ...
最新文章
- GROMACS运行参数整理(二)
- 关于java文件扩展名认识
- 完美应用 极通EWEBS 新版新秀
- linux查看native进程,Android 分析应用程序占用native内存
- java做一个客房管理系统定制_开题报告基于Java的酒店客房管理系统的设计与实现.doc...
- windows winrar 指令_Windows上WinRAR.exe命令行参数说明(转载) .
- vue里面rules_vue如何使用rules对表单字段进行校验
- vue.js 源代码学习笔记 ----- instance inject
- 使用Movavi Video Editor如何做局部放大的影片特效
- Ubuntu下.tar.bz2和.tar.gz文件的解压命令
- PTAM在Linux下编译运行
- 3Dtouch 基本原理
- 【托业】【语法题】笔记
- 循环神经网络-高级篇RNN Classifier
- golang代码实现chmod 777效果
- 让CEF支持HEVC(H.265)视频播放
- drupal 中基本的数据库操作
- 竞争学习神经网络详解
- ffmpeg利用滤镜合并两个视频,一左一右
- 智慧厕所厕位引导系统怎么建?中期科技zontree智慧公厕一探究竟
热门文章
- 为iPhone X设计
- iphone11 android,iPhone11和iPhonex有什么区别 iPhone11和iPhonex买哪个好
- 李宏毅nlp学习笔记04:bert和它的好朋友们
- WEB2.0赐予中国互联网什么力量
- Windows Media Player -- WMP.dll版本号与期望值不符
- Roberto Giobbi的纸牌大学
- ipad iphone开发_如何解锁iPhone或iPad
- Java关于数组基础的讲解
- CentOS7 如何注册系统服务
- 【小家java】Java中集合List、Set、Map删除元素的方法大总结(避免ConcurrentModificationException异常)