Как получить все значения из Bigtable по ключу строки? - PullRequest
0 голосов
/ 18 июня 2019

Я не могу получить все значения из BigTable по ключу строки,

Моя таблица выглядит так, и я могу получить только 3 из них, то же семейство столбцов с одним и тем же классификатором получит только одно,например, хэши: md5 получит только "emialmd5test"

xy001uuuyyyy
  hashes:md5                               @ 2019/06/17-16:57:10.173000
    "emialmd5test"
  hashes:md5                               @ 2019/06/17-10:58:39.711000
    "emialmd5"
  hashes:sha1                              @ 2019/06/17-16:57:10.173000
    "emailsha1test"
  hashes:sha1                              @ 2019/06/17-10:58:39.711000
    "emailsha1"
  hashes:sha256                            @ 2019/06/17-16:57:10.172000
    "emailsha256test"
  hashes:sha256                            @ 2019/06/17-10:58:39.711000
    "emailsha256"

Вот мой код

Connection connection = BigtableConfiguration.connect(WholeSaleHelper.WHOOLE_SALE_CONFIG.toHBaseConfig());
    Scan scan = new Scan()
        .setRowPrefixFilter(cookieAndPel.getValue().getBytes());

    Table table = connection.getTable(TableName.valueOf(WholeSaleHelper.WHOOLE_SALE_CONFIG.getTableId()));
    byte[] md5Bytes = null, sha1Bytes = null, sha256Bytes = null;

    for (Result result : table.getScanner(scan)) {

      md5Bytes = result.getValue(WholeSaleHelper.WHOLE_SALE_COLUMN_FAMILY.getBytes(), WholeSaleHelper.WHOLE_SALE_MD5.getBytes());
      sha1Bytes = result.getValue(WholeSaleHelper.WHOLE_SALE_COLUMN_FAMILY.getBytes(), WholeSaleHelper.WHOLE_SALE_SHA1.getBytes());
      sha256Bytes = result.getValue(WholeSaleHelper.WHOLE_SALE_COLUMN_FAMILY.getBytes(), WholeSaleHelper.WHOLE_SALE_SHA256.getBytes());
    }

или я могу использовать другой способ получить значения?просто поиск по ключу косули, чтобы получить все значения.Не заботьтесь о семействе столбцов и классификаторе

1 Ответ

1 голос
/ 18 июня 2019

Вы можете добавить это в свой скан, чтобы получить все версии: scan.setMaxVersions();

...