修改hbase列族数据类型实验

这里通过phoenix来操作habse

1、登录phoenix,建表

0: jdbc:phoenix:192.168.1.1:2181:/hbase> create table seenow(id varchar primary key,info.name varchar,info.age varchar);
No rows affected (2.286 seconds)

2、添加记录

0: jdbc:phoenix:192.168.1.1:2181:/hbase> upsert into seenow(id,info.name,info.age) values('001','admin','33');
1 row affected (0.107 seconds)

3、查看数据类型

0: jdbc:phoenix:192.168.1.1:2181:/hbase> !describe seenow
+------------+--------------+-------------+--------------+------------+------------+--------------+------------+
| TABLE_CAT  | TABLE_SCHEM  | TABLE_NAME  | COLUMN_NAME  | DATA_TYPE  | TYPE_NAME  | COLUMN_SIZE  | BUFFER_LEN |
+------------+--------------+-------------+--------------+------------+------------+--------------+------------+
|            |              | SEENOW      | ID           | 12         | VARCHAR    | null         | null       |
|            |              | SEENOW      | NAME         | 12         | VARCHAR    | null         | null       |
|            |              | SEENOW      | AGE          | 12         | VARCHAR    | null         | null       |
+------------+--------------+-------------+--------------+------------+------------+--------------+------------+

4、修改info.age为integer类型

0: jdbc:phoenix:192.168.1.1:2181:/hbase>upsert into SYSTEM.CATALOG(table_name,column_name,column_family,data_type) values('SEENOW','AGE','INFO',4);
1 row affected (0.007 seconds)

5、再使用describe命令或直接去CATALOG表中查看元数据,如下:

0: jdbc:phoenix:192.168.1.1:2181:/hbase> select table_name,column_name,column_family,data_type from SYSTEM.CATALOG where table_name='SEENOW';
+-------------+--------------+----------------+------------+
| TABLE_NAME  | COLUMN_NAME  | COLUMN_FAMILY  | DATA_TYPE  |
+-------------+--------------+----------------+------------+
| SEENOW      |              |                | null       |
| SEENOW      | AGE          | INFO           | 4          |
| SEENOW      | ID           |                | 12         |
| SEENOW      | NAME         | INFO           | 12         |
+-------------+--------------+----------------+------------+

可以看到,INFO.AGE字段的数据类型已经被修改为4(integer)
注:在phoenix中,默认情况下,不加引号的表名、字段名会自动转为大写,因此,在引号号内的表名或字段名要注意大小写
再附一张网上找到的数据类型和数据名称对应关系表


44444444.png

参考:(8条消息) phoenix修改表中字段的数据类型_darkbreak_up的博客-CSDN博客_phoenix 修改字段名称

你可能感兴趣的:(修改hbase列族数据类型实验)