HBase Shell-kommandoer med eksempler

⚡ Smart oppsummering

Med HBase-skallkommandoer kan du administrere tabeller og data direkte fra en interaktiv ledetekst, gruppert i generelle kommandoer, tabellbehandlingskommandoer som opprett og slipp, datamanipuleringskommandoer som put og get, og klyngereplikasjonskommandoer.

  • 🖥️ Generelle kommandoer: status, versjon, table_help og whoami-rapportklyngestatus og brukerinformasjon.
  • 🗂️ Tabellhåndtering: opprette, liste, beskrive, deaktivere, aktivere, slette og endre, bygge og omforme tabeller.
  • ✏️ Datamanipulering: sette, hente, slette, slette alle, avkorte, telle og skanne lese- og skrivecelleverdier.
  • 🔁 Cluster replikering: add_peer, remove_peer, start_replication og stop_replication administrerer datareplikering.
  • TTL-attributt: Time To Live utløper kolonnefamilierader automatisk etter et angitt antall sekunder.
  • 🤖 AI-assistanse: AI-assistenter genererer og forklarer HBase-skallkommandoer fra ledetekster i enkeltspråk.

HBase-shellkommandoer med eksempler for tabeller, data og klyngereplikasjon

Slik samhandler du med HBase ved hjelp av Shell-kommandoer og Java API

Etter en vellykket installasjon av HBase oppå Hadoop, får vi et interaktivt skall for å utføre diverse kommandoer og flere operasjoner. Ved hjelp av disse kommandoene kan vi utføre flere operasjoner på datatabeller som gir bedre datalagringseffektivitet og fleksibel interaksjon for klienten.

Vi kan samhandle med HBase på to måter:

  • HBase interaktiv skallmodus, og
  • Gjennom Java API.

I HBase brukes interaktiv skallmodus til å samhandle med HBase for tabelloperasjoner, tabelladministrasjon og datamodellering. Bruk av Java API-modellen, kan vi utføre alle typer tabell- og dataoperasjoner i HBase. Vi kan samhandle med HBase ved å bruke begge disse metodene. Den eneste forskjellen mellom de to er at Java API-bruk Java kode for å koble til HBase, mens shell-modus bruker shell-kommandoer for å koble til HBase.

Kort oppsummering av HBase før vi fortsetter:

  • HBase bruker Hadoop filer som et lagringssystem for å lagre store mengder data. HBase består av hovedservere og regionservere.
  • Dataene som skal lagres i HBase vil være i form av regioner. Videre vil disse regionene bli delt opp og lagret på flere regionservere.
  • Disse skallkommandoene lar programmereren definere tabellskjemaer og dataoperasjoner ved hjelp av fullstendig skallmodusinteraksjon.
  • Uansett hvilken kommando vi bruker, vil den gjenspeiles i HBase-datamodellen.
  • Vi bruker HBase-skallkommandoer i operativsystemskripttolkere som Bash-skallet.
  • Bash-skallet er standard kommandotolker for de fleste Linux og Unix-operativsystemdistribusjoner.
  • HBase avanserte versjoner tilbyr skallkommandoer med objektorienterte referanser i JRuby-stil for tabeller.
  • Tabellreferansevariabler kan brukes til å utføre dataoperasjoner i HBase-skallmodus.

For eksempel:

  • I denne veiledningen har vi laget en tabell der «utdanning» representerer tabellnavnet og tilsvarer kolonnenavnet «guru99».
  • I noen kommandoer representerer «guru99» i seg selv et tabellnavn.

Generelle kommandoer

I HBase er generelle kommandoer kategorisert i følgende kommandoer:

  • status
  • Versjon
  • Table_help (skann, slipp, hent, sett, deaktiver osv.)
  • Hvem er jeg

For å gå inn i HBase-shell-kommandoen, må vi først kjøre koden som nevnt nedenfor.

hbase Shell

Når vi har kommet inn i HBase-skallet, kan vi utføre alle skallkommandoene som er nevnt nedenfor. Ved hjelp av disse kommandoene kan vi utføre alle typer tabelloperasjoner i HBase-skallmodus. Den interaktive skallprompten vises som vist nedenfor:

HBase interaktiv skallledetekst åpnet med hbase shell-kommandoen

La oss se nærmere på alle disse kommandoene og deres bruk en etter en med et eksempel.

status

Syntax:status

Denne kommandoen gir detaljer om systemstatusen, som antall servere i klyngen, antall aktive servere og gjennomsnittlig belastningsverdi. Du kan også angi bestemte parametere avhengig av hvor detaljert status du vil vite om systemet. Parametrene kan være «sammendrag», «enkel» eller «detaljert»; standardparameteren som er angitt er «sammendrag».

Nedenfor har vi vist hvordan du kan sende forskjellige parametere til status-kommandoen. Hvis vi ser på skjermbildet nedenfor, får vi en bedre idé.

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

Statusutgangen vises nedenfor:

HBase shell status-kommandoutdata som viser aktive servere, døde servere og gjennomsnittlig belastning

Når vi utfører denne statuskommandoen, gir den informasjon om antall servere som er til stede, døde servere og gjennomsnittlig belastning på serveren. Her viser skjermbildet informasjon som 1 aktiv server, 1 død server og en gjennomsnittlig belastning på 7.0000.

Versjon

Syntax: version

Versjonsutdataene vises nedenfor:

HBase shell version-kommando som viser den installerte HBase-versjonen

  • Denne kommandoen viser den gjeldende HBase-versjonen i kommandomodus.
  • Hvis du kjører version-kommandoen, vil den gi utdata som vist ovenfor.

Tabellhjelp

Syntax:table_help

Utdataene for table_help vises nedenfor:

HBase-shell table_help utdataliste for bruk av create- og get_table-kommandoer

Denne kommandoen veileder:

  • Hva tabellrefererte kommandoer er, og hvordan du bruker dem.
  • Den vil gi forskjellige bruksområder for HBase-shell-kommandoer og deres syntakser.
  • Her, i skjermbildet ovenfor, vises syntaksen for kommandoene «create» og «get_table» med bruken av dem. Vi kan manipulere tabellen via disse kommandoene når tabellen er opprettet i HBase.
  • Den vil gi tabellmanipuleringskommandoer som put, get og all annen kommandoinformasjon.

whoami

Syntax: Whoami

Whoami-utdataene vises nedenfor:

HBase shell whoami-kommandoen returnerer gjeldende hduser og grupper

Denne kommandoen «whoami» brukes til å returnere gjeldende HBase-brukerinformasjon fra HBase-klyngen. Den vil gi informasjon som:

  • Grupper som finnes i HBase.
  • Brukerinformasjonen; for eksempel representerer «hduser» i dette tilfellet brukernavnet som vist på skjermbildet.

TTL (Time To Live) – Attributt

I HBase kan kolonnefamilier settes til tidsverdier i sekunder ved hjelp av TTL. HBase vil automatisk slette rader når utløpstiden er nådd. Dette attributtet gjelder for alle versjoner av en rad, selv den gjeldende versjonen.

TTL-tiden som er kodet i HBase for raden er spesifisert i UTC. Dette attributtet brukes med tabellbehandlingskommandoer. Viktige forskjeller mellom TTL-håndtering og kolonnefamilie-TTL-er er nedenfor:

  • Celle-TTL-er uttrykkes i enheter av millisekunder i stedet for sekunder.
  • En celle-TTL kan ikke forlenge den effektive levetiden til en celle utover en TTL-innstilling på kolonnefamilienivå.

Tabeller Management kommandoer

Disse kommandoene lar programmerere opprette tabeller og tabellskjemaer med rad- og kolonnefamilier. Følgende er tabellbehandlingskommandoene:

  • Opprett
  • Liste
  • Beskriv
  • Deaktiver
  • Deaktiver_alle
  • aktiver
  • Aktiver_alle
  • Drop
  • Drop_all
  • Vis_filtre
  • Alter
  • Alter_status

La oss se på ulike kommandobruksområder i HBase med et eksempel.

Opprett

Syntax: create <tablename>, <columnfamilyname>

Eksempel:-

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

Resultatet av create-kommandoen vises nedenfor:

HBase shell create command bygger utdanningstabellen med guru99-kolonnefamilien

Eksemplet ovenfor forklarer hvordan du oppretter en tabell i HBase med det angitte navnet gitt i henhold til spesifikasjonene for hver kolonnefamilie. I tillegg til dette kan vi også sende noen tabell-scope-attributter inn i den. For å sjekke om tabellen 'utdanning' er opprettet eller ikke, bruker vi kommandoen «list» nedenfor. Se også lage HBase-tabeller med Java og skall.

Liste

Syntax:list

Listeutdataene vises nedenfor:

HBase shell list-kommando som viser åtte eksisterende tabeller i HBase

  • Kommandoen «list» viser alle tabellene som finnes eller er opprettet i HBase.
  • Utdataene som vises i skjermbildet ovenfor viser for øyeblikket de eksisterende tabellene i HBase.
  • Her, i dette skjermbildet, vises det at det er totalt 8 tabeller tilstede i HBase.
  • Vi kan filtrere utdataverdier fra tabeller ved å sende valgfrie regulære uttrykksparametere.

Beskriv

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

Beskrivelsen av utdataene vises nedenfor:

HBase-skall beskriver kommandoutdata med detaljer om kolonnefamiliene i utdanningstabellen

Denne kommandoen beskriver den navngitte tabellen.

  • Den vil gi mer informasjon om kolonnefamiliene som finnes i den nevnte tabellen.
  • I vårt tilfelle gir den beskrivelsen av tabellen «utdanning».
  • Den vil gi informasjon om tabellnavnet med kolonnefamilier, tilhørende filtre, versjoner og noen flere detaljer.

deaktivere

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

Deaktiveringsutgangen vises nedenfor:

HBase shell deaktiver-kommando tar utdanningstabellen offline

  • Denne kommandoen vil begynne å deaktivere den navngitte tabellen.
  • Hvis en tabell må slettes eller fjernes, må den først deaktiveres.

Her, i skjermbildet ovenfor, deaktiverer vi tabellopplæringen.

deaktiver_alle

 Syntax: disable_all<"matching regex"
  • Denne kommandoen vil deaktivere alle tabellene som samsvarer med det gitte regulære uttrykket.
  • Implementeringen er den samme som drop-kommandoen (bortsett fra at man legger til en regex for matching).
  • Når tabellen er deaktivert, kan brukeren slette tabellen fra HBase.
  • Før sletting eller fjerningping en tabell, bør den deaktiveres først.

aktiver

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

Aktiveringsutgangen vises nedenfor:

HBase shell enable-kommandoen aktiverer den deaktiverte utdanningstabellen på nytt

  • Denne kommandoen vil starte aktivering av den navngitte tabellen.
  • Uansett hvilken tabell som er deaktivert, bruker vi denne kommandoen for å hente den tilbake til sin tidligere tilstand.
  • Hvis en tabell er deaktivert i utgangspunktet og ikke slettet eller fjernet, og hvis vi ønsker å bruke den deaktiverte tabellen på nytt, må vi aktivere den ved å bruke denne kommandoen.
  • Her, i skjermbildet ovenfor, aktiverer vi tabellen «utdanning».

vis_filtre

Syntax: show_filters

show_filters-utdataene vises nedenfor:

HBase-skallets utdataliste for show_filters er tilgjengelig

Denne kommandoen viser alle filtrene som finnes i HBase, som ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter osv.

slipp

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

Drop-utgangen vises nedenfor:

HBase shell drop-kommando sletter den deaktiverte utdanningstabellen

Vi må observere punktene nedenfor for drop-kommandoen:

  • For å slette tabellen som finnes i HBase, må vi først deaktivere den.
  • For å slette tabellen som finnes i HBase, må vi først deaktivere den.
  • Så, for å enten fjerne eller slette en tabell, bør tabellen først deaktiveres ved hjelp av kommandoen disable.
  • Her, i skjermbildet ovenfor, slipper viping tabellen «utdanning».
  • Før du utfører denne kommandoen, er det nødvendig at du deaktiverer tabellen «utdanning».

drop_all

Syntax: drop_all<"regex">
  • Denne kommandoen vil slette alle tabellene som samsvarer med den gitte regexen.
  • Tabeller må først deaktiveres før denne kommandoen utføres ved hjelp av disable_all.
  • Tabeller med samsvarende regex-uttrykk vil bli fjernet fra HBase.

er_aktivert

Syntax: is_enabled 'education'

Denne kommandoen vil bekrefte om den navngitte tabellen er aktivert eller ikke. Vanligvis er det litt forvirring mellom kommandohandlingene «enable» og «is_enabled», noe vi oppklarer her:

  • Anta at en tabell er deaktivert; for å bruke tabellen må vi aktivere den ved å bruke enable-kommandoen.
  • `is_enabled`-kommandoen vil sjekke om tabellen er aktivert eller ikke.

endre

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

Denne kommandoen endrer kolonnefamilieskjemaet. For å forstå nøyaktig hva det gjør, har vi forklart det her med et eksempel.

Eksempler: I disse eksemplene skal vi utføre alter-kommandooperasjoner på tabeller og kolonnene deres. Vi vil utføre operasjoner som:

  • Endring av familienavn på én og flere kolonner.
  • Sletter kolonnefamilienavn fra en tabell.
  • Flere andre operasjoner som bruker omfangsattributter med en tabell.

For å endre eller legge til kolonnefamilien 'guru99_1' i tabellen 'education' fra gjeldende verdi for å beholde maksimalt 5 celleVERSJONER. Her er «education» tabellnavnet som ble opprettet med kolonnenavnet «guru99» tidligere. Ved hjelp av en alter-kommando prøver vi å endre kolonnefamilieskjemaet til guru99_1 fra guru99, som vist nedenfor:

HBase shell alter-kommando endrer kolonnefamilien for utdanningstabellen til guru99_1

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

Du kan også bruke alter-kommandoen på flere kolonnefamilier. For eksempel definerer vi to nye kolonner for vår eksisterende tabell «utdanning», som vist nedenfor:

HBase shell alter-kommando legger til to nye kolonnefamilier guru99_2 og guru99_3

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • Vi kan endre mer enn ett kolonneskjema om gangen ved hjelp av denne kommandoen.
  • guru99_2 og guru99_3, som vist på skjermbildet ovenfor, er de to nye kolonnenavnene vi har definert for tabellopplæringen.
  • Vi kan se måten å bruke denne kommandoen på i forrige skjermbilde.

I dette trinnet skal vi se hvordan du sletter en kolonnefamilie fra tabellen. For å slette kolonnefamilien 'f1' i tabellen 'utdanning', bruk en av disse kommandoene nedenfor. Resultatet vises i skjermbildet som følger:

HBase shell alter-kommando sletter en kolonnefamilie fra utdanningstabellen

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

I denne kommandoen prøver vi å slette kolonneområdet kalt guru99_1 som vi opprettet i det første trinnet. Som vist på skjermbildene nedenfor, viser den to trinn: hvordan man endrer et tabellområdeattributt og hvordan man fjerner tabellområdeattributtet.

HBase shell alter-kommando som setter MAX_FILESIZE table-scope-attributtet

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

Trinn 1) Du kan endre attributter for tabellområdet som MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH osv. Disse kan settes på slutten. For eksempel, for å endre maksstørrelsen på en region til 128 MB eller en annen minneverdi, bruker vi denne kommandoen.

Bruk:

  • Vi kan bruke MAX_FILESIZE med tabellen som et scope-attributt, som ovenfor.
  • Tallet representert i MAX_FILESIZE er i form av minne i byte.

MERK: Omfanget av tabellen MAX_FILESIZE vil bli bestemt av noen attributter som finnes i HBase. MAX_FILESIZE kommer også inn under attributter for tabellomfang.

Trinn 2) Du kan også fjerne et table-scope-attributt ved å bruke table_att_unset-metoden. Se kommandoen nedenfor:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • Skjermbildet ovenfor viser det endrede tabellnavnet med omfangsattributter.
  • Metoden table_att_unset brukes til å fjerne attributter som finnes i tabellen.
  • I andre tilfelle fjerner vi attributtet MAX_FILESIZE.
  • Etter at kommandoen er utført, vil den ganske enkelt fjerne MAX_FILESIZE-attributtet fra «utdanning»-tabellen.

alter_status

 Syntax: alter_status 'education'

Utdataene for alter_status vises nedenfor:

HBase-shell alter_status-kommandoen viser en av de oppdaterte regionene

  • Gjennom denne kommandoen kan du få statusen til alter-kommandoen.
  • Den angir antall regioner i tabellen som har mottatt det oppdaterte skjemaet. Du sender tabellnavnet.
  • Her, i skjermbildet ovenfor, vises 1/1 region oppdatert. Det betyr at den har oppdatert én region. Etter det, hvis det er vellykket, vil det vises kommentaren «ferdig».

Datamanipulasjonskommandoer

Disse kommandoene fungerer på tabellen for datamanipulasjoner, for eksempel å sette data inn i en tabell, hente data fra en tabell og slette skjemaer, osv. Kommandoene som faller inn under disse er:

  • Telle
  • Sette
  • Ta
  • Delete
  • Slette alle
  • avkorte
  • Skanne

La oss se på disse kommandobrukene med et eksempel. Se også lesing og skriving av HBase-data.

Telle

Syntax: count <'tablename'>, CACHE =>1000
  • Kommandoen henter antallet rader i en tabell. Verdien som returneres av denne er antall rader.
  • Gjeldende antall vises som standard per 1000 rader.
  • Telleintervallet kan valgfritt spesifiseres.
  • Standard hurtigbufferstørrelse er 10 rader.
  • Count-kommandoen vil fungere raskt når den er konfigurert med riktig hurtigbuffer.

Eksempel:

hbase> count 'guru99', CACHE=>1000

Telleutgangen vises nedenfor:

HBase shell count-kommandoen returnerer radantallet i guru99-tabellen

Dette eksempelet på tellingen henter 1000 rader om gangen fra tabellen «guru99». Vi kan gjøre hurtigbufferen til en lavere verdi hvis tabellen består av flere rader. Men som standard henter den én rad om gangen.

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

Anta at tabellen «guru99» har en tabellreferanse, som for eksempel g. Vi kan også kjøre count-kommandoen på tabellreferansen, som nedenfor:

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

Sette

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

Denne kommandoen brukes til følgende ting:

  • Det vil sette en celle 'verdi' ved en definert eller spesifisert tabell eller rad eller kolonne.
  • Den vil eventuelt koordinere et tidsstempel.

Eksempel: Her plasserer vi verdier i tabellen «guru99» under rad r1 og kolonne c1.

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

Vi har plassert tre verdier, 10, 15 og 30, i tabellen «guru99», som vist på skjermbildet nedenfor.

HBase-shellet satte kommandoen inn verdiene 10, 15 og 30 i guru99-tabellen

Anta at tabellen «guru99» har en tabellreferanse, som for eksempel g. Vi kan også kjøre kommandoen på tabellreferansen, slik som:

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

Utdataene vil være som vist på skjermbildet ovenfor etter at verdier er satt inn i «guru99». For å sjekke om inngangsverdien er satt inn riktig i tabellen, bruker vi kommandoen «scan». I skjermbildet nedenfor kan vi se at verdiene er satt inn riktig.

HBase-shell-skanningsutdata som bekrefter verdiene som er satt inn i guru99-tabellen

Code Utdrag: Til øving

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

Fra kodestykket gjør vi disse tingene:

  • Her lager vi en tabell med navnet «guru99» og kolonnenavnet «Edu».
  • Ved å bruke kommandoen «put» plasserer vi verdier i radnavnet r1 i kolonnen «Edu» i tabellen «guru99».

Ta

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

Her, inkluderer TIMERANGE, TIDSTEMPEL, VERSJONER og FILTERE. Ved å bruke denne kommandoen får du innholdet i en rad eller celle i tabellen. I tillegg til dette kan du også legge til flere parametere, som TIDSTEMPEL, TIMERANGE, VERSJONER, FILTERE osv., for å få innholdet i en bestemt rad eller celle.

Get-utdataene nedenfor returnerer verdiene for rad r1 og kolonne c1:

HBase shell get-kommandoen returnerer rad r1 og kolonne c1 fra guru99-tabellen

Eksempler:-

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

For tabellen «guru99» vil verdiene for rad r1 og kolonne c1 vises ved bruk av denne kommandoen, som vist på skjermbildet ovenfor.

hbase> get 'guru99', 'r1'

For tabellen «guru99» vil rad r1-verdier vises ved hjelp av denne kommandoen.

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

For tabellen «guru99» vil rad r1-verdier i tidsområdet ts1 til ts2 vises ved hjelp av denne kommandoen.

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

For tabellen «guru99» vil verdier for rad r1 og kolonnefamiliene c1, c2 og c3 vises ved hjelp av denne kommandoen.

Delete

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Denne kommandoen sletter celleverdien i en definert tabell med rad eller kolonne.
  • Slett må og bør samsvare nøyaktig med koordinatene til den slettede cellen.
  • Ved skanning undertrykker en slettecelle eldre versjoner av verdier.

Eksempel: Slett-kommandoen nedenfor fjerner celle r1, c1 fra guru99-tabellen:

HBase shell delete-kommando fjerner celle r1 c1 fra guru99-tabellen

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • Utførelsen ovenfor vil slette rad r1 fra kolonnefamilie c1 i tabellen «guru99».
  • Anta at tabellen «guru99» har en tabellreferanse, som for eksempel g.
  • Vi kan også kjøre kommandoen på tabellreferansen, som hbase> g.delete 'guru99', 'r1', 'c1′”.

slett alt

Syntax: deleteall <'tablename'>, <'rowname'>
  • Denne kommandoen vil slette alle cellene i en gitt rad.
  • Vi kan valgfritt definere kolonnenavn og et tidsstempel i syntaksen.

Eksempel: – Kommandoen deleteall nedenfor fjerner alle cellene i rad r1:

HBase shell deleteall-kommando fjerner alle cellene i rad r1 i guru99-tabellen

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

Dette vil slette alle rader og kolonner som finnes i tabellen. Vi kan eventuelt nevne kolonnenavn i den.

avkorte

Syntax:  truncate <tablename>

Truncate-kommandoen nedenfor tømmer tabellen mens keeping dens skjema:

HBase shell truncate-kommando deaktiverer, slipperping, og gjenskape guru99-tabellen

Etter avkortingen av en HBase-tabell vil skjemaet være til stede, men ikke postene. Denne kommandoen utfører tre funksjoner; disse er listet opp nedenfor:

  • Deaktiverer tabellen hvis den allerede finnes.
  • Fjerner tabellen hvis den allerede finnes.
  • Gjenoppretter den nevnte tabellen.

Skanne

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

Denne kommandoen skanner hele tabellen og viser tabellinnholdet.

  • Vi kan sende flere valgfrie spesifikasjoner til denne skannekommandoen for å få mer informasjon om tabellene som finnes i systemet.
  • Skannerspesifikasjoner kan inneholde en eller flere av følgende attributter.
  • Disse er TIMEROMRÅDE, FILTER, TIDSTEMPEL, GRENSE, MAKSIMAL LENGDE, KOLONNER, CACHE, STARTROW og STOPOW.
scan 'guru99'

Skanningsutdataene vises nedenfor:

HBase shell scan-kommando som viser radene r1, r2 og r3 i guru99-tabellen

I skjermbildet ovenfor:

  • Den viser tabellen «guru99» med kolonnenavnet og verdiene.
  • Den består av tre radverdier, r1, r2 og r3, for den enkle kolonneverdien c1.
  • Den viser verdiene som er knyttet til radene.

Eksempler:- De forskjellige bruksområdene for skannekommandoen:

Kommando bruk
skann '.META.', {COLUMNS => 'info:regioninfo'} Den viser all metadatainformasjon relatert til kolonnene som finnes i tabellene i HBase.
skann 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} Den viser innholdet i tabellen guru99 med kolonnefamiliene c1 og c2, og begrenser verdiene til 10.
skann 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} Den viser innholdet i guru99 med kolonnenavnet c1 med verdiene som finnes mellom den nevnte tidsintervallattributtverdien.
skann 'guru99', {RAW => true, VERSJONER =>10} I denne kommandoen gir RAW=> true en avansert funksjon, som å vise alle celleverdiene som finnes i tabellen guru99.

Code Eksempel: Først oppretter du en tabell og plasserer verdier i tabellen. Inndataene vises på skjermbildet nedenfor:

HBase-skallinndata oppretter guru99-tabellen og setter inn versjonerte verdier før en rå skanning

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

Hvis vi kjører skannekommandoen:

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

Den vil vise utdataene som vises nedenfor:

HBase-skallets råskanningsutdata som viser flere celleversjoner, inkludert en slettet verdi

Utdataene som vises i skjermbildet ovenfor gir følgende informasjon:

  • Skanner guru99-tabellen med attributtene RAW=>true, VERSIONS=>1000.
  • Viser rader med kolonnefamilier og verdier.
  • I den tredje raden viser verdiene som vises den slettede verdien som finnes i kolonnen.
  • Utdataene som vises er tilfeldige; de ​​kan ikke være i samme rekkefølge som verdiene vi satte inn i tabellen.

Cluster Replikeringskommandoer

  • Disse kommandoene fungerer i klyngeoppsettmodusen til HBase.
  • Disse kommandoene brukes generelt for å legge til og fjerne motparter i en klynge, og for å starte og stoppe replikering.
Kommando Funksjonalitet
add_peer Legger til jevnaldrende i en klynge som skal replikeres.
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod
remove_peer Stopper den definerte replikeringsstrømmen og sletter all metadatainformasjon om motparten.
hbase> remove_peer '1'
start_replikering Starter alle replikeringsfunksjonene på nytt.
hbase> start_replikering
stop_replikering Stopper alle replikeringsfunksjonene.
hbase>stopp_replikering

Spørsmål og svar

Skriv inn exit eller quit og trykk Enter for å forlate det interaktive HBase-skallet og gå tilbake til operativsystemledeteksten. Du åpner skallet med hbase shell-kommandoen. Verken exit eller quit stopper HBase-tjenesten; de avslutter bare skalløkten.

Ja. Send inn kommandoer uten interaktive signaler, for eksempel echo «list» | hbase shell, eller kjør en lagret fil med hbase shell script.txt. Fordi skallet er JRuby-basert, kan du også legge inn Ruby-logikk og -løkker i .rb-skriptfiler.

Skallet er en interaktiv JRuby-ledetekst for raske manuelle kommandoer og administrasjon. Java API-et, som bruker Connection, Admin og Table, er for applikasjoner som oppretter tabeller og leser eller skriver data programmatisk. Begge når den samme HBase-klyngen og dataene.

Feilmeldingen «Tabellen finnes allerede» vises når opprettelsen gjentar et eksisterende navn, og «Tabellen er ikke deaktivert» vises når du sletter eller endrer uten å deaktivere først. Kjør disable 'table' før du sletter eller endrer, og bruk exists 'table' for å sjekke et navn før du oppretter det.

En HBase-kolonnefamilie har et begrenset antall tidsstemplede versjoner per celle, historisk sett tre og én i nyere utgivelser. Angi antallet med VERSIONS ved opprettelse eller endring, og be om eldre versjoner ved å bruke {VERSIONS => n} på en get- eller scan-kommando.

En tabellreferansevariabel er et skallobjekt som returneres av g = get_table 'guru99'. Deretter kaller du metoder på det, for eksempel g.put, g.get eller g.count, i stedet for å gjenta tabellnavnet. Det er en praktisk snarvei i JRuby-stil i HBase-skallet.

AI-kodingsassistenter og store språkmodeller genererer HBase-skallkommandoer fra forespørsler i enkeltspråk, forklarer ukjente alternativer som skannefiltre eller TTL, og hjelper med feilsøking. Maskinlæring analyserer også klyngemålinger for å veilede replikering og regionjustering, selv om en ingeniør bør verifisere hver kommando.

Ja. GitHub Copilot foreslår HBase-skallkommandoer og JRuby-skript fra en kort kommentar, inkludert eksempler på opprett, plasser, skanne og endre. RevSe utdataene for riktig tabellnavn, kolonnefamilier og syntaks, for eksempel VERSJONER, før du kjører den på en ekte klynge.

Oppsummer dette innlegget med: