zoukankan      html  css  js  c++  java
  • 根据Rowkey从HBase中查询数据

        /**
         * @Title: queryData
         * @Description: 从HBase查询出数据
         * @author xxxx
         * @param tableName
         *            表名
         * @param rowkey
         *            rowkey
         * @return 返回用户信息的list
         * @throws IOException
         * @throws UnsupportedEncodingException
         */
        public static ArrayList<xxxxUserInfo> queryData(String tableName,
                String rowkey) throws IOException, UnsupportedEncodingException
        {
            ArrayList<xxxxUserInfo> list = new ArrayList<xxxxUserInfo>();
    
            Configuration config = SignHBase.getConfiguration();
            HTable table = new HTable(config, tableName);
    
            Get get = new Get(rowkey.getBytes()); // 根据主键查询
            Result r = table.get(get);
            KeyValue[] kv = r.raw();
            xxxxUserInfo xxxxUserInfo = new xxxxUserInfo();
            for (int i = 0; i < kv.length; i++)
            {
                // 循环每一列
                String qualifier = new String(kv[i].getQualifier());
                if (qualifier.equals("n"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setName(val);
                }
                else if (qualifier.equals("b"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setBirthday(val);
                }
                else if (qualifier.equals("a"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setAddress(val);
                }
                else if (qualifier.equals("z"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setZip(val);
                }
                else if (qualifier.equals("f"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setFax(val);
                }
                else if (qualifier.equals("cid"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setCtfid(val);
                }
                else if (qualifier.equals("m"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setMobile(val);
                }
                else if (qualifier.equals("t"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setTel(val);
                }
                else if (qualifier.equals("e"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setEmail(val);
                }
                else if (qualifier.equals("g"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setGender(val);
                }
                else if (qualifier.equals("n"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setNationality(val);
                }
                else if (qualifier.equals("ct"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setCtftp(val);
                }
            }// end of 遍历每一列
            list.add(xxxxUserInfo);// 将查询到的结果写入List中
            return list;
        }
  • 相关阅读:
    Python中的模块与包
    Mac eclipse找不到source的解决办法
    Git常用命令
    MiniCrowler
    九度题库(所有题目整理,适合计算机考研和面试的人用)
    gtest 安装
    计算广告的相关学习资源
    使用python pylab库 画线
    3到6年的.NETer应该掌握哪些知识?
    迭代器模式的一种应用场景以及C#对于迭代器的内置支持
  • 原文地址:https://www.cnblogs.com/sixiweb/p/3390827.html
Copyright © 2011-2022 走看看