Phoenix介绍:
 针对hbase开发的第三方插件,目前已贡献给Apache,顶级项目  
  Phoenix是构建在HBase上的一个SQL层
  可以使用类似于操作mysql的标准sql语句,作为hbase客户端JDBC的驱动对hbase中的数据进行低延迟的访问
  内部实现为将sql查询语句编译成hbase内部的一系列scan操做
  因为hive关联hbase查询底层为MapReduce,为Phoenix底层查询为hbase的API,故查询速度比hive集成快
   hbase-》hive-》hql-》MapReduce查询等-》速度慢
   hbase-》Phoenix-》sql-》hbase Scan查询(JDBC结果集)-》速度快

官网下载 http://phoenix.apache.org/download.html

1、上传解压
   $ tar zxf apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz
   $ mv apache-phoenix-4.14.0-cdh5.14.2-bin  phoenix-4.14.0-cdh5.14.2 (可不修改)
  2、将phoenix安装目录下的phoenix-4.14.0-cdh5.14.2-server.jar拷贝到hbase的lib目录下
   $ cp phoenix-4.14.0-cdh5.14.2/phoenix-4.14.0-cdh5.14.2-server.jar hbase-1.2.0-cdh5.14.2/lib/
  3、将phoenix安装目录下的phoenix-core-4.14.0-cdh5.14.2.jar 拷贝到hbase的lib目录下(如果是phoenix 3.x版本的安装除了phoenix-[version]-server.jar需要复制外,同时phoenix-core-[version].jar 也需要复制,但是我们安装的是phoenix 4.x所以phoenix-core-[version].jar 的jar包就不需要复制了)
   $ cp phoenix-4.14.0-cdh5.14.2/phoenix-core-4.14.0-cdh5.14.2.jar hbase-1.2.0-cdh5.14.2/lib/
  4、将hbase/conf目录下hbase-site文件覆盖放入phoenix的bin目录下
      $ cp hbase-1.2.0-cdh5.14.2/conf/hbase-site.xml phoenix-4.14.0-cdh5.14.2/bin/
  5、重启hbase进程 
  6、启动phoenix客户端交互命令
    $ bin/sqlline.py zkip:2181
  第一次启动时间相对较长要进行初始化操作创建一些表
  如果报argparse错误:$ sudo yum -y install python-argparse

集成测试:
-》show databases 或 show tables 不支持的,并不与mysql中操作完全一样
-》!help  查看内置命令
-》!tables 查看hbase中与phoenix建立好映射的表
-》通过phoenix客户端创建表
create table user_ph(
id varchar primary key,
name varchar,
password varchar
);

phoenix查看表有没有:


-》hbase shell中通过list查看

 注意:phoenix中的表名和字段名不加双引号则默认都为大写
 加上双引号则区分大小写
 phoenix和RDBMS中一样,有数据类型
-》hbase shell中通过 desc 'USER_PH'
 表列簇默认名称是0,NAME => '0'
-》重新创建,并指定列簇:列 
drop table user_ph;
create table "user_ph"(
"id" varchar primary key,
"info"."name" varchar,
"info"."password" varchar
);

-》添加数据:
 updata+insert结合命令--》upsert,插入数据时表名和列名因为都是小写的所以要加双引号, 值为字符串时只能用单引号引起否则报错,phoenix中创建表时的主键列会默认为hbase表中的rowkey
upsert into "user_ph"("id","info"."name","info"."password") values('001','admin','admin');
upsert into "user_ph"("id","info"."name","info"."password") values('002','admin','admin');
upsert into "user_ph"("id","info"."name","info"."password") values('003','admin','admin');

-》查询数据:
select * from "user_ph";

scan  "user_ph" 
 -》删除数据:
delete from "user_ph" where "id"='002';

-》在phoenix中的client界面中进行的crud(增删改查)操作与RDBMS的操作大都相同
 
-》退出phonix客户端命令行
!quit

Phoenix-4.14-cdh5.14.2与hbase-1.2.0-cdh5.14.2集成测试的更多相关文章

  1. Phoenix的安装使用与SQL查询HBase

    一. Phoenix的简介 1. 什么是phoenix 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天主要说Phoenix.phoen ...

  2. Phoenix |安装配置| 命令行操作| 与hbase的映射| spark对其读写

    Phoenix Phoenix是HBase的开源SQL皮肤.可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据. 1.特点 1) 容易集成:如Spark,Hi ...

  3. Angular2 Hello World 之 2.0.0-beta.14

    公司现在采用angualrjs开发一些web应用,采用的是angular1,现在angular2已经差不多了,听说最近rc6已经出来了……其实感觉好慢啊!之前也做过一些anglar2的例子,但是没有记 ...

  4. 日常英语---七、[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准)

    日常英语---七.[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准) 一.总结 一 ...

  5. NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)

    转自:http://blog.csdn.net/enjoyyl/article/details/47397505?from=timeline&isappinstalled=0#10006-we ...

  6. 【spring boot】使用定时任务@Scheduled 报错:Encountered invalid @Scheduled method 'dealShelf': Cron expression must consist of 6 fields (found 7 in "0 30 14 * * ? *")

    在spring boot中使用使用定时任务@Scheduled 报错: org.springframework.beans.factory.BeanCreationException: Error c ...

  7. Ubuntu14.04用apt在线/离线安装CDH5.1.2[Apache Hadoop 2.3.0]

    目录 [TOC] 1.CDH介绍 1.1.什么是CDH和CM? CDH一个对Apache Hadoop的集成环境的封装,可以使用Cloudera Manager进行自动化安装. Cloudera-Ma ...

  8. centos 7 cloudera-manager5.16.2,CDH5.16.2安装升级spark2.4.0

    1.在已经安装好系统的linux服务器上关闭selinux和iptables 2.在所有linux服务器上配置ntp服务并设置ntp时间同步 3.在所有linux服务器上安装好cm和cdh版本所需要对 ...

  9. Ubuntu 14.10 下Eclipse操作HBase

    环境介绍 64位Ubuntu14.10,Hadoop 2.5.0 ,HBase 0.99.0 准备环境 1 安装Hadoop 2.5.0,可参考http://www.cnblogs.com/liuch ...

  10. CDH5上安装Hive,HBase,Impala,Spark等服务

    Apache Hadoop的服务的部署比較繁琐.须要手工编辑配置文件.下载依赖包等.Cloudera Manager以GUI的方式的管理CDH集群,提供向导式的安装步骤.因为须要对Hive,HBase ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:gridLayout的layoutRowStretch和layoutColumnStretch属性

    Qt Designer中网格布局中,layoutRowStretch和layoutColumnStretch两个属性分别设置网格布局中行之间和列之间的拉伸因子,如图: 但是QGridLayout并没有 ...

  2. 深海 => 暴力扫描挖掘机

    平时总是联动这个联动那个,写一些小脚本,感觉零碎又没啥意思,想把市面上一些比较知名的工具集合一下,弄个方便点的躺着挖洞的工具,看看效果会不会更好,暂时名字取深海吧,估计又是一个迟迟不填的坑,灌灌灌灌水

  3. 【Kubernetes学习笔记】-kubeadm 手动搭建kubernetes 集群

    目录 K8S 组件构成 环境准备 (以ubuntu系统为例) 1. kubernetes集群机器 2. 安装 docker. kubeadm.kubelet.kubectl 2.1 在每台机器上安装 ...

  4. Day1 【Scrum 冲刺博客】

    (因发作业当天没注意看作业内容,第一天的冲刺博客和第二天的同时发!!!不好意思!!!) 各个成员在 Alpha 阶段认领的任务 方晓莹 搭建社区管理系统的前端框架 登录页开发 管理员模块个人中心开发 ...

  5. 洛谷P2423 [HEOI2012]朋友圈

    题目大意: 有\(A,B\)两个点集,每个点有点权,在\(A\)集合中,两个点之间有边满足\(a_i\ xor\ a_j\ mod\ 2 = 1\),在\(B\)集合中,两个点之间有边满足\(b_i\ ...

  6. 【题解】「SP34013」SEUG - Seetha’s Unique Game

    这道题一看就是 贪心 . 使放的石头少,就需要石头大. 那么就可以将石头重量排序,从大到小. 这道题里面看似东西很多,但是很多东西都是没有用的.比如说:箱子的长和宽,因为题目中说「每加一个石头,水的高 ...

  7. Codeforces Edu Round 65 A-E

    A. Telephone Number 跟之前有一道必胜策略是一样的,\(n - 10\)位之前的数存在\(8\)即可. #include <iostream> #include < ...

  8. SSM框架中常用的注解及含义

    @Controller---使用它标记在一个类上,dispatcher会扫描使用该注解类的方法,并检测该方法是否使用了@RequestMapping注解,加上RequestMapping注解的方法才是 ...

  9. 后台运行程序nohup的使用

    linux后台运行程序 nohup python3 test.py >output 2>&1 & 参数解释 用途:不挂断地运行命令. 语法:nohup Command [ ...

  10. Day5 - 04 函数的参数-可变参数*

    传入的参数的个数是可变的. 例子:定义一个函数,通过给出一组数,返回这组数中最大值与最小值的和.    def msum(numbers):        r = max(numbers) + min ...