← 返回首页
HBase基础教程(十九)
发表时间:2023-04-26 01:29:26
Phoenix的Shell命令

Phoenix的Shell命令。

1.Phoenix的Shell命令

PhoenixShell命令与SQL语法非常类似。


#查看已有的表:
0: jdbc:phoenix:localhost:2181:/hbase> !tables
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------+
| TABLE_CAT  | TABLE_SCHEM  | TABLE_NAME  |  TABLE_TYPE   | REMARKS  | TYPE_NAME  | SELF_REFERENCING_COL_NAME  | REF_GENERATION  | INDEX_STATE  | IMMUTABLE_ROWS  | SALT_BU |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------+
|            | SYSTEM       | CATALOG     | SYSTEM TABLE  |          |            |                            |                 |              | false           | null    |
|            | SYSTEM       | FUNCTION    | SYSTEM TABLE  |          |            |                            |                 |              | false           | null    |
|            | SYSTEM       | SEQUENCE    | SYSTEM TABLE  |          |            |                            |                 |              | false           | null    |
|            | SYSTEM       | STATS       | SYSTEM TABLE  |          |            |                            |                 |              | false           | null    |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------+
0: jdbc:phoenix:localhost:2181:/hbase> 

#创建学生表:

0: jdbc:phoenix:localhost:2181:/hbase> create table if not exists students
. . . . . . . . . . . . . . . . . . .> (SID INTEGER NOT NULL PRIMARY KEY,SNAME VARCHAR(20),AGE INTEGER);
No rows affected (2.273 seconds)

#插入三条记录
upsert into STUDENTS (SID,SNAME,AGE) values (100,'Tom',18);
upsert into STUDENTS (SID,SNAME,AGE) values (101,'Jerry',16);
upsert into STUDENTS (SID,SNAME,AGE) values (102,'Jackson',20);

#查看记录

0: jdbc:phoenix:localhost:2181:/hbase> select * from students;
+------+----------+------+
| SID  |  SNAME   | AGE  |
+------+----------+------+
| 100  | Tom      | 18   |
| 101  | Jerry    | 16   |
| 102  | Jackson  | 20   |
+------+----------+------+
3 rows selected (0.06 seconds)

#更改表结构
alter table STUDENTS ADD GENDER VARCHAR(2);

#更新数据
upsert into STUDENTS (SID,SNAME,AGE,GENDER) values (100,'Tom',18,'男');
upsert into STUDENTS (SID,SNAME,AGE,GENDER) values (101,'Jerry',16,'女');
upsert into STUDENTS (SID,SNAME,AGE,GENDER) values (102,'Jackson',20,'男');
upsert into STUDENTS (SID,SNAME,AGE,GENDER) values (103,'张三',22,'男');


#查看数据
0: jdbc:phoenix:localhost:2181:/hbase> select * from students;
+------+----------+------+---------+
| SID  |  SNAME   | AGE  | GENDER  |
+------+----------+------+---------+
| 100  | Tom      | 18   | 男       |
| 101  | Jerry    | 16   | 女       |
| 102  | Jackson  | 20   | 男       |
| 103  | 张三       | 22   | 男       |
+------+----------+------+---------+
4 rows selected (0.052 seconds)

#执行分组和聚合函数

0: jdbc:phoenix:localhost:2181:/hbase> select gender,count(gender) as num from students where age>15 group by gender;
+---------+------+
| GENDER  | NUM  |
+---------+------+
| 女       | 1    |
| 男       | 3    |
+---------+------+
2 rows selected (0.033 seconds)