Наредбе шкољке ХБасе са примерима

Преглед садржаја:

Anonim

Након успешне инсталације ХБасе на врху Хадооп-а, добијамо интерактивну љуску за извршавање различитих наредби и извођење неколико операција. Користећи ове наредбе, можемо извршити више операција на табелама података које могу пружити бољу ефикасност складиштења података и флексибилну интеракцију од стране клијента.

Са ХБасеом можемо да комуницирамо на два начина,

  • Интерактивни режим љуске ХБасе и
  • Преко Јава АПИ-ја

У ХБасе-у, интерактивни режим љуске користи се за интеракцију са ХБасе-ом за операције табела, управљање табелом и моделирање података. Коришћењем Јава АПИ модела можемо извршити све врсте операција табела и података у ХБасеу. Помоћу ове две методе можемо ступити у интеракцију са ХБасе.

Једина разлика између ове две је Јава АПИ који користи јава код за повезивање са ХБасе, а режим љуске користи наредбе љуске за повезивање са ХБасе.

Брзо прекривање ХБасе пре него што наставимо-

  • ХБасе користи Хадооп датотеке као систем за складиштење за чување велике количине података. Хбасе се састоји од главних сервера и региона сервера
  • Подаци који ће се чувати у ХБасеу биће у облику региона. Даље, ови региони ће бити подељени и ускладиштени на више регионалних сервера
  • Ове наредбе љуске омогућавају програмеру да дефинише шеме табела и операције података користећи комплетну интеракцију у режиму љуске
  • Коју год наредбу да користимо, она ће се одразити на ХБасе модел података
  • Наредбе љуске ХБасе користимо у тумачима скрипти оперативног система попут Басх љуске
  • Басх љуска је задати интерпретатор наредби за већину оперативних дистрибуција Линука и Уника
  • Напредне верзије ХБасе пружају наредбе љуске објектно оријентисане референце за табеле у стилу јруби
  • Референтне променљиве табеле могу се користити за извођење операција података у режиму љуске ХБасе

На пример ,

  • У овом упутству креирали смо табелу у којој 'образовање' представља име табеле и одговара називу колоне „гуру99“.
  • У неким наредбама „гуру99“ сам представља име табеле.

У овом упутству ћете научити,

  • Опште команде
  • Табеле Управљање командама
  • Наредбе за манипулацију подацима
  • Наредбе репликације кластера

Опште команде

У Хбасе-у, опште наредбе су категорисане у следеће наредбе

  • Статус
  • Верзија
  • Табле_хелп (скенирање, испуштање, преузимање, стављање, онемогућавање итд.)
  • Ко сам ја

Да бисмо ушли у наредбу љуске ХБасе, пре свега, морамо извршити код као што је доле споменуто

hbase Shell

Једном када уђемо у љуску ХБасе, можемо извршити све доље наведене команде љуске. Уз помоћ ових наредби можемо изводити све врсте операција табеле у режиму љуске ХБасе.

Погледајмо све ове наредбе и њихову употребу једну по једну на примеру.

Статус

Syntax:status

Ова наредба ће дати детаље о статусу система попут броја сервера присутних у кластеру, броја активних сервера и просечне вредности учитавања. Такође можете проследити било које одређене параметре у зависности од тога колико детаљан статус желите да знате о систему. Параметри могу бити „сажети“, „једноставни“ или „детаљни“ , задати задати параметар је „резиме“.

Испод смо показали како можете проследити различите параметре наредби статуса.

Ако посматрамо доњи снимак екрана, имаћемо бољу идеју.

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

Када извршимо овај статус наредбе, он ће дати информације о броју присутних, мртвих сервера и просечном оптерећењу сервера, овде на снимку екрана приказују се информације попут - 1 активни сервер, 1 мртви сервер и 7.0000 просечног оптерећења.

Верзија

Syntax: version

  • Ова наредба ће приказати тренутно кориштену верзију ХБасе у командном режиму
  • Ако покренете команду верзије, она ће дати излаз као што је приказано горе

Помоћ за столом

Syntax:table_help

Ова команда води

  • Шта и како користити наредбе на које се односе табеле
  • Пружаће различите употребе команди ХБасе љуске и њене синтаксе
  • Овде на снимку екрана изнад, приказује синтаксу наредбе „ цреате“ и „ гет_табле“ са њеном употребом. Помоћу ових наредби можемо манипулисати таблицом када се табела креира у ХБасеу.
  • Даће наредбе за манипулацију табелом као што су пут, гет и све остале команде.

ко сам ја

Синтакса:

Syntax: Whoami

Ова наредба "вхоами" користи се за враћање тренутних корисничких информација ХБасе из кластера ХБасе.

Пружаће информације попут

  • Групе присутне у ХБасе
  • Корисничке информације, на пример у овом случају „хдусер“ представљају корисничко име као што је приказано на снимку екрана

ТТЛ (Време за живот) - Атрибут

У ХБасе, породице колона могу се подесити на временске вредности у секундама помоћу ТТЛ-а. ХБасе ће аутоматски избрисати редове када се истекне време истека. Овај атрибут се односи на све верзије реда - чак и на тренутну верзију.

ТТЛ време кодирано у ХБасе за ред је одређено у УТЦ. Овај атрибут се користи са наредбама за управљање табелом.

Важне разлике између ТТЛ руковања и ТТЛ фамилије колона су доле наведене

  • ТТЛ ћелије изражени су у јединицама милисекунди уместо у секундама.
  • ТТЛ-ови ћелија не могу продужити ефективни век ћелије изван подешавања ТТЛ-а на нивоу породице стубаца.

Табеле Управљање командама

Ове наредбе ће програмерима омогућити да креирају табеле и шеме табела са породицама редова и колона.

Следе наредбе за управљање табелом

  • Креирај
  • Листа
  • Опишите
  • Онемогући
  • Онемогући све
  • Омогући
  • Омогући све
  • Кап
  • Дроп_алл
  • Схов_филтерс
  • Алтер
  • Алтер_статус

Погледајмо на примеру различитих употреба наредби у ХБасеу.

Креирај

Syntax: create 
, 

Пример: -

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

Горњи пример објашњава како се креира табела у ХБасеу са наведеним именом датим према речнику или спецификацијама према породици колона. Поред тога, у њега можемо проследити и неке атрибуте опсега табеле.

Да бисмо проверили да ли је табела 'образовање' креирана или не, морамо да користимо наредбу "лист" као што је доле споменуто.

Листа

Syntax:list

  • Команда "Лист" приказаће све табеле које су присутне или креиране у ХБасеу
  • Излаз приказан на горњој снимци екрана тренутно приказује постојеће табеле у ХБасеу
  • Овде на овом снимку заслона показује се да је унутар ХБасе присутно укупно 8 табела
  • Излазне вредности из табела можемо филтрирати прослеђивањем опционалних параметара регуларног израза

Опишите

Syntax:describe 

hbase(main):010:0>describe 'education'

Ова наредба описује именовану табелу.

  • Даће више информација о породицама колона присутним у поменутој табели
  • У нашем случају даје опис табеле „образовање“.
  • Даће информације о имену табеле са породицама колона, повезаним филтерима, верзијама и још неким детаљима.

онемогућити

Syntax: disable 

hbase(main):011:0>disable 'education'
  • Ова наредба ће почети да онемогућава именовану табелу
  • Ако табелу треба избрисати или испустити, прво је потребно онемогућити

Овде, на горњем снимку екрана, онемогућавамо образовање табела

онемогући све

 Syntax: disable_all<"matching regex"
  • Ова наредба ће онемогућити све табеле које се подударају са датим регуларним изразом.
  • Имплементација је иста као наредба делете (осим додавања регуларног израза за подударање)
  • Једном када се табела онемогући, корисник може да је избрише из ХБасе
  • Пре брисања или испуштања табеле, прво је треба онемогућити

Омогући

Syntax: enable 

hbase(main):012:0>enable 'education'
  • Ова наредба ће започети омогућавање именоване табеле
  • Која год је табела онемогућена, користимо ову наредбу за враћање у претходно стање
  • Ако је табела у првом реду онемогућена и није обрисана или испуштена и ако желимо да поново користимо онемогућену табелу, морамо је омогућити помоћу ове наредбе.
  • Овде на горњем снимку екрана омогућавамо табелу „образовање“.

схов_филтерс

Syntax: show_filters

Ова наредба приказује све филтере присутне у ХБасе-у, попут ЦолумнПрефик Филтер, ТиместампсФилтер, ПагеФилтер, ФамилиФилтер итд.

кап

Syntax:drop 

hbase(main):017:0>drop 'education'

Морамо посматрати доње тачке за дроп команду

  • Да бисмо избрисали табелу присутну у ХБасеу, прво је морамо онемогућити
  • Да бисмо спустили табелу присутну у ХБасеу, прво је морамо онемогућити
  • Дакле, било коју табелу за прво испуштање или брисање треба онемогућити помоћу наредбе дисабле
  • Овде, изнад снимка екрана, испуштамо табелу „образовање“.
  • Пре извршавања ове наредбе потребно је да онемогућите табелу „образовање“.

дроп_алл

Syntax: drop_all<"regex">
  • Ова наредба ће испустити све табеле које се подударају са датим регуларним изразом
  • Табеле морају прво да се онемогуће пре извршавања ове наредбе помоћу дисабле_алл
  • Табеле са изразима који се подударају са регуларним изразима испашће из ХБасе

је омогућен

Syntax: is_enabled 'education'

Ова наредба ће проверити да ли је именована табела омогућена или не. Обично постоји мала забуна између командне акције „енабле“ и „ис_енаблед“, што смо овде разјаснили

  • Претпоставимо да је табела онемогућена, да бисмо је користили, морамо је омогућити помоћу команде енабле
  • ис_енаблед наредба ће проверити да ли је табела омогућена или не

алтер

Syntax: alter 
, NAME=>, VERSIONS=>5

Ова наредба мења шему породице колона. Да бисмо разумели шта тачно ради, објаснили смо то овде на примеру.

Примери:

У овим примерима извршићемо алтер командне операције на табелама и на њиховим колонама. Изводићемо операције попут

  • Мењање једноструких, вишеструких породичних имена
  • Брисање имена породица колона из табеле
  • Неколико других операција које користе атрибуте опсега са табелом
  1. Да бисте променили или додали породицу колона „гуру99_1“ у табели „образовање“ са тренутне вредности како бисте задржали највише 5 ћелијских ВЕРЗИЈА ,
  • „образовање“ је назив табеле који је претходно створен са именом колоне „гуру99“
  • Овде уз помоћ наредбе алтер покушавамо да променимо шему породице колона у гуру99_1 из гуру99

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. Такође можете управљати командом алтер и на неколико породица колона. На пример, дефинисаћемо две нове колоне за нашу постојећу табелу „образовање“.
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

  • Помоћу ове наредбе можемо истовремено променити више шема колона
  • гуру99_2 и гуру99_3, као што је приказано на горњем снимку екрана, два су нова имена колона која смо дефинисали за образовање табеле
  • Начин употребе ове команде можемо видети на претходном снимку екрана
  1. У овом кораку видећемо како из табеле избрисати породицу колона. Да бисте избрисали породицу колона 'ф1' у табели 'образовање'.

Користите једну од ових наредби доле,

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1' 
  • У овој команди покушавамо да избришемо назив простора колона гуру99_1 који смо претходно креирали у првом кораку

  1. Као што је приказано на сликама екрана испод, приказује два корака - како променити атрибут опсега табеле и како уклонити атрибут опсега табеле.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

Корак 1) Можете променити атрибуте опсега табеле као што су МАКС_ФИЛЕСИЗЕ, РЕАДОНЛИ, МЕМСТОРЕ_ФЛУСХСИЗЕ, ДЕФЕРРЕД_ЛОГ_ФЛУСХ итд. Они се могу ставити на крај; на пример, да промените максималну величину региона на 128 МБ или било коју другу меморијску вредност коју користимо команда.

Употреба:

  • Можемо да користимо МАКС_ФИЛЕСИЗЕ са табелом као атрибутом опсега као горе
  • Број представљен у МАКС_ФИЛЕСИЗЕ представља термин меморије у бајтовима

Н ОТЕ: МАКС_ФИЛЕСИЗЕ Особина Табле обим одредиће неки атрибути присутни у ХБасе. МАКС_ФИЛЕСИЗЕ такође долази под атрибуте опсега табеле.

Корак 2) Такође можете уклонити атрибут опсега табеле методом табле_атт_унсет. Ако видите команду

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • Горњи снимак екрана приказује измењено име табеле са атрибутима опсега
  • Метода табле_атт_унсет користи се за поништавање атрибута присутних у табели
  • У другом случају уклањамо атрибут МАКС_ФИЛЕСИЗЕ
  • Након извршавања наредбе, једноставно ће поништити атрибут МАКС_ФИЛЕСИЗЕ из табеле "образовање".

алтер_статус

 Syntax: alter_status 'education'

  • Кроз ову команду можете добити статус наредбе алтер
  • Што указује на број региона табеле који су добили ажурирано име табеле пролаза шеме
  • Овде на горњем снимку екрана приказано је ажурирање 1/1 региона. Значи да је ажурирао један регион. Након тога, ако успе, приказаће се готов коментар.

Наредбе за манипулацију подацима

Ове наредбе ће радити на табели повезане са манипулацијама подацима, попут стављања података у табелу, преузимања података из табеле и брисања шеме итд.

Команде долазе под ове су

  • Цоунт
  • Ставити
  • Добити
  • Избриши
  • Избриши све
  • Скратити
  • Сцан

Погледајмо употребу ових наредби на примеру.

Цоунт

Syntax: count <'tablename'>, CACHE =>1000
  • Команда ће дохватити број одређеног броја редова у табели. Вредност коју овај враћа је број редова.
  • Тренутни број се подразумевано приказује на сваких 1000 редова.
  • Интервал бројања може бити опционално наведен.
  • Подразумевана величина кеш меморије је 10 редова.
  • Наредба Цоунт ће брзо радити када је конфигурисана помоћу десне кеш меморије.

Пример:

hbase> count 'guru99', CACHE=>1000

Овај пример броја преузима 1000 редова истовремено из табеле „Гуру99“.

Можемо направити кеш на неку нижу вредност ако се табела састоји од више редова.

Али подразумевано ће доносити један по један ред.

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

Ако претпоставимо ако табела "Гуру99" има неку референцу табеле попут рецимо г.

Наредбу цоунт можемо покренути на референци табеле, такође као доле

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

Ставити

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

Ова наредба се користи за следеће ствари

  • Ставиће ћелију 'вредност' у дефинисану или наведену табелу или ред или колону.
  • По жељи ће координирати временску ознаку.

Пример:

  • Овде стављамо вредности у табелу "гуру99" испод реда р1 и колоне ц1
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • Поставили смо три вредности, 10,15 и 30 у табелу "гуру99", као што је приказано на доњем снимку екрана

  • Претпоставимо да ако табела "Гуру99" има неку референцу табеле попут рецимо г. Такође можемо покренути команду на референци табеле, такође као

    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Излаз ће бити као што је приказано на горњем снимку екрана након стављања вредности у "гуру99".

Да бисмо проверили да ли је улазна вредност правилно уметнута у табелу, користимо наредбу „скенирај“. На доњем снимку екрана можемо видети да су вредности правилно уметнуте

Фрагмент кода: за вежбање

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

Из фрагмента кода радимо ове ствари

  • Овде креирамо табелу под називом 'гуру99' са називом колоне као "Еду".
  • Коришћењем команде „пут“ стављамо вредности у име реда р1 у колони „Еду“ у табелу „гуру99“.

Добити

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

Овде <Додатни параметри> укључују ТИМЕРАНГЕ, ТИМЕСТАМП, ВЕРСИОНС и ФИЛТЕРС.

Коришћењем ове наредбе добићете садржај реда или ћелије присутан у табели. Поред тога, можете му додати и додатне параметре попут ТИМЕСТАМП, ТИМЕРАНГЕ, ВЕРСИОНС, ФИЛТЕРС, итд. Да бисте добили одређени садржај реда или ћелије.

Примери:-

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

За табелу "гуру99 'вредности р1 и колоне ц1 ће се приказати помоћу ове наредбе као што је приказано на горњој снимци екрана

hbase> get 'guru99', 'r1'

За табелу "гуру99" ред р1 вредности ће се приказати помоћу ове наредбе

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

За табелу "гуру99" помоћу ове наредбе биће приказане вредности 1. реда у временском опсегу тс1 и тс2

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

За табелу "гуру99" вредности реда ц1, ц2, ц3 породица р1 и колона биће приказане помоћу ове наредбе

Избриши

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Ова наредба ће обрисати вредност ћелије у дефинисаној табели реда или колоне.
  • Избриши мора и треба тачно одговарати координатама избрисаних ћелија.
  • Током скенирања, делете ћелија потискује старије верзије вредности.

Пример:

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''. 
  • Горњим извршењем ће се избрисати ред р1 из породице колона ц1 у табели „гуру99“.
  • Претпоставимо да ако табела "гуру99" има неку референцу табеле попут рецимо г.
  • Наредбу можемо покренути и на референци табеле, као што је хбасе> г.делете 'гуру99', 'р1', 'ц1' ".

делетеалл

Syntax: deleteall <'tablename'>, <'rowname'>

  • Ова наредба ће избрисати све ћелије у датом реду.
  • Синтаксу можемо по жељи дефинисати имена колона и временски жиг.

Пример: -

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

Овим ћете избрисати све редове и колоне присутне у табели. По жељи у томе можемо споменути имена колона.

Скратити

Syntax: truncate 

Након скраћивања хбасе табеле, шема ће представити, али не и записе. Ова команда врши 3 функције; оне су наведене у наставку

  • Онемогућава табелу ако се већ приказује
  • Отпушта табелу ако већ постоји
  • Рекреира поменуту табелу

Сцан

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

Ова наредба скенира целу табелу и приказује садржај табеле.

  • Овој наредби за скенирање можемо проследити неколико опционалних спецификација да бисмо добили више информација о табелама присутним у систему.
  • Спецификације скенера могу садржати један или више следећих атрибута.
  • То су ТИМЕРАНГЕ, ФИЛТЕР, ТИМЕСТАМП, ЛИМИТ, МАКСЛЕНГТХ, ЦОЛУМНС, ЦАЦХЕ, СТАРТРОВ и СТОПРОВ.
scan 'guru99' 

Излаз као што је приказано испод приказан на снимку екрана

На горњем снимку екрана

  • Приказује табелу „гуру99“ са називом колоне и вредностима
  • Састоји се од три вредности реда р1, р2, р3 за вредност једне колоне ц1
  • Приказује вредности повезане са редовима

Примери:-

Различите употребе наредбе за скенирање

Команда

Употреба

скенирај '.МЕТА.', {ЦОЛУМНС => 'инфо: регионинфо'}

Приказује све информације о мета подацима повезане са колонама које су присутне у табелама у ХБасеу

скенирај 'гуру99', {ЦОЛУМНС => ['ц1', 'ц2'], ЛИМИТ => 10, СТАРТРОВ => 'киз'}

Приказује садржај табеле гуру99 са њиховим породицама колона ц1 и ц2 ограничавајући вредности на 10

скенирај 'гуру99', {ЦОЛУМНС => 'ц1', ТИМЕРАНГЕ => [1303668804, 1303668904]}

Приказује садржај гуру99 са називом колоне ц1 са вредностима присутним између поменуте вредности атрибута временског опсега

скенирај 'гуру99', {РАВ => тачно, ВЕРЗИЈЕ => 10}

У овој наредби РАВ => труе пружа напредну функцију попут приказивања свих вредности ћелија присутних у табели гуру99

Пример кода:

Прво креирајте табелу и поставите вредности у табелу

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

Снимак екрана за улаз:

Ако покренемо наредбу скенирања

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

Приказаће се излаз приказан доле.

Излазни снимак екрана:

Излаз приказан на горњој снимци екрана даје следеће информације

  • Скенирање гуру99 табеле са атрибутима РАВ => труе, ВЕРСИОНС => 1000
  • Приказивање редова са породицама колона и вредностима
  • У трећем реду, приказане вредности показују избрисану вредност присутну у колони
  • Излаз који је приказан је случајан; то не може бити исти редослед као вредности које смо убацили у табелу

Наредбе репликације кластера

  • Ове наредбе раде на начину постављања кластера ХБасе.
  • За додавање и уклањање вршњака у кластер и за покретање и заустављање репликације ове наредбе се генерално користе.

Команда

Функционалност

адд_пеер

Додајте вршњаке у кластер за копирање

хбасе> адд_пеер '3', зк1, зк2, зк3: 2182: / хбасе-прод

ремове_пеер

Зауставља дефинисани ток репликације.

Брише све информације о метаподацима о вршњаку

хбасе> ремове_пеер '1'

старт_реплицатион

Поново покреће све функције репликације

хбасе> старт_реплицатион

стоп_реплицатион

Зауставља све функције репликације

хбасе> стоп_реплицатион

Резиме :

Наредбе ХБасе љуске и опште дају потпуне информације о различитим врстама наредби за манипулацију подацима, управљање табелом и репликацијом кластера. Помоћу ових наредби можемо извршити разне функције на табелама присутним у ХБасеу.