• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

hbase_helper: Java 操作HBase的封装 使用注解的方式将实体类与HBase完成ORM映射 注解 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

hbase_helper

开源软件地址:

https://gitee.com/SoulBGM/hbase_helper

开源软件介绍:

hbase_helper

介绍

Java 操作HBase的封装
使用注解的方式将实体类与HBase完成ORM映射
注解有HBaseTable HBaseColumn Rowkey

使用方法

@Data@HBaseTablepublic class User {    @Rowkey    private String id;    @HBaseColumn    private String name;    @HBaseColumn    private String address;    @HBaseColumn    private Integer age;    @HBaseColumn    private Date birthday;}public class HBaseUtilTest {    private HBaseUtil hbaseUtil;    @Before    public void init() {        HBaseConnectionFactory factory = new HBaseConnectionFactory();        factory.setProperties();        hbaseUtil = new HBaseUtil();    }    // 创建表    @Test    public void createTable() {        Set<String> familyColumn = new HashSet<>(1);        familyColumn.add("info");        hbaseUtil.createTable("soul", familyColumn);    }    // 删除表    @Test    public void dropTable() {        System.out.println(hbaseUtil.dropTable("user"));    }    // 保存数据时检查表是否存在不存在则创建    @Test    public void saveCheck() {        List<User> userList = new ArrayList<>(10);        Random r = new Random();        for (int i = 0; i < 10; i++) {            User user = new User();            user.setId(StringUtil.ratedLength((i + 1) + "", 6, "0", 0));            user.setName("张" + user.getId());            user.setAddress("北京");            user.setAge(r.nextInt(58));            user.setBirthday(new Date());            userList.add(user);        }        hbaseUtil.saveCheck(userList);    }        // 保存数据    @Test    public void save() {        List<User> userList = new ArrayList<>(10);        Random r = new Random();        for (int i = 10; i < 20; i++) {            User user = new User();            user.setId(StringUtil.ratedLength((i + 1) + "", 6, "0", 0));            user.setName("张" + user.getId());            user.setAddress("北京");            user.setAge(r.nextInt(58));            user.setBirthday(new Date());            userList.add(user);        }        hbaseUtil.save(userList);        get();    }    // 按rowkey删除数据    @Test    public void delete() {        System.out.println(hbaseUtil.delete("user", "000012", "000013", "000014", "000015", "000016", "000017", "000018", "000019", "000020"));    }    // 按rowkey查询数据    @Test    public void get() {        List<User> userList = hbaseUtil.get("user", User.class, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10");        System.out.println(userList);    }        // 进行复杂查询    @Test    public void scan() throws IOException {        Scan scan = new Scan();        // 指定开始的行。如果不调用,则从表头开始        scan.setStartRow(Bytes.toBytes("000006"));        // 指定结束的行(不含此行)        //scan.setStopRow(Bytes.toBytes("000011"));        // 指定最多返回的Cell数目。用于防止一行中有过多的数据,导致OutofMemory错误        scan.setBatch(4);        // 指定最大的时间戳和最小的时间戳, 只有在此范围内的cell才能被获取        scan.setTimeRange(1598000011298L, 1598000693504L);        // 指定时间戳        //scan.setTimeStamp(1598000011299L);        // 指定Filter来过滤掉不需要的信息        //PageFilter pageFilter = new PageFilter(5);        //scan.setFilter(pageFilter);        List<User> userList = hbaseUtil.scan("user", User.class, scan);        System.out.println(userList);    }}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap