hbase-phoenix

一、Phoenix概述

HBase基础上架构的SQL中间件

让我们可以通过SQL/JDBC来操作HBase

二、Phoenix安装配置

1.到apache下载Phoenix安装包,要注意版本和HBase匹配
		Phoenix 2.x – HBase 0.94.x
		Phoenix 3.x – HBase 0.94.x
		Phoenix 4.x – HBase 0.98.1+
	2.上传到linux进行解压

	3.将如下两个jar包,传到hbase的lib目录下
		phoenix-4.8.1-HBase-0.98-server.jar
		phoenix-4.8.1-HBase-0.98-client.jar
	4.配置环境变量
		export HBASE_HOME=/root/work/hbase-0.98.17-hadoop2
		
	5.测试
		执行 ./sqlline.py hadoop01,hadoop02,hadoop03:2181
		#如果进不去命令行,重启即可
		#如果进入Phoenix命令行状态,则证明Phoenix安装完成

资源:phoenix-4.8.1-HBase-0.98-server.jar

资源:phoenix-4.8.1-HBase-0.98-client.jar

三、Phoenix使用 - 可以在命令行客户端下使用

1.创建表
		create table tab1(
			id integer primary key not null,
			name varchar
		);
		create table tab2(
			id varchar primary key not null,
			"info"."name" varchar
		);
		结论1:在phoenix中创建的表在hbase中会同时创建出表
		结论2:在phoenix中创建的表在hbase中表名会变为大写,如果不想让他自动变化,则需要将表明用双引号引起来
		结论3:phoenix表中的主键会成为hbase表的行键
		结论4:如果不声明phoenix表中的普通列会成为hbase表中默认列族(名字叫0)中的普通列
		结论5:也可以在建phoenix表时,来声明底层的列族的名称。
		
	2.插入数据
		upsert into test values (1,'Hello');
		upsert into test values (2,'World!');

	3.查询数据
		select * from xxx where xxxx;

	4.删除数据
		delete from test where xxxx;

	5.创建表来关联hbase中已经存在的hbase表
		只要创建表和hbase表同名,列一定要声明完全即可。

	6.删除表
		drop table tabx;#要注意,会同时删除hbase底层的表

	7.视图操作
		创建视图:
			create view tab3_view as select * from tab3;
		查询视图:
			select * from tab3_view where xxxx;
		删除视图:
			drop view tab3_view;
		创建视图关联hbase中已经存在的表:
			create view "tab4" (id varchar primary key,"cf1"."c1" varchar,"cf2"."c2" varchar);

		##表关联管理hbase中的数据,删除表的时候,hbase表也被删除
		##视图关联管理hbase中的数据,删除视图的时候,hbase表不会被删除	

四、Phoenix使用 - 可以在jdbc中使用

资源:phoenix的源码包

1.创建java工程导入连接Phoenix的驱动
phoenix-4.8.1-HBase-0.98-client.jar

2.编写jdbc代码即可操作Phoenix中的数据

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class PhoenixDemo {
	public static void main(String[] args) throws Exception {
		Connection conn = DriverManager.getConnection("jdbc:phoenix:hadoop01,hadoop02,hadoop03:2181");
		Statement statement = conn.createStatement();
		ResultSet rs = statement.executeQuery("select * from \"javaTable\"");
		while (rs.next()) {
			String string = rs.getString("\"c1\"");
			System.out.println(string);
		}
		rs.close();
		conn.close();
	}
}

五、Phoenix使用 - 可以在图形化客户端工具中使用

	连接Phoenix的工具Squirrel


	a)	Squirrel是一个连接数据库的客户端工具,一般支持JDBC的数据库都可以用它来连接,如连接mysql
	b)	下载Squirrel SQL Client,java –jar squirrel-sql-3.7.1-standard.jar即可
	c)	连接Phoenix在Squirrel的安装目录的lib下添加phoenix-4.8.1-HBase-0.98-client.jar包

资源:squirrel:1kjs

1Java –jar 名字(命令窗口下安装)


可以同装软件一样




其余步骤点击“next”即可,安装完成后如下图

2将Phoenix-4.8.1-Habase-0.98-client.jar拷贝到squirrel的lib包下

3新建驱动


创建链接



创建好链接后,双击打开


查看创建的表



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值