• 118494

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

hbase-client-spring-boot-starter

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

wiki 主要介绍在spring boot 项目接入基于自定义 hbase-client-spring-boot-starter  hbase 客户端

hbase-client-spring-boot-starter 项目路径  https://gitee.com/lbjyu/hbase-client-spring-boot-starter.git

     hbase-client-spring-boot-starter 基于hbase-shaded-client,spring boot 的第三方start
annotation ...........................................
自定义注解包
autoconfigure ...................................... 自动加载包
constants ...................................... 常量包
util ........................................ 工具包,自定义注解解析器
vo ........................................ 推送和查询以及分页VO
HbaseApiService ................................... 对外暴露的Service
HbaseModel ...................................
推送模型类,泛型用于业务和hbase服务交互解耦

 

1.annotation 注解包各注解功能介绍

 

序号

注解名称

属性

作用范围

功能

1

@HbRowKey

rowKey

字段

标注该字段为表里面的主键

2

@HbTableName

tableName

columnFamily

字段

@HbTableName
tableName:
对表名

columnFamily:对应表列族

 

2.autoconfigure 自动装配包

序号

类名

功能

1

EnableHbaseClient

自动装配注解

2

HbaseApiServiceImpl

HbaseApiService 的接口实现

3

HbaseClient

Client 客户端类,与ES服务交互类

4

HbaseConfigBeanAutoConfigure

自动装配实现类

5

HbaseConfigProperties

主动装配属性注入类

3.constants 静态常量包

5.util 工具包

序号

类名

功能

1

HbaseAnnotationUtil

annotation 注解包各注解的解析类

2

HbaseBeanUtils

bean 工具类对象转map

3

HbaseException

自定义异常类

4

MapperUtils

 jackSon 工具类,json转换

6. vo集合包

序号

类名

功能

1

HbasePageBean

分页VO 注意里面没有总条数与总页数字段

2

HbasePutVo

保存数据的基类

3

HbaseQueryVo

查询数据的基类

7.HbaseApiService 对外暴露的Hbase API 接口

序号

方法名

入参

方法描述

1

singlePut(HbaseModel<T> hbaseModel)

hbaseModel

单个提交实体数据到Hbase

2

multiplePut(HbaseModel<T> hbaseModel)

hbaseModel

批量提交数据 到habse

3

multiplePutAsync(HbaseModel<T> hbaseModel)

 hbaseModel

批量异步put操作

4

singleGet(HbaseQueryVo hbaseQueryVo, Class<T> requiredType)

 hbaseQueryVo,requiredType

表名,主键获取对应的数据

5

singleGetWithColumn(HbaseQueryVo hbaseQueryVo, Class<T> requiredType)

 hbaseQueryVo,requiredType

表名,主键获取对应列的数据

6

List<T> multipleGet(HbaseQueryVo hbaseQueryVo, Class<T> requiredType)

 hbaseQueryVo,requiredType

根据表名,指定的主键,获取指定的列

7

List<T> scanByPrefixFilter(HbaseQueryVo hbaseQueryVo, Class<T> requiredType)

 hbaseQueryVo,requiredType

获取主键匹配前缀的列,会存在全表扫描,性能存在风险以及OOM,慎用

8

HbasePageBean<T> queryListByParamForPage(HbaseQueryVo hbaseQueryVo, int pageSize, Class<T> requiredType)

hbaseQueryVo,pageSize,requiredType

根据起始主键按照条件,查询pageSize大小的数据

8.HbaseModel推送模型类,泛型用于业务和hbase服务交互解耦

9.代码接入步骤

9.1  将文章开头的项目下载到本地,打包到本地仓库,然后再项目中添加,下面的包坐标

<dependency>
         <groupId>com.yuyunbo</groupId>
         <artifactId>hbase-client-spring-boot-starter</artifactId>
         <version>1.0.0</version>
</dependency>

9.2配置zookeeper 集群的相关属性

 

添加自动装配注解

9.3 编写测试基类 详情可见 项目 https://gitee.com/lbjyu/yuqiqigrowup.git  .controller.hbase 包下面代码

 

 

 

数据查询结果

 

 


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客