Команди оболонки HBase з прикладами

⚡ Розумний підсумок

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

  • 🖥️ Загальні команди: status, version, table_help та whoami повідомляють про стан кластера та інформацію про користувача.
  • 🗂️ Управління таблицею: створювати, перераховувати, описувати, вимикати, вмикати, видаляти та змінювати, будувати та переформовувати таблиці.
  • ✏️ Маніпуляції з даними: поміщати, отримувати, видаляти, видаляти всі, обрізати, підраховувати та сканувати значення комірок для читання та запису.
  • 🔁 Cluster реплікація: Команди add_peer, remove_peer, start_replication та stop_replication керують реплікацією даних.
  • Атрибут TTL: «Час життя» автоматично скасовує термін дії рядків сімейства стовпців через задану кількість секунд.
  • 🤖 Допомога ШІ: Помічники штучного інтелекту генерують та пояснюють команди оболонки HBase за допомогою підказок простою мовою.

Команди оболонки HBase з прикладами для таблиць, даних та реплікації кластера

Як взаємодіяти з HBase за допомогою команд оболонки Java API

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

Ми можемо взаємодіяти з HBase двома способами:

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

У HBase інтерактивний режим оболонки використовується для взаємодії з HBase для операцій з таблицями, керування таблицями та моделювання даних. Використання... Java За допомогою моделі API ми можемо виконувати всі типи операцій з таблицями та даними в HBase. Ми можемо взаємодіяти з HBase, використовуючи обидва ці методи. Єдина різниця між ними полягає в тому, що Java Використання API Java код для підключення до HBase, тоді як режим оболонки використовує команди оболонки для підключення до HBase.

Короткий огляд HBase, перш ніж ми продовжимо:

  • HBase використовує Hadoop файли як система сховища для зберігання великих обсягів даних. HBase складається з головних серверів та регіональних серверів.
  • Дані, які зберігатимуться в HBase, будуть у формі регіонів. Крім того, ці регіони будуть розділені та зберігатися на кількох серверах регіонів.
  • Ці команди оболонки дозволяють програмісту визначати схеми таблиць та операції з даними, використовуючи повну взаємодію в режимі оболонки.
  • Яку б команду ми не використовували, вона відобразиться в моделі даних HBase.
  • Ми використовуємо команди оболонки HBase в інтерпретаторах скриптів операційної системи, таких як оболонка Bash.
  • Оболонка Bash є інтерпретатором команд за замовчуванням для більшості Linux та дистрибутиви операційних систем Unix.
  • Розширені версії HBase надають команди оболонки з об'єктно-орієнтованими посиланнями для таблиць у стилі JRuby.
  • Змінні табличного типу можна використовувати для виконання операцій з даними в режимі оболонки HBase.

Наприклад:

  • У цьому посібнику ми створили таблицю, в якій «education» представляє назву таблиці та відповідає назві стовпця «guru99».
  • У деяких командах «guru99» сам по собі представляє назву таблиці.

Загальні команди

У HBase загальні команди поділяються на такі команди:

  • Статус
  • версія
  • Table_help (сканувати, скинути, отримати, поставити, вимкнути тощо)
  • Хто я

Щоб увійти в командну оболонку HBase, перш за все, нам потрібно виконати код, як зазначено нижче.

hbase Shell

Після входу в оболонку HBase ми можемо виконати всі команди оболонки, згадані нижче. За допомогою цих команд ми можемо виконувати всі типи операцій з таблицями в режимі оболонки HBase. Інтерактивне вікно оболонки виглядає так, як показано нижче:

Інтерактивний запит оболонки HBase, відкритий командою оболонки hbase

Давайте розглянемо всі ці команди та їх використання одну за одною на прикладі.

Статус

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, що показує активні сервери, непрацюючі сервери та середнє навантаження

Коли ми виконуємо цю команду status, вона надає інформацію про кількість наявних серверів, непрацюючих серверів та середнє навантаження на сервер. Тут на скріншоті показано таку інформацію, як 1 активний сервер, 1 непрацюючий сервер та середнє навантаження 7.0000.

версія

Syntax: version

Вивід версії показано нижче:

Команда версії оболонки HBase, яка показує встановлену версію HBase

  • Ця команда відобразить поточну версію HBase в командному режимі.
  • Якщо ви запустите команду version, вона видасть вивід, як показано вище.

Таблиця довідки

Syntax:table_help

Вивід table_help показано нижче:

Вивідний список table_help оболонки HBase, використання команд create та get_table

Ця команда керує:

  • Що таке команди, що посилаються на таблицю, і як їх використовувати.
  • Він надасть різні способи використання команд оболонки HBase та їх синтаксис.
  • Тут, на скріншоті вище, показано синтаксис команд «create» та «get_table» з їх використанням. Ми можемо маніпулювати таблицею за допомогою цих команд після її створення в HBase.
  • Він надаватиме команди маніпулювання таблицями, такі як put, get та всю іншу інформацію про команди.

Whoami

Syntax: Whoami

Вивід whoami показано нижче:

Команда whoami оболонки HBase, що повертає поточного користувача hduser та групи

Ця команда «whoami» використовується для повернення інформації про поточного користувача HBase з кластера HBase. Вона надасть таку інформацію, як:

  • Групи, присутні в HBase.
  • Інформація про користувача; наприклад, у цьому випадку «hduser» представляє ім’я користувача, як показано на знімку екрана.

TTL (Time To Live) – Атрибут

У HBase для сімейств стовпців можна встановити значення часу в секундах за допомогою TTL. HBase автоматично видалятиме рядки після досягнення часу закінчення терміну дії. Цей атрибут застосовується до всіх версій рядка, навіть до поточної версії.

Час TTL, закодований у HBase для рядка, вказується в UTC. Цей атрибут використовується з командами керування таблицями. Важливі відмінності між обробкою TTL та TTL сімейства стовпців наведено нижче:

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

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

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

  • Створити
  • список
  • Описувати
  • Забороняти
  • Відключити все
  • включити
  • Enable_all
  • Падіння
  • Викинути_все
  • Показати_фільтри
  • Вік
  • Змінити_статус

Давайте розглянемо різні способи використання команд у HBase на прикладі.

Створити

Syntax: create <tablename>, <columnfamilyname>

Приклад:-

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

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

Команда створення оболонки HBase, яка створює таблицю education з використанням сімейства стовпців guru99

У наведеному вище прикладі пояснюється, як створити таблицю в HBase із заданим ім'ям, наданим відповідно до специфікацій для кожного сімейства стовпців. Крім того, ми також можемо передати їй деякі атрибути області видимості таблиці. Щоб перевірити, чи створено таблицю 'education', ми використовуємо команду "list" нижче. Див. також створення таблиць HBase за допомогою Java і оболонка.

список

Syntax:list

Вивід списку показано нижче:

Команда списку оболонки HBase, яка показує вісім існуючих таблиць у HBase

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

Описувати

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

Вивід опису показано нижче:

Оболонка HBase описує вивід команди з детальною інформацією про сімейства стовпців таблиці освіти

Ця команда описує іменовану таблицю.

  • Це надасть більше інформації про сімейства стовпців, присутні у згаданій таблиці.
  • У нашому випадку це опис таблиці «освіта».
  • Він надасть інформацію про назву таблиці з родинами стовпців, пов'язаними фільтрами, версіями та деякими іншими деталями.

забороняти

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

Вивід вимкнення показано нижче:

Команда відключення оболонки HBase для переведення таблиці освіти в автономний режим

  • Ця команда почне вимикати іменовану таблицю.
  • Якщо таблицю потрібно видалити або відкинути, її спочатку потрібно відключити.

Тут, на скріншоті вище, ми вимикаємо навчання за таблицею.

відключити все

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

включити

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

Вихід увімкнення показано нижче:

Команда HBase shell enable для повторної активації вимкненої таблиці освіти

  • Ця команда розпочне активацію іменованої таблиці.
  • Яку б таблицю не було вимкнено, щоб повернути її до попереднього стану, ми використовуємо цю команду.
  • Якщо таблиця спочатку вимкнена, а не видалена або відкинута, і якщо ми хочемо повторно використовувати вимкнену таблицю, тоді нам потрібно ввімкнути її за допомогою цієї команди.
  • Тут, на скріншоті вище, ми вмикаємо таблицю «освіта».

show_filters

Syntax: show_filters

Вивід show_filters показано нижче:

Вивід HBase shell show_filters зі списком доступних фільтрів HBase

Ця команда відображає всі фільтри, присутні в HBase, такі як ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter тощо.

падіння

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

Вихід краплі показано нижче:

Команда Drop оболонки HBase для видалення вимкненої таблиці освіти

Нам потрібно дотримуватися наступних пунктів для команди drop:

  • Щоб видалити таблицю, присутню в HBase, спочатку нам потрібно її вимкнути.
  • Щоб видалити таблицю, присутню в HBase, спочатку нам потрібно її вимкнути.
  • Отже, щоб видалити або видалити таблицю, спочатку її слід вимкнути за допомогою команди disable.
  • Тут, на скріншоті вище, ми скидаємоping таблиця «освіта».
  • Перед виконанням цієї команди необхідно вимкнути таблицю «освіта».

drop_all

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

is_enabled

Syntax: is_enabled 'education'

Ця команда перевірить, чи ввімкнено вказану таблицю. Зазвичай існує невелика плутанина між діями команд «enable» та «is_enabled», яку ми тут роз'яснюємо:

  • Припустимо, що таблиця вимкнена; щоб використовувати цю таблицю, нам потрібно її ввімкнути за допомогою команди enable.
  • Команда is_enabled перевірить, чи таблиця увімкнена чи ні.

змінювати

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

Ця команда змінює схему сімейства стовпців. Щоб зрозуміти, що саме він робить, ми пояснили це на прикладі.

Приклади: У цих прикладах ми виконаємо операції команди alter над таблицями та їх стовпцями. Ми виконаємо такі операції, як:

  • Зміна назв сімейств для одного та кількох стовпців.
  • Видалення імен сімейств стовпців з таблиці.
  • Кілька інших операцій з використанням атрибутів області видимості з таблицею.

Щоб змінити або додати сімейство стовпців 'guru99_1' у таблиці 'education' з поточного значення, щоб зберегти максимум 5 комірок типу VERSIONS. Тут «education» – це ім'я таблиці, створеної раніше з іменем стовпця «guru99». За допомогою команди alter ми намагаємося змінити схему сімейства стовпців на guru99_1 з guru99, як показано нижче:

Команда alter оболонки HBase, що змінює сімейство стовпців таблиці education на guru99_1

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

Ви також можете застосувати команду alter до кількох сімейств стовпців. Наприклад, ми визначимо два нових стовпці для нашої існуючої таблиці «освіта», як показано нижче:

Команда alter оболонки HBase, що додає два нових сімейства стовпців 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 для видалення сімейства стовпців з таблиці освіти

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

У цій команді ми намагаємося видалити простір стовпців з назвою guru99_1, який ми раніше створили на першому кроці. Як показано на скріншотах нижче, показано два кроки: як змінити атрибут області дії таблиці та як видалити атрибут області дії таблиці.

Команда зміни оболонки HBase, яка встановлює атрибут області видимості таблиці MAX_FILESIZE

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

Крок 1) Ви можете змінити атрибути області видимості таблиці, такі як MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH тощо. Їх можна розмістити в кінці; наприклад, щоб змінити максимальний розмір регіону на 128 МБ або будь-яке інше значення пам'яті, ми використовуємо цю команду.

Використання:

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

ПРИМІТКА. Область видимості таблиці MAX_FILESIZE визначатиметься деякими атрибутами, присутніми в HBase. MAX_FILESIZE також входить до атрибутів області видимості таблиці.

Крок 2) Ви також можете видалити атрибут table-scope за допомогою методу 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

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

Команда 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 тощо, щоб отримати певний вміст рядка або комірки.

Вивід get нижче повертає значення рядка r1 та стовпця c1:

Команда get оболонки HBase повертає рядок 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:

Команда deleteall оболонки HBase видаляє всі комірки в рядку 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.
  • Він відображає значення, пов'язані з рядками.

Приклади: Різні способи використання команди scan:

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 => правда, ВЕРСІЇ =>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'
початок_реплікації Перезапускає всі функції реплікації.
hbase> start_replication
stop_replication Зупиняє всі функції реплікації.
hbase>stop_replication

Поширені запитання

Введіть 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' перед тим, як виконати drop або alter, і використовуйте команду exists 'table', щоб перевірити ім’я перед його створенням.

Сімейство стовпців HBase зберігає обмежену кількість версій з мітками часу на комірку, історично три та одну в новіших випусках. Встановіть кількість за допомогою VERSIONS під час створення або зміни, а запитуйте старіші версії за допомогою {VERSIONS => n} у команді get або scan.

Змінна-посилання на таблицю — це об'єкт оболонки, який повертається функцією g = get_table 'guru99'. Потім ви викликаєте для неї методи, такі як g.put, g.get або g.count, замість повторення назви таблиці. Це зручне скорочення в стилі JRuby в оболонці HBase.

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

Так. Копілот GitHub пропонує команди оболонки HBase та скрипти JRuby з короткого коментаря, включаючи приклади create, put, scan та alter. Revперегляньте його вивід на наявність правильної назви таблиці, сімейств стовпців та синтаксису, такого як VERSIONS, перш ніж запускати його на реальному кластері.

Підсумуйте цей пост за допомогою: