HBase RandomRawFiilter возвращает результаты только для некоторых таблиц с одинаковой структурой - PullRequest
0 голосов
/ 31 августа 2018

У меня такая же структура таблицы, созданной для каждого месяца, которая содержит идентификатор твита в качестве ключа строки. Мне нужно извлечь 600 случайных твитов из каждой таблицы. Интересно, что он возвращает результаты только для некоторых таблиц. Если я выполню сканирование таблицы в оболочке hbase, я смогу увидеть результаты. Мне интересно, что может быть причиной такого поведения.

        HTable indexTable = (HTable) connection.getTable(TableName.valueOf(indexTableName));
        Scan scan = new Scan();
        RandomRowFilter filter1 = new RandomRowFilter(1);
        PageFilter filter2 = new PageFilter(getNtweetsPerMonth());
        FilterList orFilter = new FilterList();
        orFilter.addFilter(filter1);
        orFilter.addFilter(filter2);

        scan.setFilter(orFilter);
        scan.setMaxResultSize(getNtweetsPerMonth());

        if (tsStart >= 0 && tsEnd >= 0) {
            if (tsEnd < Long.MAX_VALUE) {
                scan.setTimeRange(tsStart, tsEnd + 1);
            } else {
                scan.setTimeRange(tsStart, tsEnd);
            }
        }
        ResultScanner rs = indexTable.getScanner(scan);
        Result r = rs.next();
        while (r != null) {
            String tweetIdString = TruthyHelpers.getTweetIDStrFromBigIntBytes(r.getRow());
            BytesWritable tweetIdBytes = new BytesWritable(Bytes.toBytes(tweetIdString));
            contentResults.add(tweetIdBytes);
            r = rs.next();
        }
        rs.close();
        indexTable.close();
        connection.close();
        return contentResults;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...