




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Phoenix安装与使用文档作者:宋亚飞 2015年3月27日目录TOC o 1-3 h u HYPERLINK l _Toc16745 Phoenix安装与使用文档 PAGEREF _Toc16745 1 HYPERLINK l _Toc16460 目录 PAGEREF _Toc16460 1 HYPERLINK l _Toc19327 描述 PAGEREF _Toc19327 2 HYPERLINK l _Toc20671 Phoenix安装 PAGEREF _Toc20671 2 HYPERLINK l _Toc20771 1、 下载Phoenix PAGEREF _Toc20771 2
2、 HYPERLINK l _Toc20860 2、上传压缩包 PAGEREF _Toc20860 3 HYPERLINK l _Toc30228 3、解压缩文件 PAGEREF _Toc30228 3 HYPERLINK l _Toc22742 4、 配置Phoenix PAGEREF _Toc22742 4 HYPERLINK l _Toc15007 5、 修改权限 PAGEREF _Toc15007 4 HYPERLINK l _Toc17417 6、 验证是否成功 PAGEREF _Toc17417 4 HYPERLINK l _Toc29870 Phoenix使用 PAGEREF _T
3、oc29870 5 HYPERLINK l _Toc12423 1、建表 PAGEREF _Toc12423 5 HYPERLINK l _Toc13904 2、导入数据 PAGEREF _Toc13904 5 HYPERLINK l _Toc20710 3、查询数据 PAGEREF _Toc20710 5 HYPERLINK l _Toc13699 查询1、查询全部记录 PAGEREF _Toc13699 5 HYPERLINK l _Toc510 查询2、查询记录总条数 PAGEREF _Toc510 6 HYPERLINK l _Toc10053 查询3、查询结果分组排序 PAGEREF
4、 _Toc10053 6 HYPERLINK l _Toc27192 查询4、求平均值 PAGEREF _Toc27192 6 HYPERLINK l _Toc20536 查询5、多字段分组,排序,别名。 PAGEREF _Toc20536 7 HYPERLINK l _Toc31777 查询6、查询日期类型字段 PAGEREF _Toc31777 7 HYPERLINK l _Toc24411 查询7、字符串,日期类型转换 PAGEREF _Toc24411 7 HYPERLINK l _Toc16056 4、Phoenix基本shell命令 PAGEREF _Toc16056 8 HYPE
5、RLINK l _Toc2991 5、 用Phoenix Java api操作HBase PAGEREF _Toc2991 9 HYPERLINK l _Toc4374 Phoenix支持 PAGEREF _Toc4374 12描述现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等。今天主要记录Phoenix。phoenix,中文译为“凤凰”,很美的名字。Phoenix是由开源的一个项目,后又捐给了Apache基金会。它相当于一个Java中间件,提供jdbc连接,操作hbase数据表。但是在生产环境中,不可以用在OLTP中。在线事务处理的
6、环境中,需要低延迟,而Phoenix在查询HBase时,虽然做了一些优化,但延迟还是不小。所以依然是用在OLAT中,再将结果返回存储下来。Phoenix官网上,对Phoenix讲解已经很详细了。如果英语好,可以看官网,更正式一些。Phoenix安装下载Phoenix下载地址:phoenix与HBase版本对应关系Phoenix 4.x - HBase 0.98.1+我目前测试使用版本概况:2、上传压缩包将phoenix-4.3.0-bin.tar.gz上传hbase集群的其中一个服务器的一个目录下我上传的目录为/usr/lib3、解压缩文件tar 可看到有个phoenix-4.3.0-bin/
7、目录,里面包含了Phoenix的所有文件。配置Phoenix4.1、将phoenix-4.3.0-bin/目录下phoenix-core-4.3.0.jar、phoenix-4.3.0-client.jar拷贝到各个hbase的lib目录下。4.2、重启hbase集群,使Phoenix的jar包生效。4.3、将hbase的配置文件hbase-site.xml 放到phoenix-4.3.0-bin/bin/下,替换Phoenix原来的配置文件。修改权限切换到下,修改psql.py和sqlline.py的权限为777命令:chmod 777 文件名验证是否成功6.1、在phoenix-4.3.0
8、-bin/bin/下输入命令: ./sqlline.py localhost 如果看到如下界面表示启动成功。6.2、输入!tables,查看都有哪些表。红框部分是用户建的表,其他为Phoenix系统表,系统表中维护了用户表的元数据信息。6.3、退出Phoenix。输入!exit命令(PS:Phoenix早期版本如(2.11版本)需输入!quilt才可退出,目前高版本已改为!exit命令)Phoenix使用1、建表./psql.py localhost:2181 ./examples/stock_symbol.sql,其中./examples/stock_symbol.sql是建表的sql语句C
9、REATE TABLE IF NOT EXISTS WEB_STAT ( HOST CHAR(2) NOT NULL, DOMAIN VARCHAR NOT NULL, FEATURE VARCHAR NOT NULL, DATE DATE NOT NULL, USAGE.CORE BIGINT,-usage指定列族名 USAGE.DB BIGINT,-usage指定列族名 STATS.ACTIVE_VISITOR INTEGER CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)-指定主键);2、导入数据命令:./psql.py -
10、t WEB_STAT localhost:2181 ./examples/web_stat.csvPS:其中 -t 后面是表名, ./examples/web_stat.csv 是csv数据(注意数据的分隔符需要是逗号)。3、查询数据首先使用sqlline查看(截图为部分列的数据),查询表名不区分大小写。查询1、查询全部记录语句:select * from web_stat;查询2、查询记录总条数语句:select count(1) from web_stat;查询3、查询结果分组排序语句:select domain,count(1) as num from web_stat group by
11、 domain order by num desc;查询4、求平均值语句:select avg(core) from web_stat;查询5、多字段分组,排序,别名。语句:select domain,count(1) as num,avg(core) as core,avg(db) as db from web_stat group by domain order by num desc;查询6、查询日期类型字段语句:select host,domain,date from web_stat where TO_CHAR(date)=2013-01-15 07:09:01.000;查询7、字符
12、串,日期类型转换语句:select TO_DATE(20131125,yyyyMMdd) from web_stat;Ps:输入的日期字符串会被转换为hbase表date的日期类型。总结:Phoenix还支持了很多函数和sql语法,在这里不再一一列举。更多请参考 HYPERLINK l _Phoenix支持 Phoenix支持部分4、Phoenix基本shell命令PS:以下,可能有部分命令在Phoenix更高版本中已失效,改为其他命令代替,请注意。0: jdbc:phoenix:localhost help!all Execute the specified SQL against all
13、the current connections!autocommit Set autocommit mode on or off!batch Start or execute a batch of statements!brief Set verbose mode off!call Execute a callable statement!close Close the current connection to the database!closeall Close all current open connections!columns List all the columns for t
14、he specified table!commit Commit the current transaction (if autocommit is off)!connect Open a new connection to the database.!dbinfo Give metadata information about the database!describe Describe a table!dropall Drop all tables in the current database!exportedkeys List all the exported keys for the
15、 specified table!go Select the current connection!help Print a summary of command usage!history Display the command history!importedkeys List all the imported keys for the specified table!indexes List all the indexes for the specified table!isolation Set the transaction isolation for this connection
16、!list List the current connections!manual Display the SQLLine manual!metadata Obtain metadata information!nativesql Show the native SQL for the specified statement!outputformat Set the output format for displaying results (table,vertical,csv,tsv,xmlattrs,xmlelements)!primarykeys List all the primary
17、 keys for the specified table!procedures List all the procedures!properties Connect to the database specified in the properties file(s)!quit Exits the program 此命令在Phoenix4.3版本已改为!exit!reconnect Reconnect to the database!record Record all output to the specified file!rehash Fetch table and column nam
18、es for command completion!rollback Roll back the current transaction (if autocommit is off)!run Run a script from the specified file!save Save the current variabes and aliases!scan Scan for installed JDBC drivers!script Start saving a script to a file!set Set a sqlline variable用Phoenix Java api操作HBa
19、se从集群拷贝以下文件:core-site.xml、hbase-site.xml、hdfs-site.xml文件放到工程src下把phoenix的phoenix-4.3.0-client.jar和phoenix-core-4.3.0.jar添加到工程classpath配置集群中各节点的hosts文件,把客户端的hostname:IP添加进去在客户端host文件中加入集群的hostname和IP工程截图工程代码package com.byzoro.phoenix.test;import java.sql.Connection;import java.sql.DriverManager;impor
20、t java.sql.ResultSet;import java.sql.Statement;public class Phoenix_Test /* * 使用phoenix提供的api操作hbase读取数据 * author songyafei * param args * throws Throwable * date 2015-03-25 */public static void main(String args) throws Throwable try /下面的驱动为Phoenix老版本使用2.11使用,对应hbase0.94+/Class.forName(com.salesforc
21、e.phoenix.jdbc.PhoenixDriver);/phoenix4.3用下面的驱动对应hbase0.98+Class.forName(org.apache.phoenix.jdbc.PhoenixDriver); catch (Exception e) e.printStackTrace();/这里配置zookeeper的地址,可单个,也可多个。可以是域名或者ipString url = jdbc:phoenix:1:2181;/String url = jdbc:phoenix:41.,42.,43.:2181;Connection conn = DriverManager.ge
22、tConnection(url);Statement statement = conn.createStatement();String sql = select count(1) as num from web_stat;long time = System.currentTimeMillis();ResultSet rs = statement.executeQuery(sql);while (rs.next() int count = rs.getInt(num);System.out.println(row count is + count);long timeUsed = Syste
23、m.currentTimeMillis() - time;System.out.println(time + timeUsed + mm);/关闭连接rs.close();statement.close();conn.close();运行截图:实例二:package com.byzoro.phoenix.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Phoenix_Test /* * 使用
24、phoenix提供的api操作hbase中读取数据 * author songyafei * param args * throws Throwable * date 2015-03-25 */public static void main(String args) throws Throwable try /下面的驱动为Phoenix老版本使用2.11使用,对应hbase0.94+/Class.forName(com.salesforce.phoenix.jdbc.PhoenixDriver);/phoenix4.3用下面的驱动对应hbase0.98+Class.forName(org.apache.phoenix.jdbc.PhoenixDriver); catch (Exception e) e.printStackTrace();/这里配置zk的地址,可单个,也可多个。可以是域名或者ipString url = jdbc:phoenix:1:2181;/String url = jdbc:phoenix:41.,42.,43.:2181;Connection conn = DriverManager.getConnection(url);Statement statement = conn.createSta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西机电职业技术学院《德国精神与文化》2023-2024学年第二学期期末试卷
- 宿州学院《生物资源保护与利用》2023-2024学年第二学期期末试卷
- 江苏省无锡市第一女子中学2025届高三下学期联合考试物理试题含解析
- 石家庄信息工程职业学院《地方教学名师课堂》2023-2024学年第二学期期末试卷
- 辽宁农业职业技术学院《数学方法论与解题研究》2023-2024学年第一学期期末试卷
- 莆田学院《土木工程施工技术课程设计》2023-2024学年第一学期期末试卷
- 天津外国语大学《病理形态学诊断技术》2023-2024学年第二学期期末试卷
- 山东省邹平市一中学2025届高三4月月考试生物试题含解析
- 公司股权转让居间协议书二零二五年
- 二零二五版个人宅基地转让的协议书
- 2024年全球及中国通信用氮化铝陶瓷基板行业头部企业市场占有率及排名调研报告
- 2024年护士资格证考试内外科基础护理试题及答案
- 慢性病管理的重要试题及答案
- 2025年中铁特货物流股份有限公司招聘(75人)笔试参考题库附带答案详解
- 2025年行政执法人员执法资格考试必考题库及答案(共232题)
- 山东省自然科学基金申报书-青年基金、面上项目
- 第7课《珍视亲情+学会感恩》第1框《浓浓亲情+相伴一生》【中职专用】《心理健康与职业生涯》(高教版2023基础模块)
- 视觉形象设计VIS清单
- 林海雪原阅读题及答案
- 动火作业前安全检查表
- 公务车辆定点装饰通知与公务车配备标准和使用管理通告汇编
评论
0/150
提交评论