#mapreduce #hbase
#mapreduce #hbase
Вопрос:
Я хотел бы сохранить объект (полезную нагрузку) вместе с некоторыми метаданными в HBase.
Затем я хотел бы выполнить запросы к таблице и извлечь часть полезной нагрузки на основе информации о метаданных.
Например, допустим, у меня есть следующие квалификаторы столбцов
- P: Полезная нагрузка (больше, чем M1 M2).
- M1: метаданные 1
- M2: метаданные 2
Затем я бы выполнил запрос, такой как:
- Извлеките всю полезную нагрузку, где M1 = ‘search-key1’ amp;amp; M2 = ‘search-key2’
Имеет ли смысл:
- хранить M1 и M2 в одном семействе столбцов, а P — в другом семействе столбцов? Будет ли сканирование быстрее?
- Сохранить все 3 столбца в одном семействе столбцов?
Обычно я бы сделал спайк (возможно, мне все еще понадобится) — я думал, что сначала спрошу.
Ответ №1:
Я бы попытался последовать совету, приведенному в ссылке на HBase, и выбрать вариант № 2 (сохранить все 3 столбца в одном семействе столбцов):
Попробуйте обойтись одним семейством столбцов, если сможете, в своих схемах. Вводите второе и третье семейства столбцов только в том случае, когда доступ к данным обычно ограничен областью столбцов; т. Е. Вы запрашиваете одно семейство столбцов или другое, но обычно не оба одновременно.