一、phoenix的简介

hbase的java api或者其语法很难用,可以认为phoenix是一个中间件,提供了访问hbase的另外的语法。

二、配置phoenix和hbase

1.下载

phoenix的官网是:http://phoenix.apache.org/,用户可以到该网址找到对应hbase版本的phoenix来下载。

这里使用的是phoenix-4.6.0-HBase-0.98-bin.tar.gz这个包

2.解压并拷贝文件

tar -zxvf phoenix-4.6.0-HBase-0.98-bin.tar.gz -C /usr/local/

解压完成后可以看到如下的目录:

其中雷系tests.jar和sources.jar是没有用的,可以删除掉

rm -f *-tests.jar
rm -f *-sources.jar

然后拷贝这些jar文件到hbase的安装目录下

cp *.jar ../hbase-0.98.8-hadoop2/lib/

重启region server即可

./hbase-daemon.sh stop regionserver

./hbase-daemon.sh start regionserver

3.执行sqlline.py

进入到phoenix的bin目录,执行sqlline.py 命令的参数是zk的地址

三、使用phoenix

3.1在phoenix中创建表

create table student(id varchar(64) not null primary key,name varchar(64),age integer);

可以看到在hbase中也出现了一张表

["STUDENT", "SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.SEQUENCE", "SYSTEM.STATS"]

在phoenix中创建的表,表名会自动变成大写。并且列族是0

3.2使用phoenix插入或者更新数据

upsert into STUDENT (id,name,age) values ('1','zhangsan',25);

upsert into STUDENT (id,name,age) values ('2','lisi',20);

 3.3使用phoenix查询数据

select * from STUDENT where age > 20;

四、关于phoenix的小问题

1.如何创建小写的表名?

create table "student"("id" varchar(64) not null primary key,name varchar(64),age interger);

2.如何创建自定义列族的表?

create table "student2"("id" varchar(64) not null primary key ,"cf"."name" varchar(64),"cf"."age" integer);

phoenix到hbase的应用的更多相关文章

  1. [saiku] 使用 Apache Phoenix and HBase 结合 saiku 做大数据查询分析

    saiku不仅可以对传统的RDBMS里面的数据做OLAP分析,还可以对Nosql数据库如Hbase做统计分析. 本文简单介绍下一个使用saiku去查询分析hbase数据的例子. 1.phoenix和h ...

  2. 浅谈Phoenix在HBase中的应用

    一.前言 业务使用HBase已经有一段时间了,期间也反馈了很多问题,其中反馈最多的是HBase是否支持SQL查询和二级索引,由于HBase在这两块上目前暂不支持,导致业务在使用时无法更好的利用现有的经 ...

  3. 通过phoenix在hbase上创建二级索引,Secondary Indexing

    环境描述: 操作系统版本:CentOS release 6.5 (Final) 内核版本:2.6.32-431.el6.x86_64 phoenix版本:phoenix-4.10.0 hbase版本: ...

  4. phoenix连接hbase数据库,创建二级索引报错:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions: Tue Mar 06 10:32:02 CST 2018, null, java.net.SocketTimeoutException: callTimeou

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  5. Hadoop生态圈-phoenix(HBase)的索引配置

    Hadoop生态圈-phoenix(HBase)的索引配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 创建索引是为了优化查询,我们可以在phoenix上配置索引方式. 一.修改 ...

  6. Phoenix 映射 HBase + Maven

    声明 本文基于 Centos6.x + CDH5.x 什么是Phoenix Phoenix的团队用了一句话概括Phoenix:"We put the SQL back in NoSQL&qu ...

  7. Phoenix on HBase

    (一)概要 Apache Phoenix是基于BSD许可开源的一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Apache Phoenix主要特性: 嵌入式的JDBC驱动, ...

  8. 关于phoenix构建hbase视图,更新hbase表后,视图表是否更新的验证

    1:创建表 create 'MY_TABLE', 'CF1','CF2' 2:在hbase上插入一条数据 put ' ,'CF1:V1', 'uwo1' 3:在phoenix上创建视图 create ...

  9. 基于Phoenix对HBase建索引

    参考: Phoenix与HBase集成进行数据分析 HBase查询速度慢原因排查 操作1,执行查询,如下: : jdbc:phoenix:node3::/hbase> SELECT * FROM ...

随机推荐

  1. NOIP2016Day1T3换教室(floyd+期望dp)

    啊...这个时间写博客,明天还要上学,整个人都不好了... 这是我写的第一道期望题hiahiahia... 题目大意就不说了QWQ 80分儿做法:先floyd,爆搜枚举哪些点取,求出答案,效率O(C( ...

  2. YBT 1.1 贪心算法

    本人因为过于懒所以以后就将题解放进原文件中,存入百度网盘,自行下载,里面包含题目网站,源文件,与相应题解(这次没有写) 链接: https://pan.baidu.com/s/1eSoQ_LFWMxF ...

  3. caffe中使用crop_size剪裁训练图片

    layer { name: "data" type: "Data" top: "data" top: "label" i ...

  4. ioctrl 获取本机IP及MAC地址

    通过使用ioctl可以获得本机的一些信息,这里记录获得interface IP及MAC的过程. 1:ioctl 函数的作用是什么 man ioctl: DESCRIPTION The ioctl() ...

  5. supervisor安装、配置和运行

    supervisor是python写的进程管理工具,supervisor能够批量对进程执行启动,停止,重启等操作,有效提高了运维效率.注意supervisor只能管理前台进程,supervisor会自 ...

  6. 题解【luogu4168 [Violet]蒲公英】

    Description 给出一个长度为 \(n\) 序列 \(a\) ,\(m\) 次询问,每次询问区间 \([l,r]\) 里的众数(出现次数最多的数).若有多个,输出最小的. \(a_i \leq ...

  7. SSH内存泄露及Spring Quartz问题

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://www.blogbus.com/anoxia-logs/34360203.html 问题的起因: 为客户开发了一个系统权 ...

  8. css渐变知识知多少

    <!DOCTYPE html><html><head><meta charset="utf-8"> <title>教程( ...

  9. uva 1506 Largest Rectangle in a Histogram

    Largest Rectangle in a Histogram http://acm.hdu.edu.cn/showproblem.php?pid=1506 Time Limit: 2000/100 ...

  10. 数据结构:Treap

    关于重量平衡树的相关概念可以参考姊妹文章:重量平衡树之替罪羊树 Treap是依靠旋转来维护平衡的重量平衡树中最为好写的一中,因为它的旋转不是LL就是RR 对于每一个新的节点,它给这个节点分配了一个随机 ...