zoukankan      html  css  js  c++  java
  • JavaHbase连接代码示例

    package com.rokid.hbase;
    
    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.HConstants;
    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.Get;
    import org.apache.hadoop.hbase.client.Put;
    import org.apache.hadoop.hbase.client.Result;
    import org.apache.hadoop.hbase.client.Table;
    
    public class HbaseModify
    {
        private static final String TABLE_NAME = "speech1";
        private static final String CF_DEFAULT = "cf";
        private static final byte[] QUALIFIER = "col1".getBytes();
        private static final byte[] ROWKEY = "rowkey1".getBytes();
        
        public static void main( String[] args )
        {
            Configuration config = HBaseConfiguration.create();
            String zkAddress = "zk1:2181,zk2:2181,zk3:2181";
            config.set(HConstants.ZOOKEEPER_QUORUM, zkAddress);
            Connection connection = null;
    
            try {
                connection = ConnectionFactory.createConnection(config);
                HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf(TABLE_NAME));
                tableDescriptor.addFamily(new HColumnDescriptor(CF_DEFAULT));
                System.out.println("Creating table.");
                Admin admin = connection.getAdmin();
                admin.createTable(tableDescriptor);
                System.out.print("Done.");
                Table table = connection.getTable(TableName.valueOf(TABLE_NAME));
                try {
                    Put put = new Put(ROWKEY);
                    put.addColumn(CF_DEFAULT.getBytes(), QUALIFIER, "this is value".getBytes());
                    table.put(put);
                    Get get = new Get(ROWKEY);
                    Result r = table.get(get);
                    byte[] b = r.getValue(CF_DEFAULT.getBytes(), QUALIFIER); // returns current version of value
                    System.out.println(new String(b));
                } finally {
                    if (table != null) 
                        table.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (connection != null){
                    try {
                        connection.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }

    备份,待续,供学习参考。。。

  • 相关阅读:
    第 1 章 第 11 题 图纸传递问题
    第 1 章 第 10 题 主键查找问题 哈希表实现
    第 1 章 第 9 题 使用未初始化数组问题 设立辅助数组实现
    第 1 章 第 8 题 分批排序问题( 扩展 ) 位向量实现
    第 1 章 第 7 题 位向量中的异常处理问题
    JAVA实现多线程处理批量发送短信、APP推送
    转载的一些面试题
    使用Flexible实现手淘H5页面的终端适配
    2016前端代码总结
    移动前端的一些坑和解决方法(外观表现)
  • 原文地址:https://www.cnblogs.com/zhzhang/p/6860328.html
Copyright © 2011-2022 走看看