如何在springboot中集成hbase-创新互联

本篇文章为大家展示了如何在springboot中集成hbase,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

在双辽等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需设计,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,外贸营销网站建设,双辽网站建设费用合理。

依赖:


      org.springframework.data
      spring-data-hadoop-hbase
      2.5.0.RELEASE
    
 
    
      org.apache.hbase
      hbase-client
      1.1.2
    
 
    
      org.springframework.data
      spring-data-hadoop
      2.5.0.RELEASE
    

增加配置

官方提供的方式是通过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:

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 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 getListRowkeyData(String tableName, List 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,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联网站建设公司行业资讯频道。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:如何在springboot中集成hbase-创新互联
URL分享:http://azwzsj.com/article/dhdppp.html