• 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();
            }
        }
    }
  • 相关阅读:
    在wubantu时,用pychram创建django的App时,出现未找到命令
    Anaconda3 打开Navigator报错
    wubantu18.04版,pycharm2.18.3.2永久破解来了,借鉴个位大神的教程破掉的,感谢各位大佬
    找回感觉的练习
    第四次博客作业-结对项目
    第9次作业--接口及接口回调
    第8次作业--继承
    软件工程第三次作业——关于软件质量保障初探
    第7次作业--访问权限、对象使用
    第6次作业--static关键字、对象
  • 原文地址:https://www.cnblogs.com/seaspring/p/6568226.html
Copyright © 2020-2023  润新知