当前位置:   article > 正文

ubantu操作hbase

ubantu操作hbase

firefox中按照网站找以下文件进行下载

新建一个窗口启动节点

下载完成则回到下载目录

如果下载慢也可以将文件放在share中,然后拷贝到当前目录

进入到root

然后回到hadoop

解压到/usr/local

进入到local,将hbase改名

修改权限

配置环境变量

执行

回到hbase配置conf文件

打开另一个窗口找到这个路径

然后复制到这个下面

最底下注释掉这个

配置site

启动hbase

通过shell进入hbase查看版本号,可以通过exit退出

再通过version

再进入Hbase shell启动管理器。然后通过list查看

如果有student这个表可以先删除了

打开eclipse,然后新建一个项目

添加jar包

Lib包下除了文件夹其他都添加进去

再添加这个jar包,即可finish 

在该项目下创建一个新的类

然后编写以下代码进行测试

  1. package hbaseTestfile;
  2. import org.apache.hadoop.conf.Configuration;
  3. import org.apache.hadoop.hbase.*;
  4. import org.apache.hadoop.hbase.client.*;
  5. import org.apache.hadoop.hbase.util.Bytes;
  6. import java.io.IOException;
  7. public class hBaseTest {
  8. public static Configuration configuration;
  9. public static Connection connection;
  10. public static Admin admin;
  11. public static void main(String[] args) throws IOException{
  12. init();
  13. createTable("student", new String[]{"score"});
  14. insertData("student", "zhangsan", "score", "English", "69");
  15. insertData("student", "zhangsan", "score", "Math", "86");
  16. insertData("student", "zhangsan", "score", "Computer", "77");
  17. getData("student", "zhangsan", "score", "English");
  18. close();
  19. }
  20. public static void init(){
  21. configuration = HBaseConfiguration.create();
  22. configuration.set("Hbase.rootdir","hdfs://localhost:9000/hbase");
  23. try {
  24. connection = ConnectionFactory.createConnection(configuration);
  25. admin = connection.getAdmin();
  26. }catch (IOException e) {
  27. e.printStackTrace();
  28. }
  29. }
  30. public static void close(){
  31. try {
  32. if(admin != null) {
  33. admin.close();
  34. }
  35. if(null != connection){
  36. connection.close();
  37. }
  38. }catch (IOException e) {
  39. e.printStackTrace();
  40. }
  41. }
  42. public static void createTable(String myTableName, String[] colFamily) throws IOException{
  43. TableName tableName = TableName.valueOf(myTableName);
  44. if(admin.tableExists(tableName)) {
  45. System.out.println("table exists");
  46. }else {
  47. TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName);
  48. for(String str: colFamily) {
  49. ColumnFamilyDescriptor family = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(str)).build();
  50. tableDescriptor.setColumnFamily(family);
  51. }
  52. admin.createTable(tableDescriptor.build());
  53. }
  54. }
  55. public static void insertData(String tableName, String rowKey, String colFamily, String col, String val) throws IOException {
  56. Table table = connection.getTable(TableName.valueOf(tableName));
  57. Put put = new Put(rowKey.getBytes());
  58. put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes());
  59. table.put(put);
  60. table.close();
  61. }
  62. public static void getData(String tableName, String rowKey, String colFamily, String col) throws IOException{
  63. Table table = connection.getTable(TableName.valueOf(tableName));
  64. Get get = new Get(rowKey.getBytes());
  65. get.addColumn(colFamily.getBytes(), col.getBytes());
  66. Result result = table.get(get);
  67. System.out.println(new String(result.getValue(colFamily.getBytes(), col==null?null:col.getBytes())));
  68. table.close();
  69. }
  70. }

启动项目后

可以看到正确输出69

也可以看到有student这个表

通过scan指令可以查看表里的数据

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

闽ICP备14008679号