Hbase课堂练习 1. 创建一个数据表,该表名称为user,包含2个列族info和position 2. 向表user中的第a001行、第“info:name”列,添加数据值为“zhangsan” 3. 从user中,获取第a001行、第“info:name”列的值 4. 删除 a001行数据 5.使表user无效、删除该表
时间: 2024-02-26 21:58:14 浏览: 27
好的,我来帮你解答。
1. 创建一个数据表,该表名称为user,包含2个列族info和position:
使用 HBase shell 命令行工具创建该表:
```
create 'user', 'info', 'position'
```
2. 向表user中的第a001行、第“info:name”列,添加数据值为“zhangsan”:
使用 HBase shell 命令行工具插入数据:
```
put 'user', 'a001', 'info:name', 'zhangsan'
```
3. 从user中,获取第a001行、第“info:name”列的值:
使用 HBase shell 命令行工具查询数据:
```
get 'user', 'a001', 'info:name'
```
结果应该为:
```
zhangsan
```
4. 删除 a001行数据:
使用 HBase shell 命令行工具删除该行数据:
```
deleteall 'user', 'a001'
```
5. 使表user无效、删除该表:
使用 HBase shell 命令行工具删除该表:
```
disable 'user'
drop 'user'
```
注意:以上操作都需要在 HBase shell 命令行工具中进行。
相关问题
5.向创建好的HBase 数据表中插入t_user 中的数据。写出相应的读写HBASE代码和运行结果。
以下是向HBase数据表中插入t_user中数据的Java代码:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
public class HBaseInsert {
public static void main(String[] args) throws Exception {
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "localhost");
config.set("hbase.zookeeper.property.clientPort", "2181");
Connection connection = ConnectionFactory.createConnection(config);
Table table = connection.getTable(TableName.valueOf("t_user"));
Put put = new Put(Bytes.toBytes("001"));
put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("name"), Bytes.toBytes("张三"));
put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("age"), Bytes.toBytes("20"));
put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("gender"), Bytes.toBytes("男"));
table.put(put);
table.close();
connection.close();
System.out.println("数据插入成功!");
}
}
```
以上代码中,首先创建一个HBase的连接,然后获取到t_user表的对象,接着构建一个Put对象,并向其中添加数据列,最后通过table.put()方法将数据插入到HBase表中。
运行结果如下所示:
```
数据插入成功!
```
可以通过HBase Shell命令行工具来查看插入的数据:
```
hbase(main):001:0> scan 't_user'
ROW COLUMN+CELL
001 column=info:age, timestamp=1632140456432, value=20
001 column=info:gender, timestamp=1632140456432, value=男
001 column=info:name, timestamp=1632140456432, value=张三
1 row(s) in 0.0140 seconds
```
.创建HBase命名空间; 2.创建HBase表; 3.给Hbase表中插入数据; 4.对Hbase表中的数据进行查询;
1. 创建HBase命名空间:
使用HBase Shell创建命名空间,执行以下命令:
```
create_namespace 'namespace_name'
```
其中namespace_name为要创建的命名空间名称。
2. 创建HBase表:
使用HBase Shell创建表,执行以下命令:
```
create 'namespace_name:table_name', 'column_family'
```
其中namespace_name为命名空间名称,table_name为表名称,column_family为列族名称。
3. 给HBase表中插入数据:
使用HBase Shell插入数据,执行以下命令:
```
put 'namespace_name:table_name', 'row_key', 'column_family:column_name', 'value'
```
其中namespace_name为命名空间名称,table_name为表名称,row_key为行键,column_family为列族名称,column_name为列名称,value为要插入的值。
4. 对HBase表中的数据进行查询:
使用HBase Shell查询数据,执行以下命令:
```
get 'namespace_name:table_name', 'row_key'
```
其中namespace_name为命名空间名称,table_name为表名称,row_key为行键。如果要查询整个表中的所有数据,可以使用以下命令:
```
scan 'namespace_name:table_name'
```
以上是使用HBase Shell进行操作的方式,也可以使用Java API进行操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)