Phoenix-4.14-cdh5.14.2与hbase-1.2.0-cdh5.14.2集成测试
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集成测试的更多相关文章
- Phoenix的安装使用与SQL查询HBase
一. Phoenix的简介 1. 什么是phoenix 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天主要说Phoenix.phoen ...
- Phoenix |安装配置| 命令行操作| 与hbase的映射| spark对其读写
Phoenix Phoenix是HBase的开源SQL皮肤.可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据. 1.特点 1) 容易集成:如Spark,Hi ...
- Angular2 Hello World 之 2.0.0-beta.14
公司现在采用angualrjs开发一些web应用,采用的是angular1,现在angular2已经差不多了,听说最近rc6已经出来了……其实感觉好慢啊!之前也做过一些anglar2的例子,但是没有记 ...
- 日常英语---七、[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.标准) 一.总结 一 ...
- 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 ...
- 【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 ...
- 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 ...
- centos 7 cloudera-manager5.16.2,CDH5.16.2安装升级spark2.4.0
1.在已经安装好系统的linux服务器上关闭selinux和iptables 2.在所有linux服务器上配置ntp服务并设置ntp时间同步 3.在所有linux服务器上安装好cm和cdh版本所需要对 ...
- 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 ...
- CDH5上安装Hive,HBase,Impala,Spark等服务
Apache Hadoop的服务的部署比較繁琐.须要手工编辑配置文件.下载依赖包等.Cloudera Manager以GUI的方式的管理CDH集群,提供向导式的安装步骤.因为须要对Hive,HBase ...
随机推荐
- 半夜删你代码队 Day7冲刺
一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 好友界面初步 完善好友界面 无 侯晓龙 帮助他人建立数据库 用户信息界面 无 周楚池 完善管理员界面 用户界面 ...
- web前端js实现资源加载进度条
进度条核心方法,通常j不考虑判断到100,根据项目中的图片数量可能有所差异所以到95就可以了 //根据图片load进度条 function loadingAsImgLength(){ var prec ...
- ThreadX——IPC应用之信号量
一.应用简介 在RTOS的应用开发中,信号量也是经常使用到的一种用于多任务之间信息同步.资源互斥访问的一种手段,常用于协调多个任务访问同一资源的场景.信号量又分为计数信号量和互斥信号量.计数信号量可以 ...
- 【译】理解Rust中的Futures (一)
原文标题:Understanding Futures In Rust -- Part 1 原文链接:https://www.viget.com/articles/understanding-futur ...
- IOS中使用.xib文件封装一个自定义View
1.新建一个继承UIView的自定义view,假设类名叫做 MyAppVew #import <UIKit/UIKit.h> @class MyApp; @interface MyAppV ...
- idea 最好用的插件
1.lombok 不用写get,set方法 2.MyBatisCodeHelperPro 3.Rainbow Brackets 彩虹括号 5.activate-power-mode 动感打字 7.Ba ...
- 工具-Git与GitHub-分支管理(99.5.2)
@ 目录 1.分支介绍 2.基本使用分支 1.查看分支 2.创建一个分支dev并切换到其上进行工作 3.在dev分支中变更已经追踪的文件,并进行提交 4. dev分支的工作完成,可以切换回master ...
- matplotlib的学习9-bar柱状图
import matplotlib.pyplot as plt import numpy as np ''' 向上向下分别生成12个数据,X为 0 到 11 的整数 ,Y是相应的均匀分布的随机数据. ...
- 泡面不好吃,我用了这篇k8s调度器,征服了他
1.1 调度器简介 来个小刘一起 装逼吧 ,今天我们来学习 K8的调度器 Scheduler是 Kubernetes的调度器,主要的任务是把定义的 pod分配到集群的节点上,需要考虑以下问题: 公平: ...
- Python 刷题笔记
Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...