码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop之根据Rowkey从HBase中查询数据

时间:2015-11-29 13:31:05      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

 

1.Hbase 根据rowkey 查询

conf的配置信息如下:

        conf = new Configuration();

        conf.set("hbase.zookeeper.quorum", "192.168.50.253:2181");
        conf.set("hbase.rootdir", "hdfs://192.168.50.253:9000/hbase");

 

public ArrayList<String>  getRoutes(String rowkey,String tablename) throws IOException {

        HTable hTable = new HTable(conf, tablename);//traffic_route
        Get get = new Get(rowkey.getBytes());
        Result r = hTable.get(get);

        KeyValue[] kv = r.raw();  // 行健对应的值.

        ArrayList<String> list = new ArrayList<>();
        if (kv.length > 0) {
            String ss = kv[0].getValue().toString();


            DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

            Date tempDay = new Date();
            tempDay = null;
            int sum = 0;

            String tempDate = "";
            String mapStringValue = "";
            for (int i = 0; i < kv.length; i++) {
                String value = new String(kv[i].getValue());
//            System.out.println("value = " + value);


                String[] station = value.split("--");
//            System.out.println(station[0]);
                String[] date = station[0].split(" ");
                try {
                    Date day = sdf.parse(date[0]);

                    if (tempDay == null) {
                        tempDay = day;

                    }

                    if ((day.compareTo(tempDay) == 0)) {

                        tempDate = date[0];

                        mapStringValue = mapStringValue + station[1] + "-";

                    } else {

                        Map<String, String> map = new HashMap<>();

                        map.put(tempDate, mapStringValue);

                        list.add(mapStringValue);
                        mapStringValue = "";

                        tempDay = day;
                        mapStringValue += station[1] + "-";

                    }


                } catch (ParseException e) {
                    e.printStackTrace();
                }


            }

//        System.out.println("list  = " + list.size());

            Map<String, String> map = new HashMap<>();

            map.put(tempDate, mapStringValue);

            list.add(mapStringValue);
            mapStringValue = "";
        }

//        System.out.println("list.get(0)  = " + list.get(0));
//        System.out.println("list.get(1)  = " + list.get(1));
            if (list.size() == 0) {
                System.out.println("取出数据为空");
            } else {
                System.out.println("获取数据成功");
            }
            return list;
        }

hadoop之根据Rowkey从HBase中查询数据

标签:

原文地址:http://www.cnblogs.com/chaoren399/p/5004555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!