Если это на самом деле - буфер байтов на 8 битов, а не строка в локали машины по умолчанию, то я использовал бы uint8_t
. Не то, чтобы существует много машин вокруг, где символ не является байтом (или байтом октет), но создание оператора, 'это - буфер октетов', а не 'это - строка', часто полезная документация.
Описанный запрос лучше подходит для реляционной базы данных. Однако вы можете быстро ответить на запрос, предварительно вычислив результат. Например, у вас может быть таблица, где ключ - это количество общих классов, а ячейки - это отдельные учащиеся, у которых есть несколько общих классов.
Вы можете использовать вариант этого, чтобы ответить на такие вопросы, как «который учащиеся находятся в классе X и классе Y ": используйте классы как части ключа (в алфавитном порядке или что-то, по крайней мере, согласованно), и снова каждый столбец - это учащийся.
Этот тип запросов недоступен через API 0.20.0. Я не уверен, есть ли у него какие-то планы (сомневаюсь, что он появится в ближайшее время). Вы найдете некоторые детали дорожной карты на веб-сайте HBase, которые могут ответить на этот вопрос
. Вам нужно будет вычислить ответ в вашем собственном приложении (хотя я бы хотел, чтобы меня доказали, что он ошибается).
Используйте для этого фильтр.
SingleValueFiler filer = новый SingleValueFiler (и ваши аргументы на основе API);
добавьте это в сканирование (org.apache.hadoop.hbase.client.Scan scan = new Scan (); сканирование .setFiler (фильтр);