Phoenix的shell操作

一、Phoenix的Shell操作

原文地址:Phoenix的shell简单操作

1.进入(hbase01是主机名,2181是zookeeper的端口)

登录命令:

sqlline.py hbase01:2181
sqlline.py slave1

2.退出(注意结尾不加分号)

!quit

!exit

3.查询所有表(注意结尾不加分号)

!tables

phoenix中的表信息都存在SYSTEM.CATALOG表中,也可以通过下面的sql语句查看系统的表信息

select * from SYSTEM.CATALOG;

4.创建表(除了上面带感叹号的语句,其余语句都得加分号)

(1)表名和列族名以及表名如果需要小写都得加双引号。
create table "person" ("id" integer not null primary key, "cf"."name" varchar, "cf"."age" integer);
(2)这样创建出来的列族名称和列名都是大写的。
create table "person" (id integer not null primary key, cf.name varchar, cf.age integer);
注意:***表名和列族名区分大小写***,加了双引号就必须用小写表名去查否则查不到。列名不区分大小写,显示是大写,用小写依然查得到。

5.删除表结构

drop table "person";

6.修改表结构

alter table "person" add sex varchar;

7.查看表结构信息

!describe "person"

8.创建表某一列索引

create index "person_index" on "person"("cf"."name");

9.删除索引

drop index "person_index" on "person"

10.向表中插入一条数据(注意:数据值需要用引号时只能用单引号,双引号会报错)

upsert into "person" values(1,'zhangsan',27,'男');

11.删除表中数据(注意:数据值需要用引号时只能用单引号,双引号会报错)

delete from "person" where name='zhangsan';

12.修改表中数据(注意:修改时必须带上id,否则会报错)(注意:数据值需要用引号时只能用单引号,双引号会报错)

upsert into "person"(id,sex) values(1, '女');

13.查询表中数据(注意:数据值需要用引号时只能用单引号,双引号会报错)

(1)全表查询
select * from "person";
(2)条件查询
select * from "person" where name='zhangsan';
(3)group by
select sex ,count(sex) as num from "person" where age >20 group by sex;
(4)case when
select (case name when 'zhangsan' then 'sansan' when 'lisi' then 'sisi' else name end)as showname from "person";

14.关联hbase中已经存在的表

create view "test"(id varchar not null primary key, "cf1"."name" varchar, "cf1"."age" varchar, "cf1"."sex" varchar);
注意:
(1)如果不加列族会报错如下:
Error: ERROR 505 (42000): Table is read only. (state=42000,code=505)
(2)如果不加双引号则会匹配不到hbase表中的字段,结果就是虽然关联上数据库但是没有值!!!
(3)关联的时候,Phoenix建表最好都是varchar类型,不容易出错
(4)最好创建view视图,不要创建table表格。因为Phoenix端删除table会连带删除hbase表格,如果是view则不会。

15.帮助

help

16.列出metadata信息

!dbinfo

[外链图片转存失败(img-LJdho3q0-1567652119019)(http://hbase.group/uploads/article/20181009/1692e3772cd4c28f7d2e76f723d2215c.png)]

Phoenix的shell操作的更多相关文章

  1. HDFS的基本shell操作,hadoop fs操作命令

    (1)分布式文件系统 随着数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管 ...

  2. Hadoop读书笔记(二)HDFS的shell操作

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1全部的HDFS ...

  3. HDFS建筑与shell操作

    一个.hadoop1.1.0演示 hadoop它适合于大容量数据存储和分布式计算平台 hadoop核心由hdfs和mapreduce组成 hdfs这是一个主从结构,仅有一个.是namenode:从节点 ...

  4. Linux shell 操作 postgresql,并设置crontab任务

    Linux shell 操作 postgresql:删除间隔日期的数据-删除指定日期的数据-vacuumdb 清理数据库 -清理日志 -定期执行脚本 *修改pg_hba.conf 设置本地连接无密码, ...

  5. 每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作

    上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program F ...

  6. Hadoop2.7.6_04_HDFS的Shell操作与常见问题

    1. HDFS的shell操作 1.1. 支持的命令及参数 [yun@mini05 zhangliang]$ hadoop fs Usage: hadoop fs [generic options] ...

  7. HDFS shell操作及HDFS Java API编程

    HDFS shell操作及HDFS Java API编程 1.熟悉Hadoop文件结构. 2.进行HDFS shell操作. 3.掌握通过Hadoop Java API对HDFS操作. 4.了解Had ...

  8. Hadoop开发第6期---HDFS的shell操作

    一.HDFS的shell命令简介 我们都知道HDFS 是存取数据的分布式文件系统,那么对HDFS 的操作,就是文件系统的基本操作,比如文件的创建.修改.删除.修改权限等,文件夹的创建.删除.重命名等. ...

  9. Shell操作mysql数据库

    From : http://www.2cto.com/database/201306/220570.html Shell操作mysql数据库   mysql  -hhostname -Pport -u ...

随机推荐

  1. Light Probes

    LightProbes (光照探针,光探测器?) 提供了一种方法用于捕获和使用 穿过场景中空白空间的 光(light)的信息. 和光照贴图相似(lightmaps),Light Probes也存储关于 ...

  2. Kubernetes项目简介

    Kubernetes项目简介 Kubernetes 是 Google 团队发起的开源项目,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩,主要实现语言为 Go 语言.Kubernet ...

  3. flume将数据写入各个组件

    一.flume集成hdfs,将数据写入到hdfs           a1.sources = r1           a1.sinks = k1           a1.channels = c ...

  4. Spark的dataframe转rdd通用工具类

    需求解决问题 当每次读取hive表或者其他数据源,获取数据,相对其进行rdd操作,遇到任何类都需要df.rdd(row>row.getstring(0))去获取,就很麻烦,所以可以实现个通用的转 ...

  5. Windows系统设置多用户同时远程登录

    一.在键盘上按Win+R键(也可以在开始菜单右键然后选择运行),在运行的输入框里面输入"gpedit.msc"命令.然后点击确定 二.在"计算机组策略"中依次展 ...

  6. python 中的sum( )函数 与 numpy中的 sum( )的区别

    一. python sum函数 描述: sum() 对序列进行求和 用法: sum(iterable[, start]) iterable:可迭代对象,例如,列表,元组,集合. start:指定相加的 ...

  7. 杭电OJ2010---水仙花数(c++)(方法:输出几个数之间用空格隔开,最后一个数没有空格)

    水仙花数 Problem Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位数,它的各位数字的立方 ...

  8. 联想K5pro手机过夜后声音不能播放录音资源被占用解决方案

    联想K5pro手机过夜后声音不能播放(微信头条等),录音机显示录音资源被占用无法录音,一些有声音的图像播放卡顿,关于app录音的权限我也都开了,只能靠重启才能能恢复正常. 经过实机测试,此方法处理后已 ...

  9. .NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ Masstransit 介绍)--学习笔记

    2.6.6 RabbitMQ -- Masstransit 介绍 Masstransit 是什么 Quickstart 消息 Message Masstransit 是什么 Masstransit 是 ...

  10. App控件定位

    本文将分享Android相关基础知识和Android APP控件定位工具的使用方法. Android基础知识 Android布局 Android是通过容器的布局属性来管理子控件的位置关系(iOS去掉了 ...