大象教程
首页
Spark
Hadoop
HDFS
MapReduce
Hive
HBase 教程
HBase 教程
HBase 体系结构
HBase 安装
HBase Shell
HBase 通用命令
HBase 管理员 API
HBase 创建表
HBase 列出表
HBase 禁用表
HBase 启用表
HBase 表描述和更改
HBase 验证表是否存在(exist命令)
HBase 删除表
HBase 关闭
HBase 客户端 API
HBase 创建(插入)数据
HBase 更新数据
HBase 读取数据
HBase 删除数据
HBase 扫描(scan)
HBase 计数(count)和截断(truncate)
HBase 安全
#HBase 创建(插入)数据 ##创建数据 要在HBase表中创建数据,请使用以下命令和方法: - put 命令 - Put类的add()方法,以及 - HTable类的put()方法。 例如,我们将在HBase中创建下表。 ![](/media/editor/file_1664356898000_20220928172138877742.png) 使用put命令,可以将行插入表中。其语法如下: ```bash put '
','row1','
','
' ``` 让我们将第一行值插入emp表,如下所示。 ```bash hbase:002:0> put 'emp','1','personal data:name','raju' Took 1.3256 seconds hbase:003:0> put 'emp','1','personal data:city','hyderahad' Took 0.0283 seconds hbase:004:0> put 'emp','1','personal data:designation','manager' Took 0.0079 seconds hbase:005:0> put 'emp','1','personal data:salary','50000' Took 0.0110 seconds ``` 以相同方式使用put命令插入其余行。如果插入整个表,将得到以下输出。 ```bash hbase:019:0> scan 'emp' ROW COLUMN+CELL 1 column=personal data:city, timestamp=2021-01-04T09:35:39.345, val ue=hyderahad 1 column=personal data:designation, timestamp=2021-01-04T09:36:18.4 66, value=manager 1 column=personal data:name, timestamp=2021-01-04T09:38:44.128, val ue=raju 1 column=personal data:salary, timestamp=2021-01-04T09:36:42.145, v alue=50000 2 column=personal data:city, timestamp=2021-01-04T09:39:25.298, val ue=chennai 2 column=personal data:designation, timestamp=2021-01-04T09:39:56.8 97, value=sr.engineer 2 column=personal data:name, timestamp=2021-01-04T09:39:07.682, val ue=ravi 2 column=personal data:salary, timestamp=2021-01-04T09:40:13.935, v alue=30000 3 column=personal data:city, timestamp=2021-01-04T09:40:57.831, val ue=delhi 3 column=personal data:designation, timestamp=2021-01-04T09:41:27.2 62, value=jr.engineer 3 column=personal data:name, timestamp=2021-01-04T09:40:33.117, val ue=rajesh 3 column=personal data:salary, timestamp=2021-01-04T09:41:46.733, v alue=25000 ``` ##使用Java API插入数据 您可以使用Put类的`add()`方法将数据插入Hbase 。您可以使用HTable类的`put()`方法保存它。这些类属于org.apache.hadoop.hbase.client软件包。下面给出了在HBase表中创建数据的步骤。 ###步骤1:连接 该配置类增加了HBase的配置文件,它的对象。您可以使用HbaseConfiguration类的`create()`方法创建配置对象,如下所示。 ```java // Instantiating Configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); ``` ###步骤2:实例化Table类 您有一个名为HTable的类,它是HBase中Table的实现。此类用于与单个HBase表进行通信。在实例化此类时,它接受配置对象和表名称作为参数。Table类,如下所示。 ```java TableName tb = TableName.valueOf("emp"); // Instantiating HTable class Table table = connection.getTable(tb); ``` ###步骤3:实例化Put 类 要将数据插入到HBase表中,请使用`add()`方法及其变体。此方法属于Put,因此实例化put类。此类要求您要以字符串格式将数据插入到的行名。您可以如下所示实例化Put类。 ```java TableName tb = TableName.valueOf("emp"); // Instantiating HTable class Table table = connection.getTable(tb); ``` ###步骤4:插入数据 Put类的`addaddColumn()`方法用于插入数据。它需要3个字节的数组,分别代表列族,列限定符(列名)和要插入的值。如下所示,使用`addColumn()`方法将数据插入HBase表。 ```java p.addColumn(Bytes.toBytes("personal data"), Bytes.toBytes("name"), Bytes.toBytes("raju")); ``` ###步骤5:将数据保存在表中 插入所需的行后,通过将put实例添加到HTable类的`put()`方法中来保存更改,如下所示。 ```java Table.put(p); ``` ###步骤6:关闭HTable实例 在HBase表中创建数据后,使用`close()`方法关闭HTable实例,如下所示。 ```java Table.close(); ``` 下面给出了在HBase Table中创建数据的完整程序。 ```java import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; 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.Put; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; public class InsertData { public static void main(String[] args) throws IOException { // Instantiating Configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); TableName tb = TableName.valueOf("emp"); // Instantiating HTable class Table table = connection.getTable(tb); // Instantiating Put class // accepts a row name. Put p = new Put(Bytes.toBytes("row1")); // adding values using add() method // accepts column family name, qualifier/row name ,value p.addColumn(Bytes.toBytes("personal data"), Bytes.toBytes("name"), Bytes.toBytes("raju")); p.addColumn(Bytes.toBytes("personal data"), Bytes.toBytes("city"), Bytes.toBytes("hyderabad")); p.addColumn(Bytes.toBytes("personal data"), Bytes.toBytes("designation"), Bytes.toBytes("manager")); p.addColumn(Bytes.toBytes("personal data"), Bytes.toBytes("salary"), Bytes.toBytes("50000")); // Saving the put Instance to the HTable. table.put(p); System.out.println("data inserted"); // closing HTable table.close(); } } ``` 编译并执行上述程序,如下所示。 ```bash $javac InsertData.java $java InsertData ``` 以下应该是输出: ``` data inserted ```
加我微信交流吧