Я довольно новичок в Hadoop и HBase, пытаясь узнать и оценить, может ли он использоваться для моего варианта использования. И, будучи новым для Java (я в основном разработчик Perl/Unix и DB), я пытаюсь получить решение в оболочке Hbase, если это возможно.HBase shell - Получить значения столбца только(), но не имя столбца
У меня есть таблица HBase (схема ниже), где я пытаюсь реализовать исторические данные (которые могут использоваться для аудита и аналитики).
Предположим, основную структуру, как показано ниже,
rowkey 'cf1:id', 'cf1:price', 'cf1:user', 'cf1:timestamp'
Теперь RowKey - инструмент или любой объект идентификатор - используя эту функцию, чтобы определить, какие цв имеет самые последние данные. Первая запись будет иметь 1 в качестве ее значения и перейти на пользователь - пользователь, обновленные данные
например.
первоначально данные выглядит,
hbase(main):009:0> scan 'price_history'
ROW COLUMN+CELL
row1 column=cf1:id, timestamp=1389020633920,value=1
row1 column=cf1:pr, timestamp=1389020654614, value=109.45
row1 column=cf1:us, timestamp=1389020668338, value=feed
row2 column=cf1:id, timestamp=1389020687334, value=1
row2 column=cf1:pr, timestamp=1389020697880, value=1345.65
row2 column=cf1:us, timestamp=1389020708403, value=feed
Теперь предположим row2 или инструмент 2 обновляется на тот же день с новой ценой,
hbase(main):003:0> scan 'price_history'
ROW COLUMN+CELL
row1 column=cf1:id, timestamp=1389020633920, value=1
row1 column=cf1:pr, timestamp=1389020654614, value=109.45
row1 column=cf1:us, timestamp=1389020668338, value=feed
row2 column=cf1:id, timestamp=1389020859674, value=2
row2 column=cf1:pr, timestamp=1389020697880, value=1345.65
row2 column=cf1:pr1, timestamp=1389020869856, value=200
row2 column=cf1:us, timestamp=1389020708403, value=feed
row2 column=cf1:us1, timestamp=1389020881601, value=user1`
Если вы видите идентификатор изменяется на 2, чтобы указать второй набор данных является последним. и добавлены новые значения или столбцы.
То, что я хочу,
1) Can I fetch the value of columns id? i.e. the output should be 1 or 2 and not all other attribs
2) Based on the above o/p i will fetch the further data, but can I also have a search and o/p as value of rowkey? i.e. something like give me o/p of row having VALUE as row1 (I can have list of row1, row2, rown..)
Пожалуйста помогите, если это возможно в HBase оболочек как можно больше (Другие решения также приветствуется)
Кроме того, если какие-либо из архитектора может предложить лучшее решение модель таблицы для отслеживания изменений/версий цен также приветствуется.
Спасибо.
Спасибо за ответ. – Mihir
Да, я тоже согласен, что это будет сложно с Shell, но поскольку я сейчас работаю над POC, я очень быстро решил завершить разработку hte, и с моим очень ограниченным знанием Java думал, могу ли я достичь. Этот подход выглядит хорошо, чтобы начать работать. Спасибо за эту идею, и я буду работать над этим. – Mihir