首页 > Java > java教程 > 正文

怎么在springboot中集成hbase

WBOY
发布: 2023-05-30 16:31:24
转载
1457人浏览过

依赖:

<dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-hadoop-hbase</artifactId>
      <version>2.5.0.RELEASE</version>
    </dependency>
 
    <dependency>
      <groupId>org.apache.hbase</groupId>
      <artifactId>hbase-client</artifactId>
      <version>1.1.2</version>
    </dependency>
 
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-hadoop</artifactId>
      <version>2.5.0.RELEASE</version>
    </dependency>
登录后复制

增加配置

官方提供的方式是通过xml方式,简单改写后如下:

@Configuration
public class HBaseConfiguration {
 
  @Value("${hbase.zookeeper.quorum}")
  private String zookeeperQuorum;
 
  @Value("${hbase.zookeeper.property.clientPort}")
  private String clientPort;
 
  @Value("${zookeeper.znode.parent}")
  private String znodeParent;
 
  @Bean
  public HbaseTemplate hbaseTemplate() {
    org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();
    conf.set("hbase.zookeeper.quorum", zookeeperQuorum);
    conf.set("hbase.zookeeper.property.clientPort", clientPort);
    conf.set("zookeeper.znode.parent", znodeParent);
    return new HbaseTemplate(conf);
  }
}
登录后复制

application.yml:

集简云
集简云

软件集成平台,快速建立企业自动化与智能化

集简云 22
查看详情 集简云
hbase:
 zookeeper:
  quorum: hadoop001,hadoop002,hadoop003
  property:
   clientPort: 2181
 
zookeeper:
 znode:
  parent: /hbase
登录后复制

HbaseTemplate test :

@Service
@Slf4j
public class HBaseService {
 
 
  @Autowired
  private HbaseTemplate hbaseTemplate;
 
 
  public List<Result> getRowKeyAndColumn(String tableName, String startRowkey, String stopRowkey, String column, String qualifier) {
    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);
    if (StringUtils.isNotBlank(column)) {
      log.debug("{}", column);
      filterList.addFilter(new FamilyFilter(CompareFilter.CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes(column))));
    }
    if (StringUtils.isNotBlank(qualifier)) {
      log.debug("{}", qualifier);
      filterList.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes(qualifier))));
    }
    Scan scan = new Scan();
    if (filterList.getFilters().size() > 0) {
      scan.setFilter(filterList);
    }
    scan.setStartRow(Bytes.toBytes(startRowkey));
    scan.setStopRow(Bytes.toBytes(stopRowkey));
 
    return hbaseTemplate.find(tableName, scan, (rowMapper, rowNum) -> rowMapper);
  }
 
  public List<Result> getListRowkeyData(String tableName, List<String> rowKeys, String familyColumn, String column) {
    return rowKeys.stream().map(rk -> {
      if (StringUtils.isNotBlank(familyColumn)) {
        if (StringUtils.isNotBlank(column)) {
          return hbaseTemplate.get(tableName, rk, familyColumn, column, (rowMapper, rowNum) -> rowMapper);
        } else {
          return hbaseTemplate.get(tableName, rk, familyColumn, (rowMapper, rowNum) -> rowMapper);
        }
      }
      return hbaseTemplate.get(tableName, rk, (rowMapper, rowNum) -> rowMapper);
    }).collect(Collectors.toList());
  }
}
登录后复制

以上就是怎么在springboot中集成hbase的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:亿速云网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号