• HBase 开发:使用Java操作HBase 第2关:添加数据


    添加数据

    要对一个表添加数据,我们需要一个Put对象,在定义Put对象之前我们需要获取到Table对象,这样才能对指定的表进行操作:

    1. Table table = connection.getTable(tableName);//获取Table对象
    2. try {
    3. byte[] row = Bytes.toBytes("row1"); //定义行
    4. Put put = new Put(row); //创建Put对象
    5. byte[] columnFamily = Bytes.toBytes("data"); //列簇
    6. byte[] qualifier = Bytes.toBytes(String.valueOf(1)); //
    7. byte[] value = Bytes.toBytes("张三丰"); //
    8. put.addColumn(columnFamily, qualifier, value);
    9. table.put(put); //向表中添加数据
    10. } finally {
    11. //使用完了要释放资源
    12. table.close();
    13. }

    编程要求

    好了,到你啦,使用本关知识,在右侧编辑器begin-end处补充代码,请你编写一个Java程序,在HBase中创建表tb_step2,列簇都为:data,添加数据:

    • 行号分别为:row1row2
    • 列名分别为:12
    • 值分别为:张三丰张无忌
    1. package step2;
    2. import java.io.IOException;
    3. import org.apache.hadoop.conf.Configuration;
    4. import org.apache.hadoop.hbase.HBaseConfiguration;
    5. import org.apache.hadoop.hbase.HColumnDescriptor;
    6. import org.apache.hadoop.hbase.HTableDescriptor;
    7. import org.apache.hadoop.hbase.TableName;
    8. import org.apache.hadoop.hbase.client.Admin;
    9. import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
    10. import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
    11. import org.apache.hadoop.hbase.client.Connection;
    12. import org.apache.hadoop.hbase.client.ConnectionFactory;
    13. import org.apache.hadoop.hbase.client.Get;
    14. import org.apache.hadoop.hbase.client.Put;
    15. import org.apache.hadoop.hbase.client.Result;
    16. import org.apache.hadoop.hbase.client.ResultScanner;
    17. import org.apache.hadoop.hbase.client.Scan;
    18. import org.apache.hadoop.hbase.client.Table;
    19. import org.apache.hadoop.hbase.client.TableDescriptor;
    20. import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
    21. import org.apache.hadoop.hbase.util.Bytes;
    22. public class Task {
    23. public void insertInfo()throws Exception{
    24. /********* Begin *********/
    25. Configuration config = HBaseConfiguration.create();
    26. Connection connection = ConnectionFactory.createConnection(config);
    27. Admin admin = connection.getAdmin();
    28. TableName tableName = TableName.valueOf("tb_step2");
    29. TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName);
    30. ColumnFamilyDescriptor family = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("data")).build();// 构建列族对象
    31. tableDescriptor.setColumnFamily(family); // 设置列族
    32. admin.createTable(tableDescriptor.build()); // 创建表
    33. // 添加数据
    34. byte[] row1 = Bytes.toBytes("row1");
    35. Put put1 = new Put(row1);
    36. byte[] columnFamily1 = Bytes.toBytes("data"); //
    37. byte[] qualifier1 = Bytes.toBytes(String.valueOf(1)); // 列族修饰词
    38. byte[] value1 = Bytes.toBytes("张三丰"); //
    39. put1.addColumn(columnFamily1, qualifier1, value1);
    40. byte[] row2 = Bytes.toBytes("row2");
    41. Put put2 = new Put(row2);
    42. byte[] columnFamily2 = Bytes.toBytes("data"); //
    43. byte[] qualifier2 = Bytes.toBytes(String.valueOf(2)); // 列族修饰词
    44. byte[] value2 = Bytes.toBytes("张无忌"); //
    45. put2.addColumn(columnFamily2, qualifier2, value2);
    46. Table table = connection.getTable(tableName);
    47. table.put(put1);
    48. table.put(put2);
    49. /********* End *********/
    50. }
    51. }

    1. start-dfs.sh
    2. start-hbase.sh
    3. hadoop fs -ls /hbase

  • 相关阅读:
    南辕北辙
    MLX90640 红外热成像仪测温传感器模块开发笔记(七)
    【SpringBoot项目】一文掌握文件上传和下载【业务开发day04】
    赋能借壳上市
    Linux入门教程:P11->文件查找类
    Linux驱动开发入门记录——(三)虚拟输入设备
    Django框架之路由层
    Ribbon官网及参考文档
    免费SSL证书和付费SSL证书的区别在哪儿?
    scikit-learn 中 Boston Housing 数据集问题解决方案
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/128135016