Phoneix(二)HBase集成Phoenix安装
一、软件下载
1、访问:http://phoenix.apache.org/
2、点击:

3、进入以下内容:点击

4、跳转到

5、跳转到


6、点击安装包,进入

点击进行下载:

二、安装
phonenix主要是与hbase进行集成,也可以称之为hbase sql的框架。
进入到phonenix的解压文件夹中,将phoenix-core-4.13.1-HBase-1.2server.jar

复制到hbase中的lib目录下。重启hbase
三、使用客户端
下载http://squirrel-sql.sourceforge.net/

点击出现以下界面:

下载之后在

进入到当前目录。运行java –jar squirrel-sql-3.8.0-standard.jar

进入下一步:






进入到安装目录:

四、客户端集成Hbase
1、 将phoenix的client包复制到工具的lib目录

2、让工具可以加载我们的phoneix的连接,加入驱动

操作:


点击创建与hbase的连接:



创建一张表:

五、可能会遇到的问题
1、 无法看到之前已经创建的表
创建一张与hbase同名的表,或者直接创建一张视图表
2、 phoenix创建的表,手动put之后,查询不到数据
因为phoenix与java创建表之后,phoenix创建的表名不全大写,就算sql中写的小写也是一样会转成大写
3、 如果解决创建表时表名为大写
如果之前已经有一个小写的表名,如何解决关联问题?
注意:表名一定要加双引号,不然会将语句自动转为全大写的。
4、 单引号与双引号的区分
4.1:当值上面加上双引号会查询不到你想要的结果
目前创建的表可以在hbase中查看
1、当我们通过工具创建一张表之后,无法知道该表的列族。但是要使用put的时候,又需要指定列族名?
可以通过界面或者是desc命令的方式查看,默认创建的列族名为"0"
2、当在hbase shell中put了相应的数据之后,但是在工具里面没有看到相应的数据?
可以发现hbase中的列名字是要区分大小写。?????
3、当hbase中已经有表,但是在工具里面是看不到该表的?
解决办法,创建一张同名的表
当然后工具创建表的时候,会将表名全部改为大写。
如果hbase中的表所有的字母全是大写的话,工具在创建的时候会自动关联。
如果hbase中是有非字母全大写的话,可以在工具中创建时为表名写上【双引号】
4、数据关联
如果是先在hbaes中创建的表,在到工具中去创建的时候,需要为字段加上列族名
create table "java_table3"(
"pkid" varchar(512) primary key,
"cf01"."name" varchar(512)
)
如果是通过工具直接创建的话,也需要加上列族名,不然会用0来作为列族,但是数据关联不上。
只能操作结构化的数据,在结构化之外的字段是查询不了的
六、java操作
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.13.1-HBase-1.2</version>
</dependency>
Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
String url = "jdbc:phoenix:master,slave01,slave02";
Connection conn = DriverManager.getConnection(url);
PreparedStatement preparedStatement = conn.prepareStatement("select * from \"java_table2\"");
ResultSet resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
System.out.println(resultSet.getString(1));
}
resultSet.close();
preparedStatement.close();
conn.close();
Phoneix(二)HBase集成Phoenix安装的更多相关文章
- Phoneix(三)HBase集成Phoenix创建二级索引
一.Hbase集成Phoneix 1.下载 在官网http://www.apache.org/dyn/closer.lua/phoenix/中选择提供的镜像站点中下载与安装的HBase版本对应的版本. ...
- Phoenix |安装配置| 命令行操作| 与hbase的映射| spark对其读写
Phoenix Phoenix是HBase的开源SQL皮肤.可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据. 1.特点 1) 容易集成:如Spark,Hi ...
- HBase 4、Phoenix安装和Squirrel安装
描述 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天主要记录Phoenix. phoenix,中文译为“凤凰”,很美的名字.Phoen ...
- hbase单机版安装+phoneix SQL on hbase 单节点安装
hbase 单机安装部署及phoneix 单机安装 Hbase 下载 (需先配置jdk) https://www.apache.org/dyn/closer.lua/hbase/2.0.1/hbase ...
- 新闻实时分析系统Hive与HBase集成进行数据分析
(一)Hive 概述 (二)Hive在Hadoop生态圈中的位置 (三)Hive 架构设计 (四)Hive 的优点及应用场景 (五)Hive 的下载和安装部署 1.Hive 下载 Apache版本的H ...
- 新闻网大数据实时分析可视化系统项目——12、Hive与HBase集成进行数据分析
(一)Hive 概述 (二)Hive在Hadoop生态圈中的位置 (三)Hive 架构设计 (四)Hive 的优点及应用场景 (五)Hive 的下载和安装部署 1.Hive 下载 Apache版本的H ...
- Spring Boot (二)集成Jsp与生产环境部署
一.简介 提起Java不得不说的一个开发场景就是Web开发,也是Java最热门的开发场景之一,说到Web开发绕不开的一个技术就是JSP,因为目前市面上仍有很多的公司在使用JSP,所以本文就来介绍一下S ...
- Android开发教程 - 使用Data Binding(二)集成与配置
本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...
- Phoenix安装配置
下载Phoenix 在网站http://phoenix.apache.org/download.html找到对应HBase版本的安装程序,并下载安装包,解压安装程序到指定目录 [root@ha ...
随机推荐
- PyQt学习随笔:Qt中tem Views(Model-Based)和Item Widgets(Item-Based)控件的用途和关系
在界面程序开发中,数据的展示主要包括表格.简单列表.树状列表以及纯文本等多种方式,在Qt中将界面表格.简单列表.树状列表称为"表项视图类(item view class)",并提供 ...
- 利用反射注册SpringCache的RedisCacheManager缓存信息
项目开发中,SpringCache是一个非常方便的工具,但是在配置信息注册时,用枚举方式可以满足遍历,但却无法应用在@Cacheable注解里,因此可以通过静态类的方式,借助反射完成缓存信息注册. 配 ...
- ⑤SpringCloud 实战:引入Zuul组件,开启网关路由
这是SpringCloud实战系列中第4篇文章,了解前面第两篇文章更有助于更好理解本文内容: ①SpringCloud 实战:引入Eureka组件,完善服务治理 ②SpringCloud 实战:引入F ...
- float和double有什么区别?
float和double在游戏行业肯定是用的很多的,虽然这是个很基础的问题,但是面试时被问到还是感觉说的不是很好. 所以还是总结一下: float 单精度浮点数在机内占 4 个字节,用 32 位二进制 ...
- SQL直接生成实体属性,简单粗暴型
在java开发中,不可避免的要碰到根据表生成对应的实体,这个过程是比较机器且繁琐的,我也用过一些逆向工程的工具,比如IDEA自带的生成实体,还有网上开源的工具,用起来也是可以的. 我现在开发用的持久层 ...
- AcWing 400. 太鼓达人
大型补档计划 题目链接 神仙题.考虑转为图论模型. 若以 \(2 ^ k\) 个点,相互转化,很容易看出要求一个哈密尔顿环,显然对于 \(1000\) 规模的数据求不出来. 对于图论中环的算法,并且能 ...
- Codeforces Edu Round 53 A-D
A. Diverse Substring 找普遍性(特殊解即可). 最简单的便是存在一个区间\([i, i + 1] (1 <= i < n)\),且$str[i] $ $ != str[ ...
- 【C++】C++ new和malloc到底哪里不一样
作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14118782.html 目录 一.前言 二.new和malloc两者的区别 2.1 属性的区别 2.2 使用上的 ...
- C++ 虚函数表与多态 —— 关键字 override 的用法
override 仅能用于虚函数,他属于C++新特性,是重写覆盖的意思,他的存在仅仅是为了提高代码的可阅读性: 作用: 1. 提示程序的阅读者,这个函数是重写父类的功能. 2. 防止程序员在重写父类的 ...
- github拉去代码慢的处理方式(最简单)
https://github.com/xxx/xxxx 替换成 https://github.com.cnpmjs.org/xxx/xxxx 再去拉取,速度快很多,亲测可用