当前位置:   article > 正文

HBase 开发:使用Java操作HBase 第2关:添加数据_编程要求 根据提示,在右侧编辑器的 begin-end 中补充代码,实现 hbase 计数器的功

编程要求 根据提示,在右侧编辑器的 begin-end 中补充代码,实现 hbase 计数器的功

添加数据

要对一个表添加数据,我们需要一个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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/419740
推荐阅读
相关标签
  

闽ICP备14008679号