4.7 KiB
Лабораторная работа №4. Знакомство с NoSQL СУБД HBase
Цель
- Познакомиться с функционалом СУБД HBase.
- Научиться добавлять и получать записи в СУБД HBase.
Выполнение
Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них. При необходимости - комментарии по полученным результатам.
Задачи
- Создать таблицу в СУБД HBase
- Внести информацию по посещению интернет-ресурсов пользователями alice и bob
- Создать новое семейсто колонок для хранения мета-информации
- Внести хэш используемых cookie для пользователей
Методические указания
- В терминале запустить оболочку HBase, выполнив команду
hbase shell
- Создать таблицу
visits
в которой будет хранится информация о том, какие сайты посещали пользователи. Внутри таблицы создать первую column family для хранения информации о непосредственно посещенном ресурсе.
синтаксис команды create
в самом простом случае:
create 'table_name', 'column_family_name'
-
Убедиться, что таблица создана. Для этого вывести список всех имеющихся таблиц.
-
Добавить в таблицу первую запись:
пользователь - alice
ресурс - vk.com
продолжительность посещения - 125
время посещения (timestamp) - 1702411635951. Подразумевается, что timestamp вносится в стандартное поле ts
, которое существует для любой ячейки в таблице, а НЕ создается отдельный столбец.
Синтаксис операции put:
put 'table_name', 'row', 'column_family:column', 'value', timestamp
В общем случае, timestamp
является необязательным. Если не указать вручную, то проставится текущее время.
-
С помощью оператора
scan
вывести строки таблицы на экран, убедиться в том, что данные сохранились в таблицу корректно. -
Добавить новую запись:
пользователь - bob
ресурс - google.com
время посещения (timestamp) - текущее время
- Появилась необходимость создать новую column family для хранения мета-информации.
Для этого необходимо отключить таблицу командой
disable
, внести требуемые изменения командойalter
и включить таблицу обратно.
Синтаксис команды alter
:
alter 'table_name', 'new_cf_name'
-
Вывести описание таблицы с помощью команды
describe
, описать полученный результат. -
Для пользователя alice добавить мета-информацию в столбец
cookie
'abc123', Для пользователя bob добавитьcookie
'xyz987' -
Вывести всю информацию по пользователю
alice
на текущий момент. -
Вывести всю информацию по пользователю
alice
на момент 1702411635955.
Вопросы
- Каким типом СУБД является HBase?
- Какой командой можно создать новую таблицу в HBase?
- Что такое 'семейство колонок' (column family)?
- Какие команды нужно выполнить чтобы добавить новое семейство колонок в существующую таблицу?
- Какой командой можно вывести всю информацию по заданной строке?