Сканирование диапазона времени семейства больших таблиц, возвращающее все строки независимо от метки времени - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь использовать ColumnFamilyTimeRange на моем Scan, чтобы читать только последние строки из Bigtable.Однако сканирование возвращает все строки независимо от того, какой я установил временной диапазон.

У меня есть одно семейство столбцов.Вот что я вижу: я добавляю новую строку со значением для этого семейства столбцов, затем жду, а затем добавляю еще одну новую строку.Затем я выполняю чтение из Bigtable с Scan с обычным (то есть не специфичным для семейства столбцов) набором TimeRange.Он корректно возвращает только недавно добавленную строку.

Однако, когда я изменяю это TimeRange на ColumnFamilyTimeRange с теми же границами меток времени и единственным семейством столбцов, которое у меня есть, я возвращаюсь к каждой строке.Даже когда я устанавливаю границы отметки времени для чего-то бессмысленного (например, прежде чем я даже создал таблицу), я все равно возвращаюсь к каждой строке.

Является ли это ошибкой, или я полностью пропускаю, как ColumnFamilyTimeRange предназначен дляработа

Ответы [ 2 ]

1 голос
/ 14 июля 2019

В настоящее время сканирование диапазона меток времени для семейств столбцов не поддерживается К сожалению, есть отличия от HBase API. Вы можете проверить их здесь .

0 голосов
/ 16 июля 2019

Это поведение не идеально. Мы не должны молча отбрасывать ColumnFamilyTimeRange.

Я добавил https://github.com/googleapis/cloud-bigtable-client/issues/2184 для отслеживания проблемы. В то же время я бы рекомендовал использовать комбинацию фильтров FilterList (MUST_PASS_ALL), TimestampRangeFilter и FamilyFilter для достижения желаемого результата.

...