1. 程式人生 > 實用技巧 >hbase 查詢空串空欄位

hbase 查詢空串空欄位

hbase and or 連用查詢空串空欄位

private static void loadAllData2IfStatus(String tableName) {
    try {
        Table table = HbaseUtil.getTable(tableName);
        Scan scan = new Scan();
        FilterList allFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);
        // 按照平臺型別
//            allFilters.addFilter(new PrefixFilter(Bytes.toBytes("8" + "#")));
allFilters.addFilter(new PrefixFilter(Bytes.toBytes("9" + "#"))); // allFilters.addFilter(new PrefixFilter(Bytes.toBytes("10" + "#"))); // allFilters.addFilter(new PrefixFilter(Bytes.toBytes("16" + "#"))); FilterList allFilters2 = new FilterList(FilterList.Operator.MUST_PASS_ALL); SingleColumnValueFilter filterCompanyName
= new SingleColumnValueFilter("info".getBytes(), "companyName".getBytes(), CompareFilter.CompareOp.EQUAL, "".getBytes()); filterCompanyName.setFilterIfMissing(false
); allFilters2.addFilter(filterCompanyName); allFilters2.addFilter(allFilters); scan.setFilter(allFilters2); ResultScanner rs
= table.getScanner(scan); int count = 0; for (Result result : rs) { count++; String shopType = Bytes.toString(result.getValue("info".getBytes(), "shopType".getBytes())); String companyName = Bytes.toString(result.getValue("info".getBytes(), "companyName".getBytes())); String busLicURL = Bytes.toString(result.getValue("info".getBytes(), "busLicURL".getBytes())); //busLicURL fodLicURL if (StringUtils.isEmpty(busLicURL) || "-1".equals(busLicURL)) { continue; } if (StringUtils.isNotEmpty(companyName)) { continue; } if (ArrayUtil.contains(shopTypes, shopType)) { resultUrl.add(result); processLicense(); } } System.out.println(count); } catch (Exception e) { e.printStackTrace(); } }