zoukankan      html  css  js  c++  java
  • Hbase之批量数据写入

    /**
     * Created by similarface on 16/8/16.
     */
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.TableName;
    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.Table;
    import org.apache.hadoop.hbase.client.Put;
    import org.apache.hadoop.hbase.client.Result;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.apache.hadoop.hbase.client.BufferedMutator;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.client.Mutation;
    import java.util.List;
    import java.util.ArrayList;
    public class PutBufferExample {
        public static void main(String[] args) throws IOException {
            //获取陪着参数
            Configuration config = HBaseConfiguration.create();
            //建立连接
            Connection connection = ConnectionFactory.createConnection(config);
            try {
                //连接表 获取表对象
                Table t = connection.getTable(TableName.valueOf("testtable"));
                BufferedMutator table = connection.getBufferedMutator(TableName.valueOf("testtable"));
                try {
                    Put p = new Put(Bytes.toBytes("myrow-1"));
                    //p.add(); 这个地方的add 是个过期的方法然而我并不知道Cell的用法是什么
                    p.add(Bytes.toBytes("colfam1"), Bytes.toBytes("name1"), Bytes.toBytes("zhangsan1"));
                    //table.put(p);
                    List<Mutation> mutations = new ArrayList<Mutation>();
                    mutations.add(p);
                    table.mutate(mutations);
                    //如果不flush 在后面get可能是看不见的
                    table.flush();
                    // Close your table and cluster connection.
                    Get get=new Get(Bytes.toBytes("myrow-1"));
                    Result result=t.get(get);
                    for(Cell cell:result.rawCells()){
                        System.out.print("行健: "+new String(CellUtil.cloneRow(cell)));
                        System.out.print("	列簇: "+new String(CellUtil.cloneFamily(cell)));
                        System.out.print("	列: "+new String(CellUtil.cloneQualifier(cell)));
                        System.out.print("	值: "+new String(CellUtil.cloneValue(cell)));
                        System.out.println("	时间戳: "+cell.getTimestamp());
                    }
                    System.out.print(">>>>end");
                } finally {
                    if (table != null) table.close();
                }
            } finally {
                connection.close();
            }
        }
    }
    

      

  • 相关阅读:
    第二冲刺阶段个人博客
    单元测试
    软件工程个人总结
    梦断代码阅读笔记03
    梦断编码阅读笔记02
    梦断代码阅读笔记01
    padding margin
    MVC模式在Java Web应用程序中的实例分析
    小问题
    MVC理解
  • 原文地址:https://www.cnblogs.com/similarface/p/5779037.html
Copyright © 2011-2022 走看看