1所需依赖(之所以有<exclusions>,是因为依赖冲突,排出后该依赖,然后再添加另外一个版本)
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>spring-boot-starter-hbase</artifactId>
<version>1.0.0.RELEASE</version>
<exclusions>
<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.1.5</version>
</dependency>
2rowkey生成工具
public class RowKeyGenUtil {
/**
* <h2>根据提供的 PassTemplate 对象生成 RowKey</h2>
* @param passTemplate {@link PassTemplate}
* @return String RowKey
* */
public static String genPassTemplateRowKey(PassTemplate passTemplate) {
String passInfo = String.valueOf(passTemplate.getId()) + "_" + passTemplate.getTitle();
String rowKey = DigestUtils.md5Hex(passInfo);
log.info("GenPassTemplateRowKey: {}, {}", passInfo, rowKey);
return rowKey;
}
/**
* <h2>根据提供的领取优惠券请求生成 RowKey, 只可以在领取优惠券的时候使用</h2>
* Pass RowKey = reversed(userId) + inverse(timestamp) + PassTemplate RowKey
* @param request {@link GainPassTemplateRequest}
* @return String RowKey
* */
public static String genPassRowKey(GainPassTemplateRequest request) {
return new StringBuilder(String.valueOf(request.getUserId())).reverse().toString()
+ (Long.MAX_VALUE - System.currentTimeMillis())
+ genPassTemplateRowKey(request.getPassTemplate());
}
/**
* <h2>根据 Feedback 构造 RowKey</h2>
* @param feedback {@link Feedback}
* @return String RowKey
* */
public static String genFeedbackRowKey(Feedback feedback) {
return new StringBuilder(String.valueOf(feedback.getUserId())).reverse().toString() +
(Long.MAX_VALUE - System.currentTimeMillis());
}
}
3使用如下操作hbase
@Autowired
private HbaseTemplate hbaseTemplate;
未完,待续。。。