Hbase 数据库使用创建病人信息表(patient), 数据表中包含病人ID号、姓名、年龄、性别、病房号、所患疾病六个字段不写入数据
时间: 2023-12-22 17:22:45 浏览: 42
以下是创建Hbase数据库病人信息表(patient)的基本语句,但由于没有提供数据,无法将数据写入表中:
```shell
create 'patient', 'info'
```
在这个表中,我们定义了一个“info”列族,其中包含了病人的ID号、姓名、年龄、性别、病房号和所患疾病六个字段。我们可以使用以下语句来插入数据:
```shell
put 'patient', 'row1', 'info:id', '1001'
put 'patient', 'row1', 'info:name', 'John'
put 'patient', 'row1', 'info:age', '35'
put 'patient', 'row1', 'info:gender', 'male'
put 'patient', 'row1', 'info:ward_no', '203'
put 'patient', 'row1', 'info:disease', 'cancer'
```
在这个例子中,我们向“patient”表中插入了一行数据,其中包含了病人的ID号、姓名、年龄、性别、病房号和所患疾病信息。每个数据都被指定为“info”列族中的一个列,并使用“put”命令将数据插入到行“row1”中。
相关问题
Hbase 数据库使用创建病人信息表(patient), 数据表中包含病人ID号、姓名、年龄、性别、病房号、所患疾病六个字段;
在 Hbase 中创建病人信息表(patient)可以通过以下步骤实现:
1. 打开 Hbase shell 命令行界面,输入以下命令创建命名空间(namespace):
create_namespace 'hospital'
2. 创建表(table)并设置列族(column family):
create 'hospital:patient', 'info'
3. 插入数据:
put 'hospital:patient', '001', 'info:name', '张三'
put 'hospital:patient', '001', 'info:age', '25'
put 'hospital:patient', '001', 'info:gender', '男'
put 'hospital:patient', '001', 'info:ward', '101'
put 'hospital:patient', '001', 'info:disease', '感冒'
4. 查询数据:
get 'hospital:patient', '001'
查询结果:
COLUMN CELL
info:age timestamp=1608754694453, value=25
info:disease timestamp=1608754724601, value=感冒
info:gender timestamp=1608754665217, value=男
info:name timestamp=1608754643784, value=张三
info:ward timestamp=1608754702847, value=101
通过以上步骤就可以在 Hbase 中创建病人信息表(patient)并插入数据,同时也可以通过 get 命令查询数据。
在hbase数据库中:修改表信息,region大小修改为128M。
在HBase数据库中,修改表的信息并调整Region大小通常需要通过Admin API或者Shell命令来进行。以下是基本步骤:
1. **使用Admin API**:
- 首先,你需要获取到HBase的Admin实例。这通常在运行HBase服务的应用程序中完成。
- 然后,你可以使用`admin.modifyTable()`方法,传入表名和一个`ModifyTableRequest`对象,其中包含`setRegionSplitSize()`方法,用于设置新的region大小。例如:
```java
ModifyTableRequest request = new ModifyTableRequest();
HBaseConfiguration config = ... // 获取配置
RegionInfo.HRegionVersion version = null;
request.setModifications(Arrays.asList(
new TableModifyOperation.Builder()
.addFamily(new RegionInfoBuilder(yourTableName).setRegionSize(1048576 * 128)) // 128MB in bytes (1048576 for MB)
.build()
));
admin.modifyTable(request, version);
```
2. **使用Shell命令**:
- 执行HBase shell,然后使用`alter 'your_table_name', {SPLIT=128MB}`命令。这里的`128MB`也是指字节数。不过,这个操作可能会导致数据迁移,所以在生产环境中需谨慎操作,并可能需要暂停读写。
记住,修改region大小会影响表的性能和数据分布,所以建议在理解影响后再做这样的调整,并且在业务低峰期执行以减少对正常服务的影响。