MCPcopy Index your code
hub / github.com/SpringForAll/spring-boot-starter-hbase

github.com/SpringForAll/spring-boot-starter-hbase @v1.0.0.RELEASE

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0.RELEASE ↗ · + Follow
36 symbols 66 edges 8 files 15 documented · 42% 1 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

项目介绍

自定义的spring-boot的hbase starter,为hbase的query和更新等操作提供简易的api并集成spring-boot的auto configuration

打包

修改相关的maven私服地址

gradle clean install uploadArchives

使用方式

依赖

compile "com.spring4all:spring-boot-starter-hbase:1.0.0.RELEASE"

集成

在spring-boot项目的application.properties文件中加入spring.data.hbase.quorum,spring.data.hbase.rootDir,spring.data.hbase.nodeParent配置项,并赋予正确的值

使用

query

  1. 将上述配置项赋予正确的值
  2. dto定义
public class PeopleDto {

    private String name;

    private int age;

    public String getName() {
        return name;
    }

    public PeopleDto setName(String name) {
        this.name = name;
        return this;
    }

    public int getAge() {
        return age;
    }

    public PeopleDto setAge(int age) {
        this.age = age;
        return this;
    }
}
  1. RowMapper定义
import com.jthink.skyeye.data.hbase.api.RowMapper;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;

public class PeopleRowMapper implements RowMapper<PeopleDto> {

    private static byte[] COLUMNFAMILY = "f".getBytes();
    private static byte[] NAME = "name".getBytes();
    private static byte[] AGE = "age".getBytes();

    @Override
    public PeopleDto mapRow(Result result, int rowNum) throws Exception {
        PeopleDto dto = new PeopleDto();
        // TODO: 设置相关的属性值
        String name = Bytes.toString(result.getValue(COLUMNFAMILY, NAME));
        int age = Bytes.toInt(result.getValue(COLUMNFAMILY, AGE));

        return dto.setName(name).setAge(age);
    }
}
  1. query操作
import com.jthink.skyeye.data.hbase.api.HbaseTemplate;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

public class QueryService {

    @Autowired
    private HbaseTemplate hbaseTemplate;

    public List<PeopleDto> query(String startRow, String stopRow) {
        Scan scan = new Scan(Bytes.toBytes(startRow), Bytes.toBytes(stopRow));
        scan.setCaching(5000);
        List<PeopleDto> dtos = this.hbaseTemplate.find("people_table", scan, new PeopleRowMapper());
        return dtos;
    }

    public PeopleDto query(String row) {
        PeopleDto dto = this.hbaseTemplate.get("people_table", row, new PeopleRowMapper());
        return dto;
    }
}

update等

  1. 将上述配置项赋予正确的值
  2. update、delete、put操作
import com.jthink.skyeye.data.hbase.api.HbaseTemplate;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class QueryService {

    @Autowired
    private HbaseTemplate hbaseTemplate;

    public List<PeopleDto> query(String startRow, String stopRow) {
        Scan scan = new Scan(Bytes.toBytes(startRow), Bytes.toBytes(stopRow));
        scan.setCaching(5000);
        List<PeopleDto> dtos = this.hbaseTemplate.find("people_table", scan, new PeopleRowMapper());
        return dtos;
    }

    public PeopleDto query(String row) {
        PeopleDto dto = this.hbaseTemplate.get("people_table", row, new PeopleRowMapper());
        return dto;
    }

    public void saveOrUpdates() {
        List<Mutation> puts = new ArrayList<>();
        // 设值
        this.hbaseTemplate.saveOrUpdates("people_table", puts);
    }

    public void saveOrUpdate() {
        Mutation delete = new Delete(Bytes.toBytes(""));
        this.hbaseTemplate.saveOrUpdate("people_table", delete);
    }
}

其他

不可以满足需求的可以使用hbaseTemplate暴露出来的getConnection()方法

Extension points exported contracts — how you extend this code

HbaseOperations (Interface)
JThink@JThink @author JThink @version 0.0.1 @desc copy from spring data hadoop hbase, modified by JThink, remove the un [2 …
src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseOperations.java
MutatorCallback (Interface)
JThink@JThink @author JThink @version 0.0.1 @desc callback for hbase put delete and update @date 2016-12-08 14:31:34 [1 …
src/main/java/com/spring4all/spring/boot/starter/hbase/api/MutatorCallback.java
TableCallback (Interface)
JThink@JThink @author JThink @version 0.0.1 @desc copy from spring data hadoop hbase, modified by JThink, use the 1.0.0 [1 …
src/main/java/com/spring4all/spring/boot/starter/hbase/api/TableCallback.java
RowMapper (Interface)
JThink@JThink @author JThink @version 0.0.1 @desc copy from spring data hadoop hbase, modified by JThink, use the 1.0.0
src/main/java/com/spring4all/spring/boot/starter/hbase/api/RowMapper.java

Core symbols most depended-on inside this repo

execute
called by 4
src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseTemplate.java
getConnection
called by 2
src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseTemplate.java
mapRow
called by 2
src/main/java/com/spring4all/spring/boot/starter/hbase/api/RowMapper.java
doInMutator
called by 1
src/main/java/com/spring4all/spring/boot/starter/hbase/api/MutatorCallback.java
get
called by 1
src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseOperations.java
setConfiguration
called by 1
src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseTemplate.java
doInTable
called by 1
src/main/java/com/spring4all/spring/boot/starter/hbase/api/TableCallback.java
getQuorum
called by 1
src/main/java/com/spring4all/spring/boot/starter/hbase/boot/HbaseProperties.java

Shape

Method 28
Class 4
Interface 4

Languages

Java100%

Modules by API surface

src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseTemplate.java13 symbols
src/main/java/com/spring4all/spring/boot/starter/hbase/boot/HbaseProperties.java7 symbols
src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseOperations.java6 symbols
src/main/java/com/spring4all/spring/boot/starter/hbase/boot/HbaseAutoConfiguration.java2 symbols
src/main/java/com/spring4all/spring/boot/starter/hbase/api/TableCallback.java2 symbols
src/main/java/com/spring4all/spring/boot/starter/hbase/api/RowMapper.java2 symbols
src/main/java/com/spring4all/spring/boot/starter/hbase/api/MutatorCallback.java2 symbols
src/main/java/com/spring4all/spring/boot/starter/hbase/api/HbaseSystemException.java2 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add spring-boot-starter-hbase \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page