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();
            }
        }
    }
    

      

  • 相关阅读:
    ESXi 5.5 添加驱动
    .net static 变量
    socket
    .net HttpWebRequest 模拟form提交
    node.js form 上传
    .net Thrift 之旅 (二) TServer
    SVN服务器从Windows迁移到LInux
    如何在windows上安装部署设置SVN服务器
    [Ubuntu]在Ubuntu下搭建自己的源服务器
    Eclipse总是自动关闭
  • 原文地址:https://www.cnblogs.com/similarface/p/5779037.html
Copyright © 2011-2022 走看看