Phoenix的使用
phoenix可以处理实时数据
(1)启动数据库的连接
bin/sqlline.py数据库安装服务器ip或主机名:zookeeper的服务端口号
!table查看所有的表使用
!quit退出
(2)创建表
create table hbase_test
(
s1 varchar not null primary key,
s2 varchar,
s3 varchar,
s4 varchar
在phoenix数据库层中所有的命令最好大写,最终会把所有的字符转化为大写字符,创建数据表的名称,列族可以使用引号括住,保证其不被强制转化为大写。
(3)更新表和插入数据
upsert into hbase_testvalues('1','testname','testname1','testname2');
upsert into hbase_test values('2','tom','jack','harry');
插入多条数据需要执行多条upsert语句,没办法将所有的数据都写到一个“values”后面。
(4)删除
delete from hbase_test where s1='1'; (删除是按rowkey)
(5)查询
select * from hbase_test where s1='1';
(6)批量导入数据bulkload
默认情况下,直接在hbase中创建的表,通过phoenix是查看不到的
如果需要在phoenix中操作直接在hbase中创建的表,则需要在phoenix中进行表的映射。映射方式有两种:视图映射和表映射。
表映射的话,在phoenix中的表与hbase中的表会被同时删除与修改,视图映射中的表删除,hbase中的表不会被删除。
(7)创建与删除视图
create view"test"(empid varcharprimarykey,"name"."firstname"varchar,"name"."lastname"varchar,"company"."name" varchar,"company"."address"varchar);
drop view "test";
表映射
使用ApachePhoenix创建对HBase的表映射,有两种方法:
1)
当HBase中已经存在表时,可以以类似创建视图的方式创建关联表,只需要将createview改为createtable即可。
2)当HBase中不存在表时,可以直接使用createtable指令创建需要的表,并且在创建指令中可以根据需要对HBase表结构进行显示的说明。
1种情况下,如在之前的基础上已经存在了test表,则表映射的语句如下:
create table "test"(empid varcharprimarykey,"name"."firstname"varchar,"name"."lastname"varchar,"company"."name"varchar,"company"."address"varchar);
种情况下,直接使用与第1)种情况一样的createtable语句进行创建即可,这样系统将会自动在Phoenix和HBase中创建person_infomation的表,并会根据指令内的参数对表结构进行初始化。
使用createtable创建的关联表,如果对表进行了修改,源数据也会改变,同时如果关联表被删除,源表也会被删除。但是视图就不会,如果删除视图,源数据不会发生改变。
- ASP.NET Core 介绍和项目解读
- 【手把手教你全文检索】Lucene索引的【增、删、改、查】
- 红方块躲避—天才游戏
- .NET Core全新路线图(译)
- JS魔法堂:阻止元素被选中
- CSS3魔法堂:禁止用户改变textarea大小
- CentOS6.5菜鸟之旅:VIM插件NERDtree初探
- CentOS6.5菜鸟之旅:安装输入法(小呀小企鹅)
- CSS魔法堂:选择器及其优先级
- 常见的Web实时消息交互方式和SignalR
- 【设计模式】——工厂方法FactoryMethod
- 前端翻译:Activating Browser Modes with Doctype
- JS魔法堂:doctype我们应该了解的基础知识
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法