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)