1.添加依赖

<hbase.version>2.2.4</hbase.version>

     <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-shaded-client</artifactId><version>${hbase.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.4</version></dependency>

2.配置信息

# database - hbase
datasource.hbase.zookeeper.quorum=192.169.9.225
datasource.hbase.zookeeper.port=22181
datasource.hbase.zookeeper.znode.parent=
datasource.hbase.table.myHbase=myHbase

设置预分区,能很好避免写入的时候会存在热点写的问题,同时不断的写入,hbase的region会自己进行split,这会消耗hbase的资源近而影响写入。

# 新建hbase表,我写入的数据是1-500000的循环写入
create 'myHbase','info' ,SPLITS=>['10','20','30','40']

3.hbaseConfig类

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.Table;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.io.IOException;@Configuration
public class HBaseConfig {@Value("${datasource.hbase.zookeeper.quorum}")private String zookeeper;@Value("${datasource.hbase.zookeeper.znode.parent}")private String parent;@Value("${datasource.hbase.zookeeper.port}")private String port;@Value("${datasource.hbase.table.myHbase}")private String tableName;public Connection getConnection() throws IOException {org.apache.hadoop.conf.Configuration config = HBaseConfiguration.create();config.set("hbase.zookeeper.quorum", zookeeper);config.set("hbase.zookeeper.property.clientPort", port);if (parent != null && !"".equals(parent)) {config.set("zookeeper.znode.parent", parent);}Connection connection = ConnectionFactory.createConnection(config);return connection;}@Bean(name = "hbaseTable")public Table getHbaseTable() throws IOException {Connection connection = getConnection();Table table = connection.getTable(TableName.valueOf(tableName));return table;}}

4.使用

import com.test.dspriskadmin.dao.mysql.SdkUidMapper;
import lombok.val;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.io.IOException;
import java.util.*;@Service
public class SdkUidService {@Autowiredprivate SdkUidMapper sdkUidMapper;@Resource(name = "hbaseTable")private Table hbaseTable;public void insertSdkUidToHbase(){try {val sdkUIdList = sdkUidMapper.queryUidList();System.out.println(sdkUIdList);sdkUIdList.forEach(sdkUId -> {Put put = new Put(Bytes.toBytes(sdkUId.getUid().toString()));put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("uid"),Bytes.toBytes(sdkUId.getUid().toString()));try {hbaseTable.put(put);} catch (IOException e) {e.printStackTrace();}});hbaseTable.close();}catch (IOException e) {e.printStackTrace();}}
}

springboot hbase相关推荐

  1. springboot+hbase 集成

    项目中使用 phoenix 使用SQL 方式来操作Hbase 数据库,但是遇到一个是,SQL在Dbeaver 中查询速度还可以,但是使用phoenix+ibatis 后返回结果集数据量20w ,速度特 ...

  2. springboot HBase操作工具类

  3. JAVA_基础部分_综合篇

    JVM (1) 基本概念: JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的 ...

  4. springboot整合postgre和hbase实现互相交互功能

    此项目是一个小测试,将postgre中的某些字段读取到hbase中变成某个表的列族,其中postgre和hbase已经在云服务器上建立好,用的docker技术,开放相应端口,并且win上用管道安全连接 ...

  5. SpringBoot整合HBase将数据写入Docker中的HBase

    在之前的项目里,docker容器中已经运行了HBase,现将API操作HBase实现数据的增删改查 通过SpringBoot整合Hbase是一个很好的选择 首先打开IDEA,创建项目(project) ...

  6. springboot 整合hbase

    前言 作为大数据家族中的重要一员,在大数据以及海量数据存储方面,hbase具有重要的地方,本篇将从java对hbase的操作上,进行详细的说明: HBase 定义 HBase 是一种分布式.可扩展.支 ...

  7. Hbase+Phoenix+Mybatis+Springboot整合查询数据

    Phoenix Query Server提供了一种与Phoenix和HBase交互的替代方法.很快,这将允许从JVM以外的环境进行访问. 在4.x和5.0版本中,查询服务器及其JDBC客户端是标准Ph ...

  8. Springboot集成Hadoop+Hbase实现企业能源消耗监测大数据分析系统

    企业硬件设备较多,不利于快速发现设备故障及能源消耗异常.依托于hadoop.hbase搭建大数据分析平台,采用Springboot开发框架搭建一套完善的企业能源监控检测数据分析可视化平台.本次毕设程序 ...

  9. SpringBoot 使用Phoenix操作HBase数据库教程

    SpringBoot 使用Phoenix操作HBase数据库教程 文章目录 添加 Phoenix 相关依赖 控制器实现Hbase数据库操作 好的html源码下载 文章目录 借助 Apache Phoe ...

最新文章

  1. SQL 的Over 子句
  2. [C#]非阻塞监听键盘输入
  3. oracle 系统时间前半年,oracle中将选定日期(年月型)减去1年
  4. [机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)
  5. python日期格式修改年月日_Python time模块格式化中文年月日
  6. WAS6集群部署及初步测试
  7. python有什么优点_Python是什么?有什么优点?赶紧来看看Python的入门教程
  8. s3c6410 jpeg编码 linux,S3C6410 裸机硬件JPEG解码
  9. 五笔字型键盘字根图_手机输入法的派别之争:九宫格和全键盘,哪个更科学?...
  10. turbo c相关文档
  11. RocketMQ(九)—Queue分配算法
  12. (25)FPGA乘法器设计(第5天)
  13. python编程基础—正则表达式
  14. C 语言的32 个关键字意义
  15. C#枚举中使用Flags特性
  16. Xcode模拟器simulators安装
  17. https 带端口_基于scapy模块的8种端口扫描
  18. sklearn中digits手写字体数据集
  19. R语言分类算法之距离判别(Distance Discrimination)
  20. Hexo博客标题栏背景颜色设置美化

热门文章

  1. Codeforces Round #673 (Div. 2) C. k-Amazing Numbers
  2. Hand Pose Datasets
  3. java中使用ajax请求数据格式,Java基本数据类型 javascript中post和ajax提交 Axure
  4. VMware中chrome、Edge浏览器透明菜单、白菜单 及 复制虚拟机互相踢、冲突问题解决
  5. 拿下ABB需要多少代码!《abb机器人资料》
  6. Unity3D开发类似保龄球游戏
  7. js 余数 取_js取整数、取余数的案例详解(附代码)
  8. 数据库存储路径,资源文件放在服务器上,前台如何展示(已成功解决)
  9. ftp服务器Server-U突破局域网实现公网访问的方法
  10. delphi android 自动升级