• 8 Hbase get方式获取数据


    package com.hikvision.hbase.vertify.test;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.IOException;
    import java.io.InterruptedIOException;
    import java.io.UnsupportedEncodingException;
    
    /**
     */
    public class HbaseGetTest {
        public static final Logger LOGGER= LoggerFactory.getLogger(HbasePutTest.class);
        public final static String HBASE_MASTER = "hbase.master";
        public final static String HBASE_ZOOKEEPER_PORT = "hbase.zookeeper.property.clientPort";
        public final static String HBASE_ZOOKEEPER_QUORUM = "hbase.zookeeper.quorum";
        public static HTable htable;
        public static void main(String[] args) {
            String hbaseMaster="10.17.139.121:60010";
            String zookeeperPort="2181";
            String zookeeperQuorum="10.17.139.121";
            String tableName="testHbaseHdfsFileCopy";
            Configuration config= HBaseConfiguration.create();
            config.set(HBASE_MASTER, hbaseMaster);
            config.set(HBASE_ZOOKEEPER_PORT, zookeeperPort);
            config.set(HBASE_ZOOKEEPER_QUORUM, zookeeperQuorum);
    
            try {
                htable = new HTable(config, tableName);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            if(null==htable){
                LOGGER.error("htable is null");
                System.exit(-1);
            }
            int i=0;
            while(true){
                String rowkey="";
                if(i<1000) {
                    rowkey = "201609000"+i;
                }else if(i<2000){
                    rowkey = "201609001"+i;
                }
                else if(i<3000){
                    rowkey = "201609002"+i;
                }
                else if(i<4000){
                    rowkey = "201609003"+i;
                }
                else if(i<5000){
                    rowkey = "201609004"+i;
                }
                else if(i<6000){
                    rowkey = "201609005"+i;
                }
                else if(i<7000){
                    rowkey = "201609006"+i;
                }
                else if(i<8000){
                    rowkey = "201609007"+i;
                }
                else if(i<9000){
                    rowkey = "201609008"+i;
                }
                else if(i<10000){
                    rowkey = "201609009"+i;
                }else if(i<11000){
                    rowkey = "201609010"+i;
                }
                String family="info";
                String column=""+i;
                Result result=getDataFromTable(rowkey,family,column);
                try {
                    LOGGER.info(new String(result.getValue(Bytes.toBytes(family),Bytes.toBytes(column)),"utf-8"));
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                i++;
                if(i==11000){
                    i=0;
                }
            }
        }
        /**
         * @Description:往表中插入数据
         * @param rowkey
         * @param ts
         * @param family
         * @param column
         * @param value void:
         */
        public static void putDataToTable(String rowkey, long ts, String family, String column, int value) {
            Put put = new Put(Bytes.toBytes(rowkey), ts);
            put.addColumn(Bytes.toBytes(family), Bytes.toBytes(column), Bytes.toBytes(value));
            try {
                htable.put(put);
            } catch (RetriesExhaustedWithDetailsException e) {
                e.printStackTrace();
            } catch (InterruptedIOException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * @Description:往表中插入数据
         * @param rowkey
         * @param ts
         * @param family
         * @param column
         * @param value void:
         */
        public static void putDataToTable(String rowkey, long ts, String family, String column, String value) {
            Put put = new Put(Bytes.toBytes(rowkey), ts);
            put.add(Bytes.toBytes(family), Bytes.toBytes(column), Bytes.toBytes(value));
            try {
                htable.put(put);
            } catch (RetriesExhaustedWithDetailsException e) {
                e.printStackTrace();
            } catch (InterruptedIOException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * @Description:从表中查询数据
         * @param rowkey
         * @param family
         * @param column
         * @return Result:
         */
        public static Result getDataFromTable(String rowkey, String family, String column) {
            Get get = new Get(Bytes.toBytes(rowkey));
            get.addColumn(Bytes.toBytes(family), Bytes.toBytes(column));
            Result dbresult = null;
            try {
                dbresult = htable.get(get);
            } catch (IOException e) {
                e.printStackTrace();
            }
            return dbresult;
        }
    
        /**
         * @Description:从表中查询数据
         * @param rowkey
         * @param family
         * @param column
         * @return Result:
         */
        public static Result getDataFromTable(String rowkey, String family, String... column) {
            Get get = new Get(Bytes.toBytes(rowkey));
            for (String string : column) {
                get.addColumn(Bytes.toBytes(family), Bytes.toBytes(string));
            }
            Result dbresult = null;
            try {
                dbresult = htable.get(get);
            } catch (IOException e) {
                e.printStackTrace();
            }
            return dbresult;
        }
    }
  • 相关阅读:
    学习MeteoInfo二次开发教程(十一)
    学习MeteoInfo二次开发教程(十)
    学习MeteoInfo二次开发教程(九)
    学习MeteoInfo二次开发教程(八)
    linux 03 命令 续
    linux 02 基础命令
    linux 01 基础命令
    第九节课 迭代器生成器、模块和包
    第八节课 文件、异常、文件的输入输出
    第七节课 内置函数、作用域、闭包、递归
  • 原文地址:https://www.cnblogs.com/yangh2016/p/5995850.html
Copyright © 2020-2023  润新知