HbaseSchool 一套包含了HbaseGo和HbaseTo的Java Hbase数据操作快速开发框架

来源:互联网 发布:鹰潭三缺一麻将软件 编辑:程序博客网 时间:2024/05/18 20:50

HbaseSchool

这是一个Hbase的Java操作框架,它能够实现Java对Hbase操作的快速实现,它由 HbaseTo 和 HbaseGo 两部分组成,其中:
- HbaseTo是一个工具,它可以导出一些 “*Bean.java” 文件和 “HbaseToTables.xml” 文件,这些文件是为了 HbaseGo 服务的。
- HbaseGo是一个 Java 的实现了 Hbase 数据增、删、改、查的开发框架,你只需要使用 HbaseTo 进行数据导出生成,然后将文件拷贝到你的工程之后稍作调整,再将HbaseGo架包导入工程就可以使用了。
- HbaseGoTest是一个测试演示Demo
- HbaseGo和HbaseTo运行的时候都需要Hbase的Java库支持,不同版本的Hbase可能会有不同,具体使用的版本请参照发布时适配的版本
- 你可以在这里查看我用过的所有版本的Java Hbase 库,链接: https://pan.baidu.com/s/1qXEWOJM 密码: nijd
- 点击这里查看发布版本

也许您只需要10分钟的的学习成本加上5分钟的配置成本就可以正式使用本框架了,HbaseGoTest 是一个演示,希望对你有用;
也许对于Hbase数据的操作可以变得更加简单疯狂;
也许 HbaseGo 能像 Mybatis 那样工作。
也许,我只是在期望也许。

HbaseTo

你只需要在一台有Java JDK 1.8环境的机器上,使用 java -jar "HbaseTo xxx.jar" 命令运行,并按照发布版本的说明一步步执行就可以了

HbaseGo

由于工程中使用了一部分JDK 1.8的特性,所以使用 HbaseGo 需要至少JRE/JDK 1.8 以上版本支持。
具体请参照发布时的说明

HbaseGoTest

是一个演示测试Demo,希望对你有用


HbaseSchool

HbaseSchool is a develop tool for Hbase. It can help developers to develop Java programs about Hbase quickly. It consists 2 parts of HbaseTo and HbaseGo :
- HbaseTo is a tool which can export many “*Bean.java” files and “HbaseToTables.xml” file for HbaseGo’s work.
- HbaseGo is a tool which can operate data for hbase, for example, it can add, delete, alter, search data for hbase. You need to use HbaseTo to export many files and copy them to your project and import HbaseGo to it for you work.
- HbaseGoTest is test demo.
- HbaseGo and HbaseTo need java libs about Hbase to run, different version HbaseGo and HbaseTo may need different version libs, you can find current verions libs in release notes.
- You can find many verison libs in https://pan.baidu.com/s/1qXEWOJM password: nijd
- Click here to Release

Maybe you just need 10 minutes to learn these and 5 minutes to config it, HbaseGoTest is a demo, hope it useful.
Maybe operate Hbase’s data will comming to easy and crazy.
Maybe HbaseGo can work well like Mybatis.
Maybe, it just maybe for me.

HbaseTo

You can run this program in a computer which with java JDK1.8 envirment. Command java -jar "HbaseTo xxx.jar" to run. Config it step by step as the program explained until over.

HbaseGo

JDK1.8 is necessary.

HbaseGoTest

This is a test demo.

HbaseSchool v1.0 Release Note

更多的信息: https://github.com/Thonnn/HbaseSchool
第一个版本 就像上面解释的那样。

HbaseTo v1.0

  • Java: jdk1.8
  • Hbase Libs: hbase-1.2.5

使用方法:

  1. 配置好所在电脑的hosts文件,使IP与Hbase的各个节点主机名对应起来。就像这样

    192.168.1.11  master1  192.168.1.12  slave2  192.168.1.13  slave3  
  2. 使用命令 java -jar “HbaseTo _v1.0 Beta.jar” 启动主程序,按照如下截图中的配置一步步操作直至结束即可。
    HbaseTo UI

  3. 上图中,IP为Hbase的IP,在配置好host文件主机名的前提下允许使用主机名作为该配置的值。
  4. Port为端口号,默认为2181,可以直接回车来使用默认值作为端口号。
  5. 配置好IP和端口号之后,程序会自动枚举出所有Hbase中的表作为参照,请不要关心Log4J的Warn日志。
  6. 输入要导出的表,多个表以“,”英文半角逗号隔开,允许逗号前后有空格。
  7. 回车等待程序结束。
  8. 所有文件都会被写入HbaseGo _v1.0 Beta.jar所在的目录中。
  9. 在正式使用这些文件之前,你也许需要重新配置一下每一个java文件的package行,以及xml文件的 每个table节点的 name、bean映射关系。如下图所示。
    xml Bean 映射关系配置

注意:

这些文件的编码一般来说应该是 UTF-8,使用方法以及更多内容参照《HbaseGo _v1.0 Beta 说明文档》。
如果你用不到HBaseGo,那么以上的内容你算是白看了。
没有了。

HbaseGo v1.0

  • Java: jdk1.8
  • Hbase Libs: hbase-1.2.5
  • HbaseGoTest 也许能够帮到你

使用方法

  1. 配置好所在电脑的hosts文件,使IP与Hbase的各个节点主机名对应起来。就像这样:

    192.168.1.11  master1192.168.1.12  slave2192.168.1.13  slave3
  2. 将HbaseTo导出的Java Bean 和 xml 文件放到你的工程中,配置好Java Bean 的package 行,然后修改xml文件中的table 的bean的路径,构成正确映射关系。

  3. 你可以像这样进行初始化:

    String packageName = "com.thonnn.hbasegotest.mappers";  //xml 文件所在的包HbaseGoBuilder hbaseGoBuilder = HbaseGoBuilder.getInstance(this.getClass()).addScanPackage(packageName).setIP("master1");hbaseGoBuilder.build();
  4. 你可以像这样添加一个数据:

    TestBean tb = new TestBean();tb.addToF1("tb11", "tb11");tb.addToF2("tb21", "tb21");tb.addToF1(null, "tb33");new HbaseGoToTableDAO().add(tb);
  5. 更多内容请查阅 API 文档或源码。

注意

  • 每个Bean 都必须实现 IHbaseGoBean 和 Serializable 两个接口,就像这样:

    public class TestBean implements IHbaseGoBean, Serializable{    ... }
  • 由于Hbase的列簇特性,这里与表中每个字段对应的都是一个HashMap,就像这样:

    private HashMap<String, Object> f1 = new HashMap<>();
  • 你可以自由地在每个Bean中进行自主数据封装以满足不同地业务需求,就像这样:

    public void setName(String name){    f1.put("name", name);}public String getName(){    return f1.get("name");}
  • 没有了。

阅读全文
1 0
原创粉丝点击