1.phoenix安装

------------------

1.安装phoenix

a)下载apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz   下载网址:https://phoenix.apache.org/download.html

b)tar 解压压缩包

c)复制xxx-server.jar到hbase的lib目录,并且分发 ,删除以前的phoenixjar包。

d)重启hbase

2.使用phoenix的命令行程序

$>/apps/phoenix-4.14.1-HBase-1.2/bin/sqlline.py master      //启动phoenix

$phoenix>!tables   //查看表 这里面都是phoexi自己的系统表默认

$phoenix>!help     //查看帮助

2.SQL Client安装 phoenix图形化界面

a)下载squirrel-sql-3.7.1-standard.jar      下载链接:http://squirrel-sql.sourceforge.net/

该文件是安装文件,执行的安装程序。

$>jar -jar squirrel-sql-3.7.1-standard.jar

$>下一步...

b)复制phoenix-4.10.0-HBase-1.2-client.jar到SQuerrel安装目录的lib下(c:\myprograms\squirrel)。

c)启动SQuirrel(GUI)

定位安装目录->执行squirrel-sql.bat

d)打开GUI界面

d)在左侧的边栏选中"Drivers"选项卡,

点击 "+" ->

Name: clc
ExampleURL : jdbc:phoenix:192.168.231.202
Driverclass : org.apache.phoenix.jdbc.PhoenixDriver

d)测试。

3.SQLLine客户端操作

//建表

$jdbc:phoenix>create table IF NOT EXISTS test.Person (IDCardNum INTEGER not null primary key, Name varchar(20),Age INTEGER);

//插入数据 插入和更新的SQL关键字都是upsert

$jdbc:phoenix>UPSERT INTO test.PERSON(IDCardNum , Name,Age) VALUES (1,'tom',12);

//删除数据

$jdbc:phoenix>delete from test.persion where idcardnum = 1 ;

//更新数据

$upsert into test.PERSON(IDCardNum , Name,Age) VALUES (1,'tom',12);

2.注意

2.1

Phoenix 无法自动识别 HBase 中原有的表,所以需要将 HBase 中已有的做映射,才能够被 Phoenix 识别并操作。说白了就是要需要告诉 Phoenix 一声 xx 表的 xx 列是主键,xx 列的数据类型。

2.2

如果你使用的是 Phoenix 4.10 及以上的版本,映射表过后可能会遇到查不出数据的情况

CREATE TABLE "test_table" ( "ROW" varchar primary key, "0"."name" varchar) column_encoded_bytes=;

解决办法:https://blog.csdn.net/Colton_Null/article/details/83387995

2.3

我们在Phoeix中建立的表都默认建立在HBase default名字空间中的

2.4

Phoenix查询报错总结以及解决办法

https://www.jianshu.com/p/a3c24638b498

3.二级索引

https://www.cnblogs.com/haoxinyue/p/6724365.html

4.在Java项目中集成Phoenix

4.1在Java项目中实现Phoenix操作Hbase,maven引入Phoenix的依赖包:

<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.9.0-HBase-1.1</version>
</dependency>

4.2但是引入这个包是不够的,还需要另外引入一个依赖包phoenix-4.9.0-HBase-1.1-client.jar,这个依赖包可以在Phoenix文件中找到,也可以通过下载Phoenix源码,自行编译后导入,自此就可以通过java的JDBC访问操作Hbase。
java测试的源码如下:

public static void main(String args[]) {
Connection connection = null;
Statement statement = null;
try {
Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
connection = DriverManager.getConnection("jdbc:phoenix:master:2181","","");
statement = connection.createStatement();
statement.execute("upsert into yinxiang_note values (3, 'note of huhong')");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
connection.close();
statement.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

5.好的博文推荐

5.1浅谈Phoeix在HBase中的应用以及讲解了性能测试,主要是将Phoenix和Hive、Impala作一个对比

https://www.cnblogs.com/ballwql/p/8371234.html

5.2从入门到精通

https://www.jianshu.com/p/91decdd7fc5d

5.3 Hbase导入数据同时与phoenix实现同步映射

http://blog.sina.com.cn/s/blog_628cc2b70102x5lq.html

5.4图文讲解

https://www.cnblogs.com/xirongliu/p/4603246.html

大数据学习之路-phoenix的更多相关文章

  1. 大数据学习之路又之从小白到用sqoop导出数据

    写这篇文章的目的是总结自己学习大数据的经验,以为自己走了很多弯路,从迷茫到清晰,真的花费了很多时间,希望这篇文章能帮助到后面学习的人. 一.配置思路 安装linux虚拟机--->创建三台虚拟机- ...

  2. 大数据学习之路------借助HDP SANDBOX开始学习

    一开始... 一开始知道大数据这个概念的时候,只是感觉很高大上,引起了我的兴趣.当时也不知道,这个东西是做什么的,有什么用,当然现在看来也是很模糊的样子,但是的确比一开始强了不少. 所以学习的过程可能 ...

  3. 大数据学习之路(1)Hadoop生态体系结构

    Hadoop的核心是HDFS和MapReduce,hadoop2.0还包括YARN. Hadoop1.x的生态系统: Hadoop2.x引入YARN: HDFS(Hadoop分布式文件系统)源自于Go ...

  4. 大数据学习之路之HBASE

    Hadoop之HBASE 一.HBASE简介 HBase是一个开源的.分布式的,多版本的,面向列的,半结构化的NoSql数据库,提供高性能的随机读写结构化数据的能力.它可以直接使用本地文件系统,也可以 ...

  5. 大数据学习之路之Hadoop

    Hadoop介绍 一.简介 Hadoop是一个开源的分布式计算平台,用于存储大数据,并使用MapReduce来处理.Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理.两个核心: ...

  6. 大数据学习之路-hdfs

    1.什么是hadoop hadoop中有3个核心组件: 分布式文件系统:HDFS —— 实现将文件分布式存储在很多的服务器上 分布式运算编程框架:MAPREDUCE —— 实现在很多机器上分布式并行运 ...

  7. 大数据学习之路——MySQL基础(一)——MySQL的基础知识与常见操作

    一.存储引擎 1.含义 存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引 ...

  8. 大数据学习之路—环境配置——IP设置(虚拟机修改Ip的内在原因及实现)

    一.IP原理 关于IP我的理解, (1)主要去理解IP地址的作用,IP地址包括网络相关部分和主机的相关部分.即:用一段特殊的数据,来标识网络特征和主机的特征. 至于具体的技术实现,日后可以慢慢体会和了 ...

  9. 大数据学习之路又之从csv文件到sql文件的操作过程

    根据前几天的测试,简单的做个总结 csv文件的字段说明: 1.将csv文件上传到虚拟机中 在SecureCRT中点击,创建目录,直接把文件从本地拖拽进去 我放在了/linmob/data的路径下,所以 ...

随机推荐

  1. Hbase数据模型物理视图

  2. oracle函数 RPAD(c1,n[,c2])

    [功能]在字符串c1的右边用字符串c2填充,直到长度为n时为止 [参数]C1 字符串 n 追加后字符总长度 c2 追加字符串,默认为空格 [返回]字符型 [说明]如果c1长度大于n,则返回c1左边n个 ...

  3. MySQL_连表查询

    连表查询 连表查询通常分为内连接和外连接.内连接就是使用INNER JOIN进行连表查询:而外连接又分为三种连接方式,分别是左连接(LEFT JOIN).右连接(RIGHT JOIN).全连接(FUL ...

  4. PHPstorm相关设置以及快捷键

    转自:http://blog.csdn.net/fenglailea/article/details/12166617 1.界面中文方框问题 Settings->Appearance中Theme ...

  5. 2016 年度开源中国新增开源软件排行榜 TOP 100

    2016 年度开源中国新增开源软件排行榜 TOP 100 2016 年度开源中国新增开源软件排行榜 TOP 100 新鲜出炉!本榜单根据 2016 年开源中国新收录的 3030 款软件的关注度和活跃度 ...

  6. 随机线性网络编码的C语言实现,实现可靠传输:实现篇(2)

    伽罗华域(2^8)乘除法的编程实现

  7. Hibernate懒加载导致json数据对象传输异常的问题---(非常重要)

    1. 异常: [console_demo][WARN] [2016-12-15 19:49:35] org.springframework.web.servlet.mvc.support.Defaul ...

  8. oracle 优化GROUP BY

    提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉.下面两个查询返回相同结果但第二个明显就快了许多. 低效: SELECT JOB , AVG(SAL) FROM ...

  9. Project Euler Problem 9-Special Pythagorean triplet

    我是俩循环暴力 看了看给的文档,英语并不好,有点懵,所以找了个中文的博客看了看:勾股数组学习小记.里面有两个学习链接和例题. import math def calc(): for i in rang ...

  10. 洛谷P1310 表达式的值 题解 栈/后缀表达式的应用

    题目链接:https://www.luogu.org/problem/P1310 本题涉及算法:栈.前缀表达式转后缀表达式,动态规划思想. 这道题目我思考了好长时间,第一时间让我做的话我也做不出来. ...