zoukankan      html  css  js  c++  java
  • Hbase之进行批处理操作

    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Hbase中进行批处理操作
     */
    public class BatchOperationsInHbase {
        public static void main(String args[]) throws IOException {
            Configuration configuration = HBaseConfiguration.create();
            Connection connection = ConnectionFactory.createConnection(configuration);
            //建立表的连接
            Table table = connection.getTable(TableName.valueOf("testtable"));
            //声明一个数组来保存所有的操作
            List<Row> batch = new ArrayList<Row>();
            byte[] ROW=Bytes.toBytes("10000");
            byte[] ROW1=Bytes.toBytes("10000");
            byte[] ROW2=Bytes.toBytes("10000");
            byte[] COLFAM2=Bytes.toBytes("colfam1");
            byte[] COLFAM1=Bytes.toBytes("colfam1");
            byte[] QUAL1=Bytes.toBytes("company");
            byte[] QUAL2=Bytes.toBytes("company2");
    
            Put put = new Put(ROW);
            //添加一个PUT实例
            put.addColumn(COLFAM2, QUAL1, 4, Bytes.toBytes("100010"));
            batch.add(put);
            Get get1 = new Get(ROW1);
            get1.addColumn(COLFAM1, QUAL1);
            batch.add(get1);
            Delete delete = new Delete(ROW1);
            delete.addColumns(COLFAM1, QUAL2);
            batch.add(delete);
            Get get2 = new Get(ROW2);
            get2.addFamily(Bytes.toBytes("BOGUS"));
            batch.add(get2);
            Object[] results = new Object[batch.size()];
            try {
                table.batch(batch, results);
            } catch (Exception e) {
                System.err.println("Error: " + e);
            }
            for (int i = 0; i < results.length; i++) {
                System.out.println("Result[" + i + "]: type = " +
                        results[i].getClass().getSimpleName() + "; " + results[i]);
            }
            table.close();
            connection.close();
        }
    }
    
    
    /**
     olddata
     10000                                           column=colfam1:company, timestamp=1471492514452, value=dianxin
     10000                                           column=colfam1:company2, timestamp=1471492516716, value=dx
    **/
    
    /**
    newdata
     10000                                           column=colfam1:company, timestamp=1471492514452, value=dianxin
    **/
    
  • 相关阅读:
    linux解释器、内建和外建命令
    linux文件cat/tac/more/less/head/tail/find/vimdiff
    zk和eureka的区别(CAP原则)
    Hystrix断路器中的服务熔断与服务降级
    windows 查看端口被占用,解除占用
    JS中操作JSON总结
    Ajax请求($.ajax()为例)中data属性传参数的形式
    通过 Ajax 发送 PUT、DELETE 请求的两种实现方式
    feignclient发送get请求,传递参数为对象
    Spring Boot 和 Spring Cloud Feign调用服务及传递参数踩坑记录
  • 原文地址:https://www.cnblogs.com/similarface/p/5799296.html
Copyright © 2011-2022 走看看