基于shell进阶练习中已经设计出的学生表的基础上,参考上面的API源代码,用Hbase API编程完成下列两问。 ① 添加数据:Json,English:45 Math:89
时间: 2024-10-26 18:04:12 浏览: 12
使用Java API连接虚拟机HBase并进行数据库操作,Java源代码
5星 · 资源好评率100%
在HBase中,基于Shell操作的经验可以帮你理解基本的数据存储流程,但要直接编写HBase API代码,你需要先了解HBase的基本操作,比如连接到HBase服务器、创建表、定义列族以及插入数据。
首先,假设我们已经有了名为`student`的表,其中包含`name`(字符串)、`json_score`(数值)和`math_score`(数值)等列族。下面是使用HBase Java API来添加学生数据(例如一个学生叫`John`,JSON分数为45,数学分数为89)的一个示例:
```java
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.conf.Configuration;
public class HBaseAddData {
public static void main(String[] args) throws Exception {
// 创建HBase配置
Configuration config = HBaseConfiguration.create();
// 连接到HBase
Connection connection = ConnectionFactory.createConnection(config);
// 获取Table实例,如果表不存在则会自动创建
TableName tableName = TableName.valueOf("student");
Table table = connection.getTable(tableName);
// 准备要插入的数据
byte[] rowKey = "John".getBytes(); // 使用学生的姓名作为行键
Put put = new Put(rowKey);
put.addColumn(Bytes.toBytes("json"), Bytes.toBytes("score"), Bytes.toBytes(45));
put.addColumn(Bytes.toBytes("math"), Bytes.toBytes("score"), Bytes.toBytes(89));
// 插入数据
table.put(put);
// 关闭连接和表
table.close();
connection.close();
System.out.println("Data inserted successfully.");
}
}
```
运行这段代码后,`John`的学生信息就会被添加到`student`表中。注意,这里使用了HBase的行键(Row Key),通常是唯一的标识符,如姓名或者学号。
阅读全文