yuejiaying 2017-11-06 01:09 采纳率: 0%
浏览 3644

hbase读取数据怎么快速转成json数组给前端

Configuration conf = HBaseConfiguration.create();

conf.set("hbase.zookeeper.quorum", "hadoop1,hadoop2,hadoop3");
HTable table = new HTable(conf, "DataCollection1");

System.out.println("scan1");
Scan scan1 = new Scan();

new PrefixFilter(Bytes.toBytes("row"));
Filter filter3= new PrefixFilter(Bytes.toBytes("2017-01-01"));
scan1.setFilter(filter3);

scan1.setMaxVersions();

            ResultScanner scanner1 = table.getScanner(scan1);  
            System.out.println("scan2");
            int count=0; 
            JSONArray array = new JSONArray();           
            for (Result r : scanner1) {
               System.out.println("sssss");
               JSONObject mapOfColValues = new JSONObject();// 创建json对象就是一个{name:wp}
                for (KeyValue kv : r.raw()) {
                    System.out.println(String.format("row:%s, family:%s, qualifier:%s, qualifiervalue:%s, timestamp:%s.", 
                            Bytes.toString(kv.getRow()), 
                             Bytes.toString(kv.getFamily()), 
                            Bytes.toString(kv.getQualifier()), 
                            Bytes.toString(kv.getValue()),
                            kv.getTimestamp()));

                    mapOfColValues.put(Bytes.toString(kv.getQualifier()),Bytes.toString(kv.getValue()));
                }
                array.add(mapOfColValues);
                count++;
                System.out.println(count);
            }            
            scanner1.close();  
            table.close();  
            //pool.close();
            System.out.println(count);
            System.out.println("-------------finished----------------");    

以上是我主要的代码, DataCollection1表的数据有7000万多条,我查询一天的数据(大概10万条左右), 到了循环scanner1的时候就卡住了,不知道为什么就是很慢。rowkey的设计是“时间|ID”,真的不知道该怎么弄,求教大神解答

  • 写回答

1条回答 默认 最新

  • airfling 2017-11-06 02:13
    关注

    这个数据一般都是全部取出来后再映射的吧,还有你可以参考下spring jdbc的rommapper的映射

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器