Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

4.7 KiB

Лабораторная работа №4. Знакомство с NoSQL СУБД HBase

Цель

  • Познакомиться с функционалом СУБД HBase.
  • Научиться добавлять и получать записи в СУБД HBase.

Выполнение

Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них. При необходимости - комментарии по полученным результатам.

Задачи

  • Создать таблицу в СУБД HBase
  • Внести информацию по посещению интернет-ресурсов пользователями alice и bob
  • Создать новое семейсто колонок для хранения мета-информации
  • Внести хэш используемых cookie для пользователей

Методические указания

  1. В терминале запустить оболочку HBase, выполнив команду

hbase shell

  1. Создать таблицу visits в которой будет хранится информация о том, какие сайты посещали пользователи. Внутри таблицы создать первую column family для хранения информации о непосредственно посещенном ресурсе.

синтаксис команды create в самом простом случае: create 'table_name', 'column_family_name'

  1. Убедиться, что таблица создана. Для этого вывести список всех имеющихся таблиц.

  2. Добавить в таблицу первую запись:

пользователь - alice

ресурс - vk.com

продолжительность посещения - 125

время посещения (timestamp) - 1702411635951. Подразумевается, что timestamp вносится в стандартное поле ts, которое существует для любой ячейки в таблице, а НЕ создается отдельный столбец.

Синтаксис операции put:

put 'table_name', 'row', 'column_family:column', 'value', timestamp

В общем случае, timestamp является необязательным. Если не указать вручную, то проставится текущее время.

  1. С помощью оператора scan вывести строки таблицы на экран, убедиться в том, что данные сохранились в таблицу корректно.

  2. Добавить новую запись:

пользователь - bob

ресурс - google.com

время посещения (timestamp) - текущее время

  1. Появилась необходимость создать новую column family для хранения мета-информации. Для этого необходимо отключить таблицу командой disable, внести требуемые изменения командой alter и включить таблицу обратно.

Синтаксис команды alter:

alter 'table_name', 'new_cf_name'

  1. Вывести описание таблицы с помощью команды describe, описать полученный результат.

  2. Для пользователя alice добавить мета-информацию в столбец cookie 'abc123', Для пользователя bob добавить cookie 'xyz987'

  3. Вывести всю информацию по пользователю alice на текущий момент.

  4. Вывести всю информацию по пользователю alice на момент 1702411635955.

Вопросы

  1. Каким типом СУБД является HBase?
  2. Какой командой можно создать новую таблицу в HBase?
  3. Что такое 'семейство колонок' (column family)?
  4. Какие команды нужно выполнить чтобы добавить новое семейство колонок в существующую таблицу?
  5. Какой командой можно вывести всю информацию по заданной строке?