欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于springboot集成hbase過程解析

 更新時間:2019年12月27日 11:31:47   作者:lshan  
這篇文章主要介紹了基于springboot集成hbase過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了基于springboot集成hbase過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

springboot-habse:

https://github.com/spring-projects/spring-hadoop-samples/tree/master/hbase

依賴:

<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:

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());
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 實例講解Java并發(fā)編程之閉鎖

    實例講解Java并發(fā)編程之閉鎖

    這篇文章主要介紹了實例講解Java并發(fā)編程之閉鎖,閉鎖相當于一扇門,在閉鎖到達結束狀態(tài)之前,這扇門一直是關閉著的,沒有任何線程可以通過,當?shù)竭_結束狀態(tài)時,這扇門才會打開并容許所有線程通過,需要的朋友可以參考下
    2015-04-04
  • java獲取redis日志信息與動態(tài)監(jiān)控信息的方法

    java獲取redis日志信息與動態(tài)監(jiān)控信息的方法

    這篇文章主要給大家介紹了關于java如何獲取redis日志信息與動態(tài)監(jiān)控信息的方法,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • SpringBoot使用CORS實現(xiàn)無縫跨域的方法實現(xiàn)

    SpringBoot使用CORS實現(xiàn)無縫跨域的方法實現(xiàn)

    CORS 是一種在服務端設置響應頭部信息的機制,允許特定的源進行跨域訪問,本文主要介紹了SpringBoot使用CORS實現(xiàn)無縫跨域的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 關于WeakhashMap與HashMap之間的區(qū)別和聯(lián)系

    關于WeakhashMap與HashMap之間的區(qū)別和聯(lián)系

    這篇文章主要介紹了關于WeakhashMap與HashMap之間的區(qū)別和聯(lián)系,WeakHashMap從名字可以得知主要和Map有關,不過還有一個Weak,我們就更能自然而然的想到這里面還牽扯到一種弱引用結構,因此想要徹底搞懂,我們還需要知道四種引用,需要的朋友可以參考下
    2023-09-09
  • 常用的java日期比較和日期計算方法小結

    常用的java日期比較和日期計算方法小結

    這篇文章主要為大家詳細總結了常用的java日期比較和日期計算方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Java如何正確處理下載文件時HTTP頭的編碼問題

    Java如何正確處理下載文件時HTTP頭的編碼問題

    這篇文章主要介紹了Java如何正確處理下載文件時HTTP頭的編碼問題,
    通常HTTP消息包括客戶機向服務器的請求消息和服務器向客戶機的響應消息,今天來講解下正確處理下載文件時HTTP頭的編碼問題,需要的朋友可以參考下
    2023-07-07
  • Java實現(xiàn)冪等性校驗的示例代碼

    Java實現(xiàn)冪等性校驗的示例代碼

    我們在做web應用的時候通常會遇到前端提交按鈕重復點擊的場景,在某些新增操作上就需要做冪等性限制來保證數(shù)據(jù)的可靠性,所以本文主要介紹了如何使用java?aop實現(xiàn)冪等性校驗,需要的可以參考下
    2024-02-02
  • 解決idea每次打開新的項目都需要重新配置maven問題

    解決idea每次打開新的項目都需要重新配置maven問題

    這篇文章主要介紹了解決idea每次打開新的項目都需要重新配置maven問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java判斷字符串String是否為空問題淺析

    java判斷字符串String是否為空問題淺析

    這篇文章主要介紹了java判斷字符串String是否為空問題,有需要的朋友可以參考一下
    2014-01-01
  • Java?Controller實現(xiàn)參數(shù)驗證與統(tǒng)一異常處理流程詳細講解

    Java?Controller實現(xiàn)參數(shù)驗證與統(tǒng)一異常處理流程詳細講解

    Controller是Spring接受并處理網(wǎng)頁請求的組件,是整個應用的入口,因此學會Controller的常用注解對理解一個應用是重中之重。SpringBoot的Controller中經(jīng)常會用到注解@Controller、@RestController、@RequestMapping、@RequestBody等
    2023-01-01

最新評論