根據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;
    }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM