zoukankan      html  css  js  c++  java
  • Java程序操作HBase

    package com.zy.test;
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.Admin;
    import org.apache.hadoop.hbase.client.Connection;
    import org.apache.hadoop.hbase.client.ConnectionFactory;
    import org.apache.hadoop.hbase.client.Delete;
    import org.apache.hadoop.hbase.client.Get;
    import org.apache.hadoop.hbase.client.Put;
    import org.apache.hadoop.hbase.client.Result;
    import org.apache.hadoop.hbase.client.ResultScanner;
    import org.apache.hadoop.hbase.client.Scan;
    import org.apache.hadoop.hbase.client.Table;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.junit.Test;
    
    public class HBaseTest {
        
        @Test
        public void createTable() throws IOException{
            Configuration conf = HBaseConfiguration.create();
            conf.set("hbase.zookeeper.quorum", "exercise1:2181,exercise2:2181,exercise3:2181");
            //建立连接
            Connection conn=ConnectionFactory.createConnection(conf);
            //获取表管理类
            Admin admin=conn.getAdmin();
            //定义表
            HTableDescriptor hTableDescriptor=new HTableDescriptor(TableName.valueOf("person"));
            //定义列族
            HColumnDescriptor hColumnDescriptor=new HColumnDescriptor("info");
            //将列族添加到表中
            hTableDescriptor.addFamily(hColumnDescriptor);
            //执行建表操作
            admin.createTable(hTableDescriptor);
            admin.close();
            conn.close();
            }
        @Test
        public void put() throws IOException{
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum", "exercise1:2181,exercise2:2181,exercise3:2181");
        //建立连接
        Connection conn=ConnectionFactory.createConnection(conf);
        //获取表
        Table table=conn.getTable(TableName.valueOf("person"));
        //用行键实例化Put
        Put put=new Put("rk0001".getBytes());
        //指定列族名、列名和值
        put.addColumn("info".getBytes(), "name".getBytes(),"zhangsan".getBytes());
        //执行put操作
        table.put(put);
        //关闭连接
        table.close();
        conn.close();
        }
        @Test
        public void get() throws IOException {
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum","exercise1:2181,exercise2:2181,exercise3:2181");
        //建立连接
        Connection conn=ConnectionFactory.createConnection(conf);
        //获取表
        Table table=conn.getTable(TableName.valueOf("person"));
        //用行键实例化Get
        Get get=new Get("rk0001".getBytes());
        //增加列族名和列名条件
        get.addColumn("info".getBytes(),"name".getBytes());
        //执行,返回结果
        Result result=table.get(get);
        //取出结果
        String valStr=Bytes.toString(result.getValue("info".getBytes(),"name".getBytes()));
        System.out.println(valStr);
        //关闭连接
        table.close();
        conn.close();
        }
        @Test
        public void scan() throws IOException{
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum", "exercise1:2181,exercise2:2181,exercise3:2181");
        //建立连接
        Connection conn=ConnectionFactory.createConnection(conf);
        //获取表
        Table table=conn.getTable(TableName.valueOf("person"));
        //初始化Scan实例
        Scan scan=new Scan();
        //增加过滤条件
        scan.addColumn("info".getBytes(),"name".getBytes());
        //返回结果
        ResultScanner rss=table.getScanner(scan);
        //迭代并取出结果
        for(Result rs:rss){
        String valStr=Bytes.toString(rs.getValue("info".getBytes(),"name".getBytes()));
        System.out.println(valStr);
        }
        //关闭连接
        table.close();
        conn.close();
        }
        @Test
        public void delete() throws IOException{
        Configuration conf=HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum", "exercise1:2181,exercise2:2181,exercise3:2181");
        //建立连接
        Connection conn=ConnectionFactory.createConnection(conf);
        //获取表
        Table table=conn.getTable(TableName.valueOf("person"));
        // 用行键来实例化Delete实例
        Delete del = new Delete("rk0001".getBytes());
        // 执行删除
        table.delete(del);
        //关闭连接
        table.close();
        conn.close();
        }
        }
  • 相关阅读:
    T-SQL取时间的不同方法
    JavaScript获取地址栏中的参数值并存入一个对象
    jquery.ocupload上传文件到指定目录
    Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(三)
    Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
    Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)
    Python2.x和3.x主要差异总结
    python学习视频整理
    Django-Rest-Framework 教程: 快速入门
    Django RESTful API 设计指南
  • 原文地址:https://www.cnblogs.com/qfdy123/p/11395884.html
Copyright © 2011-2022 走看看