zoukankan      html  css  js  c++  java
  • HBase JavaAPI

    操作步骤:

    创建Maven工程,需要导入的Pom文件如下

    将虚拟主机当中的hbase-site.xmlhdfs-site.xml文件复制到项目下的classpath

    Hbase-site.xml

    /usr/bigdata/hbase/hbase-1.3.1/conf

    Hdfs-site.xml

    /usr/bigdata/hadoop/hadoop-2.8.0/etc/hadoop

    复制到项目的src/main/resources/

    框架:

    修改windows真机的hosts文件,添加三台机器的映射

    创建表

    public static void createTable() throws Exception {
            // 获取Configuration对象
            Configuration con = HBaseConfiguration.create();
            // 创建HBaseAdmin对象是用来对表进行操作:包括创建 删除
            HBaseAdmin admin = new HBaseAdmin(con);
            // 判断表是否存在
            if (admin.tableExists("hbase_demo_api")) {
                System.out.println("表已经存在");
            } else {
                // 表的描述
                HTableDescriptor htable = new HTableDescriptor("hbase_demo_api");
                htable.addFamily(new HColumnDescriptor("grand"));
                htable.addFamily(new HColumnDescriptor("course"));
                admin.createTable(htable);
                System.out.println("表创建成功");
            }
            admin.close();
    
        }

    插入数据

    public static void putData() throws IOException {
            Configuration con = HBaseConfiguration.create();
            // 创建HTable句柄
            HTable hTable = new HTable(con, "hbase_demo-api");
            // 创建Put对象
            Put put = new Put("dinghzongqiu".getBytes());
            put.addColumn("course".getBytes(), "java".getBytes(), "98".getBytes());
            put.addColumn("course".getBytes(), "sql".getBytes(), "80".getBytes());
            put.addColumn("grand".getBytes(), "".getBytes(), "Y2".getBytes());
            hTable.put(put);
            hTable.close();
        }

    获取表中的数据

    public static void scanData() throws IOException {
            Configuration con = HBaseConfiguration.create();
            // 创建HTable句柄
            HTable hTable = new HTable(con, "hbase_demo-api");
            ResultScanner scanner = hTable.getScanner(new Scan());
            for (Result result : scanner) {
                for (Cell cell : result.rawCells()) {
                    System.out.println("Row KEY:" + Bytes.toString(result.getRow()));
                    System.out.println("列族:" + Bytes.toString(CellUtil.cloneFamily(cell)));
                    System.out.println("列:" + Bytes.toString(CellUtil.cloneQualifier(cell)));
                    System.out.println("value:" + Bytes.toString(CellUtil.cloneValue(cell)));
                }
            }
            hTable.close();
        }

    获取指定ROWKey的数据

    private static void getDataByRowKey() throws Exception {
            // TODO Auto-generated method stub
            Configuration con = HBaseConfiguration.create();
            // 创建HTable句柄
            HTable hTable = new HTable(con, "hbase_demo-api");
            Get get = new Get(Bytes.toBytes("丁中秋"));
            Result result = hTable.get(get);
            for (Cell cell : result.rawCells()) {
                System.out.println("Row KEY:" + Bytes.toString(result.getRow()));
                System.out.println("列族:" + Bytes.toString(CellUtil.cloneFamily(cell)));
                System.out.println("列:" + Bytes.toString(CellUtil.cloneQualifier(cell)));
                System.out.println("value:" + Bytes.toString(CellUtil.cloneValue(cell)));
            }
            hTable.close();
        }

    获取指定ROWKey的数据2

    private static void getDataByRowKey2() throws Exception {
            // TODO Auto-generated method stub
            Configuration con = HBaseConfiguration.create();
            // 创建HTable句柄
            HTable hTable = new HTable(con, "hbase_demo-api");
            Get get = new Get(Bytes.toBytes("丁中秋"));
            get.addColumn(Bytes.toBytes("course"), Bytes.toBytes("java"));
            Result result = hTable.get(get);
            for (Cell cell : result.rawCells()) {
                System.out.println("Row KEY:" + Bytes.toString(result.getRow()));
                System.out.println("列族:" + Bytes.toString(CellUtil.cloneFamily(cell)));
                System.out.println("列:" + Bytes.toString(CellUtil.cloneQualifier(cell)));
                System.out.println("value:" + Bytes.toString(CellUtil.cloneValue(cell)));
            }
            hTable.close();
        }

    删除数据

    public static void deleteData() throws Exception {
            // 获取Configuration对象
            Configuration con = HBaseConfiguration.create();
            // 创建HTable句柄
            HTable hTable = new HTable(con, "hbase_demo-api");
            Delete delete = new Delete(Bytes.toBytes("dingzhongqiu"));
            delete.addColumn(Bytes.toBytes("course"), Bytes.toBytes("java"));
            hTable.delete(delete);
            hTable.close();
        }

    删除表

    public static void deleteTable() throws Exception {
            // 获取Configuration对象
            Configuration con = HBaseConfiguration.create();
            // 创建HBaseAdmin对象是用来对表进行操作:包括创建 删除
            HBaseAdmin admin = new HBaseAdmin(con);
            // 禁用表
            admin.disableTable("hbase_demo-api");
            // 删除表
            admin.deleteTable(Bytes.toBytes("hbase_demo-api"));
            admin.close();
        }
  • 相关阅读:
    Visual Studio 2013 的 Xamarin 安装教程
    BeesCMS后台登录SQL报错注入
    Linux系统更改IP地址
    SSRF漏洞
    代码执行漏洞
    Python零碎的知识(持续更新)
    iptables
    WAF学习_(2)安装
    WAF学习_(1)Lua基础
    SSL协议
  • 原文地址:https://www.cnblogs.com/3020815dzq/p/10161479.html
Copyright © 2011-2022 走看看