首页 > 其他分享 >Springboot-hbase增删改20230509

Springboot-hbase增删改20230509

时间:2023-05-09 17:12:41浏览次数:52  
标签:String tableName param conf org hbase 20230509 Springboot

1、启动

 

2、ZK客户端

 

 

 

 

3、springboot+hbase实例

  1)、pom

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>com.spring4all</groupId>
      <artifactId>spring-boot-starter-hbase</artifactId>
      <version>1.0.0.RELEASE</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-autoconfigure</artifactId>
      </exclusion>
      <exclusion>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
      </exclusion>
      <exclusion>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-client</artifactId>
      </exclusion>
     </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-client</artifactId>
        <version>2.4.11</version>
    </dependency>
  </dependencies>

 

 

  2)、HbaseCase
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import java.io.IOException;

    public class HbaseCase {

      public static void main(String[] args) throws IOException {

        //insertData("tb_user","r6","tf","username","6name");
        insertData("tb_user","r6","tf","id","6");
        insertData("tb_user","r6","tf","username","6name");
        insertData("tb_user","r6","tf","pwd","pwd6");
        getData("tb_user","r6","tf","id");
        //createTable("tb_role",new String[]{"tf"});
      }

      /**
        * 获取数据
        * @param tableName 表名
        * @param rowkey 行键
        * @param colFamily 列族
        * @param col 列
        * @throws IOException 可能出现的异常
      */
      public static void getData(String tableName,String rowkey,String colFamily,String col) throws IOException {
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum","127.0.0.1");
        Connection conn =ConnectionFactory.createConnection(conf);
        Table table = conn.getTable(TableName.valueOf(tableName));
        Get get = new Get(rowkey.getBytes());
        get.addColumn(colFamily.getBytes(),col.getBytes());
        Result result = table.get(get);
        System.out.println(new String(result.getValue(colFamily.getBytes(),col.getBytes())));
        table.close();
      }

      /**
        * 添加数据
        * @param tableName 表名
        * @param rowkey 行键
        * @param colFamily 列族
        * @param col 列
        * @param value 值
        * @throws IOException 可能出现的异常
      */
      public static void insertData(String tableName,String rowkey,String colFamily,String col,
        String value) throws IOException {
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum","127.0.0.1");
        Connection conn =ConnectionFactory.createConnection(conf);
        Table table = conn.getTable(TableName.valueOf(tableName));
        Put put = new Put(rowkey.getBytes());
        put.addColumn(colFamily.getBytes(),col.getBytes(),value.getBytes());
        table.put(put);
        table.close();
      }
      /**
        * 创建表
        * @param myTableName 表名
        * @param colFamily 列族名的数组
        * @throws IOException 可能出现的异常
      */
      public static void createTable(String myTableName, String[] colFamily) throws IOException {
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum","127.0.0.1");
        Connection conn =ConnectionFactory.createConnection(conf);
        Admin admin = conn.getAdmin();
        TableName tableName = TableName.valueOf(myTableName);
        if (admin.tableExists(tableName)) {
          System.out.println(myTableName + "表已经存在");
        } else {
          HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);
          for (String str : colFamily) {
            HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(str);
            hTableDescriptor.addFamily(hColumnDescriptor);
          }
          admin.createTable(hTableDescriptor);
        }
      }


      /**
        * 根据行键删除数据
        * @param tableName 表名
        * @param rowkey 行键
        * @throws IOException 可能出现的异常
      */
      public static void deleteData(String tableName,String rowkey) throws IOException {
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum","127.0.0.1");
        Connection conn =ConnectionFactory.createConnection(conf);
        Table table = conn.getTable(TableName.valueOf(tableName));
        Delete delete = new Delete(rowkey.getBytes());
        table.delete(delete);
        table.close();
      }

 

    }

 

4、实例记录

 

新增记录

 创建表

 

 

 

 

 

标签:String,tableName,param,conf,org,hbase,20230509,Springboot
From: https://www.cnblogs.com/smallfa/p/17385612.html

相关文章

  • 20230509001 - DataTable 导出成Excel
               DataTabledt_e=DataSet0.Tables[0];           SaveFileDialogsaveFileDialog=newSaveFileDialog();           saveFileDialog.Filter="Execlfiles(*.xls)|*.xls";           saveFileDialog.FilterIndex......
  • SpringBoot - 参数接收方式
    SpringBoot-参数接收方式·前言·使用@PathVariable接收路径中的参数·使用@RequestParam获取路径中?后的参数·使用@RequestBody获取Map对象·使用@RequestBody获取实体对象前言使用@PathVariable接收路径中的参数@GetMapping(value="/param/{id}")publicStri......
  • springBootMVC搭建
    springBootMVC搭建 分类专栏:spring环境配置spring环境配置专栏收录该内容17篇文章0订阅订阅专栏今天给大家介绍一下springBootMVC,让我们学习一下如何利用SpringBoot快速的搭建一个简单的web应用。环境准备一个称手的文本编辑器(例如Vim、Emacs、SublimeText)或者I......
  • SpringBoot的@Configuration注解
    本文主要讲述SpringBoot的@Configuration注解。一.POJO类的声明例如有两个pojo类,分别是User和PetUser类的声明如下:publicclassUser{privateStringname;privateIntegerage;publicUser(){}publicUser(Stringname,Integer......
  • Springboot 项目配置 HTTPS
    生成证书输入命令keytool-genkeypair-alias"boot"-keyalg"RSA"-keystore"boot.keystore"生成完成后会提示Warning:JKS密钥库使用专用格式。建议使用"keytool-importkeystore-srckeystoreboot.keystore-destkeystoreboot.keystore-deststoretypepkc......
  • SpringBoot项目如何打包成exe应用程序?
    前言近期做了一个前后端合并的springboot项目,但是要求打包城exe文件,提供给不懂电脑的小白安装使用,就去研究了半天,踩了很多坑,写这篇文章,是想看到这篇文章的人,按照我的步骤走,能少踩坑。准备准备工作:一个jar包,没有bug能正常启动的jar包exe4j,一个将jar转换成exe的工具,链接:h......
  • 使用IDEA创建第一个SpringBoot项目并进行一些基础配置的详细教程
    1.打开IDEA,新建newproject,填写项目信息。 2.如上图所示,设置serverURL为阿里云服务器为:https://start.aliyun.com/下面的Java版本选择必须和ProjectSDK版本相对应,不然不能进行下一步。3.选择springboot版本和开发会使用到的组件,最后点finish即可。 4.等待IDEA创建并......
  • java netty socket实例:报文长度+报文内容,springboot
    前言说实话,javanetty方面的资料不算多,尤其是自定义报文格式的,少之又少自己写了个简单的收发:报文长度+报文内容发送的话,没有写自动组装格式,自己看需求吧,需要的话,自己完善服务端启动可以直接用类文件启动,也可以通过springboot。我这里写的是用springboot启动的,可以自己按照需求自......
  • SpringBoot全局异常处理
    @ControllerAdvice:使用该注解表示开启了全局异常的捕获; 参考链接[1]https://www.cnblogs.com/xuwujing/p/10933082.html[2]https://gitee.com/bruce6213/global-exception-handler......
  • Hbase跨集群迁移以及常用命令
    场景:由于Hbase版本升级以及集群切换,现需要将Hbase从A集群(源)迁移至B集群(目的)迁移过程:将源A集群的Hbase需要迁移的表(注意namespace)通过snapshot方式打成快照,然后再通过ExportSnapshot方式迁移至目的B集群,此时目的集群的HDFS目录下的hbase目录会生成.hbase_snapshot和archive目录......