Команды оболочки HBase с примерами

⚡ Умное резюме

Команды оболочки HBase позволяют управлять таблицами и данными непосредственно из интерактивной командной строки и сгруппированы в общие команды, команды управления таблицами, такие как create и drop, команды манипулирования данными, такие как put и get, и команды репликации кластера.

  • 🖥️ Общие команды: status, version, table_help и whoami предоставляют информацию о состоянии кластера и пользователях.
  • 🇧🇷 Управление таблицами: Создавать, перечислять, описывать, отключать, включать, удалять и изменять таблицы, а также изменять их форму.
  • 🇧🇷 Манипуляция данными: put, get, delete, deleteall, truncate, count, and scan — чтение и запись значений ячеек.
  • 🔁 Cluster репликация: Функции add_peer, remove_peer, start_replication и stop_replication управляют репликацией данных.
  • Атрибут TTL: Функция Time To Live автоматически удаляет строки семейства столбцов через заданное количество секунд.
  • 🤖 Искусственный интеллект в качестве помощника: Искусственный интеллект-помощники генерируют и объясняют команды оболочки HBase на основе подсказок, понятных простому языку.

Примеры команд оболочки HBase для работы с таблицами, данными и репликацией кластера.

Как взаимодействовать с HBase с помощью команд оболочки и Java API

После успешной установки HBase поверх Hadoop мы получаем интерактивную оболочку для выполнения различных команд и операций. Используя эти команды, мы можем выполнять множество операций с таблицами данных, что обеспечивает более высокую эффективность хранения данных и гибкое взаимодействие с клиентом.

Взаимодействовать с HBase можно двумя способами:

  • Интерактивный режим оболочки HBase и
  • Через Java API.

В HBase для взаимодействия с HBase при выполнении операций с таблицами, управлении таблицами и моделировании данных используется интерактивный режим командной оболочки. Java В рамках API-модели мы можем выполнять все типы операций с таблицами и данными в HBase. Мы можем взаимодействовать с HBase, используя оба этих метода. Единственное различие между ними заключается в том, что Java API использует Java В режиме командной оболочки для подключения к HBase используется код, а в режиме оболочки — команды оболочки.

Прежде чем продолжить, кратко повторим основные принципы работы HBase:

  • HBase использует Hadoop HBase — это система хранения больших объемов данных, использующая файлы. Она состоит из главных серверов и региональных серверов.
  • Данные, которые будут храниться в HBase, будут представлены в виде регионов. Эти регионы, в свою очередь, будут разделены и размещены на нескольких региональных серверах.
  • Эти команды оболочки позволяют программисту определять схемы таблиц и выполнять операции с данными, используя полный режим взаимодействия с оболочкой.
  • Какую бы команду мы ни использовали, она отразится в модели данных HBase.
  • Мы используем команды оболочки HBase в интерпретаторах сценариев операционных систем, таких как оболочка Bash.
  • Оболочка Bash является интерпретатором команд по умолчанию для большинства приложений. Linux и дистрибутивы операционных систем Unix.
  • Расширенные версии HBase предоставляют команды оболочки с объектно-ориентированными ссылками на таблицы в стиле JRuby.
  • Переменные, относящиеся к таблицам, можно использовать для выполнения операций с данными в режиме оболочки HBase.

Например:

  • В этом уроке мы создали таблицу, в которой «образование» представляет собой название таблицы и соответствует названию столбца «guru99».
  • В некоторых командах "guru99" само по себе обозначает имя таблицы.

Общие команды

В HBase общие команды подразделяются на следующие категории:

  • Статус
  • Версия
  • Table_help (сканировать, удалить, получить, поместить, отключить и т. д.)
  • Кто я

Для входа в командную оболочку HBase сначала необходимо выполнить код, указанный ниже.

hbase Shell

После входа в оболочку HBase мы можем выполнить все перечисленные ниже команды. С помощью этих команд мы можем выполнять все типы операций с таблицами в режиме оболочки HBase. Интерактивная командная строка отображается следующим образом:

Интерактивная оболочка HBase открывается с помощью команды hbase shell.

Давайте рассмотрим все эти команды и их использование одну за другой на примере.

Статус

Syntax:status

Эта команда предоставит подробную информацию о состоянии системы, такую ​​как количество серверов в кластере, число активных серверов и средняя загрузка. Вы также можете передать определенные параметры в зависимости от того, насколько подробную информацию о состоянии системы вы хотите получить. Параметры могут быть типа «summary», «simple» или «detailed»; по умолчанию используется параметр «summary».

Ниже мы показали, как можно передавать различные параметры команде status. Более наглядно это продемонстрирует скриншот ниже.

hbase(main):001:0>status
hbase(main):002:0>status 'simple'
hbase(main):003:0>status 'summary'
hbase(main):004:0> status 'detailed'

Ниже показан вывод состояния:

Вывод команды `hBase shell status`, отображающий активные серверы, неактивные серверы и среднюю нагрузку.

При выполнении этой команды состояния отображается информация о количестве работающих серверов, неработающих серверах и средней нагрузке на сервер. На скриншоте показана информация о наличии 1 работающего сервера, 1 неработающего сервера и средней нагрузке 7.0000.

Версия

Syntax: version

Ниже показан результат выполнения программы:

Команда HBase shell version показывает установленную версию HBase.

  • Эта команда отобразит текущую используемую версию HBase в командном режиме.
  • Если вы выполните команду version, она выдаст результат, показанный выше.

Справка по таблице

Syntax:table_help

Ниже показан вывод команды table_help:

HBase shell table_help output listing create and get_table command usage

Эта команда указывает:

  • Что представляют собой команды, использующие ссылки на таблицы, и как их использовать.
  • Это позволит ознакомиться с различными вариантами использования команд оболочки HBase и их синтаксисом.
  • На скриншоте выше показан синтаксис команд «create» и «get_table» и их использование. После создания таблицы в HBase мы можем управлять ею с помощью этих команд.
  • Это позволит получить информацию о командах для работы с таблицами, таких как put, get и всех остальных.

Whoami

Syntax: Whoami

Результат выполнения команды whoami показан ниже:

Команда whoami оболочки HBase возвращает текущего пользователя и группы.

Команда «whoami» используется для получения информации о текущем пользователе HBase из кластера HBase. Она предоставит следующую информацию:

  • Группы, присутствующие в HBase.
  • Информация о пользователе; например, в данном случае «hduser» представляет собой имя пользователя, как показано на скриншоте.

TTL (Время жить) – атрибут

В HBase для семейств столбцов можно задать значения времени в секундах с помощью TTL. HBase автоматически удалит строки по истечении этого времени. Этот атрибут применяется ко всем версиям строки, даже к текущей.

Время жизни (TTL), закодированное в HBase для строки, указывается в формате UTC. Этот атрибут используется с командами управления таблицами. Важные различия между обработкой TTL и TTL семейств столбцов приведены ниже:

  • Срок жизни ячейки выражается в миллисекундах, а не в секундах.
  • Значение TTL ячейки не может увеличить эффективный срок службы ячейки сверх значения TTL на уровне семейства столбцов.

Команды управления таблицами

Эти команды позволят программистам создавать таблицы и схемы таблиц с семействами строк и столбцов. Ниже приведены команды управления таблицами:

  • Создавай
  • Список
  • Описывать
  • Отключить
  • Отключить все
  • Включите
  • Включить все
  • Падение
  • Drop_all
  • Показать_фильтры
  • вносить изменения
  • Альтернативный_статус

Рассмотрим на примере различные варианты использования команд в HBase.

Создавай

Syntax: create <tablename>, <columnfamilyname>

Пример:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

Результат выполнения команды создания показан ниже:

Команда HBase shell create создает таблицу education с семейством столбцов guru99.

Приведенный выше пример объясняет, как создать таблицу в HBase с указанным именем, заданным в соответствии со спецификациями для каждого семейства столбцов. Кроме того, мы можем передавать в нее некоторые атрибуты, относящиеся к области видимости таблицы. Чтобы проверить, создана ли таблица «education», мы используем команду «list», приведенную ниже. См. также создание таблиц HBase с помощью Java и оболочка.

Список

Syntax:list

Ниже представлен результат выполнения команды:

Команда HBase shell list отображает восемь существующих таблиц в HBase.

  • Команда «list» отобразит все таблицы, существующие или созданные в HBase.
  • На скриншоте выше показаны существующие таблицы в HBase.
  • На этом скриншоте показано, что в HBase присутствует в общей сложности 8 таблиц.
  • Мы можем фильтровать выходные значения из таблиц, передавая необязательные параметры в виде регулярных выражений.

Описывать

Syntax:describe <table name>
hbase(main):010:0>describe 'education'

Результат выполнения команды describe показан ниже:

Вывод команды HBase shell describe, содержащий подробную информацию о семействах столбцов таблицы education.

Эта команда описывает именованную таблицу.

  • Это позволит получить более подробную информацию о семействах столбцов, присутствующих в указанной таблице.
  • В нашем случае это описание таблицы «образование».
  • Это предоставит информацию о названии таблицы с семействами столбцов, связанными фильтрами, версиями и некоторыми другими подробностями.

запрещать

Syntax: disable <tablename>
hbase(main):011:0>disable 'education'

Результат отключения показан ниже:

Команда HBase shell disable, отключающая таблицу обучения.

  • Эта команда запустит процесс отключения указанной таблицы.
  • Если необходимо удалить или переместить таблицу, её сначала нужно отключить.

На скриншоте выше мы отключаем таблицу "образование".

отключить все

 Syntax: disable_all<"matching regex"
  • Эта команда отключит все таблицы, соответствующие данному регулярному выражению.
  • Реализация аналогична команде drop (за исключением добавления регулярного выражения для сопоставления).
  • После отключения таблицы пользователь может удалить ее из HBase.
  • Перед удалением или перетаскиваниемping Для таблицы ее следует сначала отключить.

Включите

Syntax: enable <tablename>
hbase(main):012:0>enable 'education'

Результат выполнения команды enable показан ниже:

Команда включения оболочки HBase повторно активирует отключенную таблицу обучения.

  • Эта команда запустит активацию указанной таблицы.
  • Для восстановления отключенной таблицы до ее предыдущего состояния используется следующая команда.
  • Если таблица изначально отключена и не удалена, и мы хотим повторно использовать отключенную таблицу, то нам необходимо включить ее с помощью этой команды.
  • На скриншоте выше мы активируем таблицу «образование».

show_filters

Syntax: show_filters

Результаты выполнения команды show_filters показаны ниже:

HBase shell show_filters output listing available HBase filters

Эта команда отображает все фильтры, присутствующие в HBase, такие как ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter и т. д.

падение

Syntax:drop <table name>
hbase(main):017:0>drop 'education'

Результат удаления показан ниже:

Команда HBase shell drop для удаления отключенной таблицы обучения

При выполнении команды перетаскивания необходимо учитывать следующие моменты:

  • Чтобы удалить таблицу, присутствующую в HBase, сначала необходимо её отключить.
  • Чтобы удалить таблицу, присутствующую в HBase, сначала необходимо её отключить.
  • Таким образом, чтобы удалить таблицу, сначала ее следует отключить с помощью команды disable.
  • Здесь, на скриншоте выше, мы перепадаем.ping таблица «образование».
  • Перед выполнением этой команды необходимо отключить таблицу «образование».

drop_all

Syntax: drop_all<"regex">
  • Эта команда удалит все таблицы, соответствующие заданному регулярному выражению.
  • Перед выполнением этой команды необходимо сначала отключить таблицы, используя параметр disable_all.
  • Таблицы, содержащие выражения, соответствующие регулярным выражениям, будут удалены из HBase.

включен

Syntax: is_enabled 'education'

Эта команда проверит, включена ли указанная таблица или нет. Обычно возникает небольшая путаница между действиями команд «enable» и «is_enabled», которую мы здесь проясним:

  • Предположим, таблица отключена; чтобы использовать эту таблицу, нам нужно включить её с помощью команды enable.
  • Команда is_enabled проверит, включена ли таблица или нет.

изменять

Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5

Эта команда изменяет схему семейства столбцов. Чтобы понять, что именно он делает, мы объяснили это на примере.

Примеры: В этих примерах мы будем выполнять операции команды ALTER над таблицами и их столбцами. Мы будем выполнять такие операции, как:

  • Изменение названий семейств в одном и нескольких столбцах.
  • Удаление названий семейств столбцов из таблицы.
  • Несколько других операций с использованием атрибутов области видимости в таблице.

Чтобы изменить или добавить семейство столбцов 'guru99_1' в таблице 'education', сохранив при этом максимум 5 версий ячеек, необходимо изменить текущее значение. Здесь 'education' — это имя таблицы, созданной ранее с именем столбца 'guru99'. С помощью команды ALTER мы пытаемся изменить схему семейства столбцов с guru99 на guru99_1, как показано ниже:

Команда HBase shell alter изменяет семейство столбцов таблицы education на guru99_1.

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5

Команду ALTER можно применять и к нескольким семействам столбцов одновременно. Например, мы определим два новых столбца для существующей таблицы «образование», как показано ниже:

Команда HBase shell alter добавляет две новые группы столбцов: guru99_2 и guru99_3.

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • С помощью этой команды можно изменить схему нескольких столбцов одновременно.
  • Как показано на скриншоте выше, guru99_2 и guru99_3 — это два новых названия столбцов, которые мы определили для таблицы education.
  • Способ использования этой команды показан на предыдущем скриншоте.

На этом шаге мы рассмотрим, как удалить семейство столбцов из таблицы. Чтобы удалить семейство столбцов 'f1' в таблице 'education', используйте одну из приведенных ниже команд. Результат показан на следующем снимке экрана:

Команда `alter` в оболочке HBase удаляет семейство столбцов из таблицы `education`.

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'

В этой команде мы пытаемся удалить пространство столбцов с именем guru99_1, которое мы создали ранее на первом шаге. Как показано на скриншотах ниже, показаны два шага: как изменить атрибут области видимости таблицы и как удалить атрибут области видимости таблицы.

Команда HBase shell alter, устанавливающая атрибут MAX_FILESIZE в области видимости таблицы.

Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

Шаг 1) Вы можете изменить атрибуты области видимости таблицы, такие как MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH и т. д. Их можно добавить в конец; например, чтобы изменить максимальный размер области на 128 МБ или любое другое значение памяти, мы используем эту команду.

Применение:

  • Мы можем использовать MAX_FILESIZE с таблицей в качестве атрибута области видимости, как показано выше.
  • Число, указанное в параметре MAX_FILESIZE, выражено в байтах памяти.

ПРИМЕЧАНИЕ: Область действия параметра MAX_FILESISZE в таблице определяется некоторыми атрибутами, присутствующими в HBase. MAX_FILESISZE также относится к атрибутам области действия таблицы.

Шаг 2) Вы также можете удалить атрибут, находящийся в области видимости таблицы, используя метод table_att_unset. См. команду ниже:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • На скриншоте выше показано измененное имя таблицы с атрибутами области видимости.
  • Метод table_att_unset используется для удаления атрибутов, присутствующих в таблице.
  • Во втором случае мы снимаем значение атрибута MAX_FILESIZE.
  • После выполнения команды атрибут MAX_FILESIZE будет просто удален из таблицы «education».

alter_status

 Syntax: alter_status 'education'

Результат выполнения команды alter_status показан ниже:

Команда `alter_status` оболочки HBase показывает, что обновлен только один из регионов.

  • С помощью этой команды можно получить статус команды `alter`.
  • Это указывает количество областей таблицы, для которых была обновлена ​​схема. Вы передаете имя таблицы.
  • На скриншоте выше показано, что обновлено 1/1 регион. Это означает, что обновлен один регион. После этого, если обновление прошло успешно, отобразится комментарий «готово».

Команды манипулирования данными

Эти команды используются для манипулирования данными в таблице, например, для добавления данных в таблицу, извлечения данных из таблицы, удаления схемы и т. д. К ним относятся следующие команды:

  • Количество
  • Ставить
  • Получите
  • Удалить
  • Удалить все
  • Усечь
  • Сканировать

Рассмотрим использование этих команд на примере. См. также чтение и запись данных HBase.

Количество

Syntax: count <'tablename'>, CACHE =>1000
  • Эта команда получит количество строк в таблице. Возвращаемое значение — это количество строк.
  • По умолчанию текущее количество отображается каждые 1000 строк.
  • Интервал подсчета может быть указан по желанию.
  • Размер кэша по умолчанию составляет 10 строк.
  • Команда count будет работать быстро, если она настроена с использованием правильного кэша.

Пример:

hbase> count 'guru99', CACHE=>1000

Результат подсчета показан ниже:

Команда HBase shell count возвращает количество строк в таблице guru99.

В этом примере счетчик извлекает по 1000 строк за раз из таблицы «guru99». Мы можем уменьшить значение кэша, если таблица содержит больше строк. Но по умолчанию он будет извлекать по одной строке за раз.

hbase>count 'guru99', INTERVAL => 100000
hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000

Предположим, таблица «guru99» имеет ссылку на другую таблицу, например, g. Мы можем выполнить команду count и для этой ссылки на таблицу, как показано ниже:

hbase>g.count INTERVAL=>100000
hbase>g.count INTERVAL=>10, CACHE=>1000

Ставить

Syntax:  put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

Эта команда используется для следующих целей:

  • Он поместит «значение» ячейки в определенную или указанную таблицу, строку или столбец.
  • При желании можно добавить временную метку.

Пример: Здесь мы помещаем значения в таблицу «guru99» в строке r1 и столбце c1.

hbase> put 'guru99', 'r1', 'c1', 'value', 10

В таблицу «guru99» мы внесли три значения: 10, 15 и 30, как показано на скриншоте ниже.

Команда HBase shell put вставляет значения 10, 15 и 30 в таблицу guru99.

Предположим, таблица «guru99» имеет ссылку на другую таблицу, например, g. Мы также можем выполнить команду для этой ссылки на таблицу, например:

hbase> g.put 'guru99', 'r1', 'c1', 'value', 10

Результат будет таким, как показано на скриншоте выше, после ввода значений в поле «guru99». Чтобы проверить правильность вставки введенных значений в таблицу, мы используем команду «scan». На скриншоте ниже видно, что значения вставлены корректно.

Результаты сканирования оболочки HBase подтверждают значения, вставленные в таблицу guru99.

Code Фрагмент: Для практики

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
put 'guru99', 'r1', 'Edu:c1', 'value', 10
put 'guru99', 'r1', 'Edu:c1', 'value', 15
put 'guru99', 'r1', 'Edu:c1', 'value', 30

В приведенном фрагменте кода мы делаем следующее:

  • Здесь мы создаём таблицу с именем 'guru99', в которой столбец называется 'Edu'.
  • С помощью команды «put» мы помещаем значения из строки r1 в столбце «Edu» в таблицу «guru99».

Получите

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

Здесь, Включают параметры TIMERANGE, TIMESTAMP, VERSIONS и FILTERS. Используя эту команду, вы получите содержимое строки или ячейки таблицы. Кроме того, вы можете добавить дополнительные параметры, такие как TIMESTAMP, TIMERANGE, VERSIONS, FILTERS и т. д., чтобы получить содержимое конкретной строки или ячейки.

Приведённый ниже пример выдаёт значения строки r1 и столбца c1:

Команда HBase shell get возвращает строку r1 и столбец c1 из таблицы guru99.

Примеры:-

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

Для таблицы «guru99» значения в строке r1 и столбце c1 будут отображаться с помощью этой команды, как показано на скриншоте выше.

hbase> get 'guru99', 'r1'

Для таблицы “guru99” значения строки r1 будут отображены с помощью этой команды.

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

Для таблицы “guru99” значения строки r1 в диапазоне времени от ts1 до ts2 будут отображены с помощью этой команды.

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

Для таблицы “guru99” значения строки r1 и семейств столбцов c1, c2 и c3 будут отображены с помощью этой команды.

Удалить

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Эта команда удалит значение ячейки в указанной таблице, строке или столбце.
  • Удаляемая ячейка должна точно соответствовать координатам удаляемой ячейки.
  • При сканировании удаление ячейки подавляет доступ к более старым версиям значений.

Пример: Приведенная ниже команда удаления удаляет ячейки r1, c1 из таблицы guru99:

Команда удаления в оболочке HBase: удаление ячейки r1 c1 из таблицы guru99

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • Выполнение указанной выше команды удалит строку r1 из семейства столбцов c1 в таблице «guru99».
  • Предположим, что таблица «guru99» содержит ссылку на какую-либо другую таблицу, например, g.
  • Мы также можем выполнить команду для ссылки на таблицу, например: hbase> g.delete 'guru99', 'r1', 'c1′”.

удалить все

Syntax: deleteall <'tablename'>, <'rowname'>
  • Эта команда удалит все ячейки в указанной строке.
  • При желании мы можем указать имена столбцов и метку времени в синтаксисе.

Пример: Приведенная ниже команда deleteall удаляет все ячейки в строке r1:

Команда HBase shell deleteall удаляет все ячейки в строке r1 таблицы guru99.

hbase>deleteall 'guru99', 'r1', 'c1'

Это удалит все строки и столбцы, присутствующие в таблице. При желании можно указать названия столбцов.

Усечь

Syntax:  truncate <tablename>

Приведенная ниже команда truncate очищает таблицу, в то время как команда keeping его схема:

Отключение команды усечения оболочки HBase, удалениеpingи воссоздание таблицы guru99.

После очистки таблицы HBase схема останется, но записи — нет. Эта команда выполняет 3 функции, которые перечислены ниже:

  • Отключает таблицу, если она уже существует.
  • Удаляет таблицу, если она уже существует.
  • Восстанавливает указанную таблицу.

Сканировать

Syntax: scan <'tablename'>, {Optional parameters}

Эта команда сканирует всю таблицу и отображает ее содержимое.

  • Мы можем передать этой команде сканирования несколько дополнительных спецификаций, чтобы получить дополнительную информацию о таблицах, присутствующих в системе.
  • Спецификации сканера могут включать один или несколько из следующих атрибутов.
  • Это параметры TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW и STOPROW.
scan 'guru99'

Результаты сканирования показаны ниже:

Команда сканирования оболочки HBase, отображающая строки r1, r2 и r3 таблицы guru99.

На снимке экрана выше:

  • Здесь отображается таблица «guru99» с названиями столбцов и их значениями.
  • Она состоит из трех значений строк, r1, r2 и r3, для единственного значения столбца c1.
  • Отображает значения, связанные с указанными строками.

Примеры: Различные варианты использования команды сканирования:

Command Применение
сканировать '.META.', {COLUMNS => 'info:regioninfo'} Здесь отображается вся метаинформация, относящаяся к столбцам, присутствующим в таблицах HBase.
сканировать 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} Отображает содержимое таблицы guru99 с семействами столбцов c1 и c2, ограничивая количество значений до 10.
отсканируйте 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} Отображается содержимое таблицы guru99 с именем столбца c1, содержащее значения, находящиеся в указанном временном диапазоне.
сканировать 'guru99', {RAW => true, VERSIONS =>10} В этой команде параметр RAW=> true предоставляет расширенную функцию, например, отображение всех значений ячеек в таблице guru99.

Code Пример: Сначала создайте таблицу и вставьте в неё значения. Входные данные показаны на скриншоте ниже:

Ввод данных в оболочку HBase: создание таблицы guru99 и вставка версионированных значений перед сканированием исходного кода.

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}
put 'guru99', 'r1', 'e:c1', 'value', 10
put 'guru99', 'r1', 'e:c1', 'value', 12
put 'guru99', 'r1', 'e:c1', 'value', 14
delete 'guru99', 'r1', 'e:c1', 11

Если мы выполним команду сканирования:

Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}

В результате будет отображено показанное ниже изображение:

Результаты сканирования оболочки HBase в необработанном виде, показывающие несколько версий ячеек, включая удаленное значение.

На скриншоте выше показана следующая информация:

  • Сканирование таблицы guru99 с атрибутами RAW=>true, VERSIONS=>1000.
  • Отображение строк с семействами столбцов и их значениями.
  • В третьей строке отображаются значения, которые были удалены из столбца.
  • Выводимая программа случайна; она не может быть в том же порядке, что и значения, которые мы вставили в таблицу.

Cluster Команды репликации

  • Эти команды работают в режиме настройки кластера HBase.
  • Для добавления и удаления узлов в кластер, а также для запуска и остановки репликации обычно используются следующие команды.
Command Функциональность системы
add_peer Добавляет узлы в кластер для репликации.
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod
Remove_peer Останавливает заданный поток репликации и удаляет всю метаинформацию о узле.
hbase> Remove_peer '1'
start_replication Перезапускает все функции репликации.
hbase> start_replication
стоп_репликация Останавливает все функции репликации.
hbase>stop_replication

Часто задаваемые вопросы (FAQ)

Введите exit или quit и нажмите Enter, чтобы выйти из интерактивной оболочки HBase и вернуться к командной строке операционной системы. Оболочку можно открыть с помощью команды hbase shell. Ни exit, ни quit не останавливают службу HBase; они лишь завершают сеанс работы с оболочкой.

Да. Команды можно вводить через конвейер в неинтерактивном режиме, например, echo “list” | hbase shell, или запускать сохраненный файл с помощью hbase shell script.txt. Поскольку оболочка основана на JRuby, вы также можете встраивать логику и циклы Ruby в файлы скриптов .rb.

Эта оболочка представляет собой интерактивную командную строку JRuby для быстрого выполнения команд вручную и администрирования. Java API, использующий Connection, Admin и Table, предназначен для приложений, которые создают таблицы и читают или записывают данные программным способом. Оба варианта обеспечивают доступ к одному и тому же кластеру HBase и данным.

Ошибка «Таблица уже существует» появляется, когда команда create повторяет существующее имя, а ошибка «Таблица не отключена» появляется, когда вы удаляете или изменяете таблицу, не отключив её предварительно. Перед удалением или изменением выполните команду disable 'table', а перед созданием используйте команду exists 'table' для проверки имени.

Семейство столбцов HBase хранит ограниченное количество версий с метками времени для каждой ячейки, исторически — три, а в более новых версиях — одну. Счетчик можно установить с помощью параметра VERSIONS при создании или изменении данных, а более старые версии запросить, используя {VERSIONS => n}, в команде получения или сканирования.

Переменная, представляющая собой ссылку на таблицу, — это объект оболочки, возвращаемый функцией `g = get_table 'guru99'`. Затем вы вызываете методы этой таблицы, такие как `g.put`, `g.get` или `g.count`, вместо повторения имени таблицы. Это удобный способ быстрого доступа в стиле JRuby в оболочке HBase.

Искусственный интеллект, используемый в качестве помощника при программировании, и большие языковые модели генерируют команды оболочки HBase на основе запросов на простом языке, объясняют незнакомые параметры, такие как фильтры сканирования или TTL, и помогают в отладке ошибок. Машинное обучение также анализирует метрики кластера для управления репликацией и настройкой регионов, хотя каждую команду должен проверять инженер.

Да. Второй пилот GitHub В коротком комментарии предлагаются команды оболочки HBase и скрипты JRuby, включая примеры create, put, scan и alter. RevПеред запуском на реальном кластере проверьте вывод команды на предмет правильного имени таблицы, семейств столбцов и синтаксиса, например, VERSIONS.

Подведем итог этой публикации следующим образом: