Na een succesvolle installatie van HBase bovenop Hadoop, krijgen we een interactieve shell om verschillende opdrachten uit te voeren en verschillende bewerkingen uit te voeren. Met behulp van deze opdrachten kunnen we meerdere bewerkingen uitvoeren op gegevenstabellen die de efficiëntie van gegevensopslag en flexibele interactie door de klant kunnen verbeteren.
We kunnen op twee manieren met HBase communiceren,
- HBase interactieve shell-modus en
- Via Java API
In HBase wordt de interactieve shell-modus gebruikt voor interactie met HBase voor tabelbewerkingen, tabelbeheer en gegevensmodellering. Door het Java API-model te gebruiken, kunnen we alle soorten tabel- en gegevensbewerkingen in HBase uitvoeren. We kunnen met HBase communiceren door deze beide methoden te gebruiken.
Het enige verschil tussen deze twee is dat Java API Java-code gebruikt om verbinding te maken met HBase en shell-modus shell-opdrachten gebruikt om verbinding te maken met HBase.
Snelle overcap van HBase voordat we verder gaan-
- HBase gebruikt Hadoop-bestanden als opslagsysteem om de grote hoeveelheden gegevens op te slaan. Hbase bestaat uit Master Servers en Regions Servers
- De gegevens die in HBase worden opgeslagen, hebben de vorm van regio's. Verder worden deze regio's opgesplitst en opgeslagen op servers met meerdere regio's
- Met deze shell-opdrachten kan de programmeur tabelschema's en gegevensbewerkingen definiëren met behulp van volledige interactie in de shell-modus
- Welke opdracht we ook gebruiken, het wordt weerspiegeld in het HBase-gegevensmodel
- We gebruiken HBase-shell-opdrachten in scriptinterpreters van het besturingssysteem, zoals de Bash-shell
- Bash-shell is de standaard opdrachtinterpretatie voor de meeste Linux- en Unix-distributies
- Geavanceerde HBase-versies bieden shell-opdrachten objectgeoriënteerde verwijzingen in jruby-stijl voor tabellen
- Tabelverwijzingsvariabelen kunnen worden gebruikt om gegevensbewerkingen uit te voeren in de HBase-shell-modus
Voor voorbeelden ,
- In deze tutorial hebben we een tabel gemaakt waarin 'onderwijs' de tabelnaam vertegenwoordigt en overeenkomt met de kolomnaam 'guru99'.
- In sommige commando's staat "guru99" zelf voor een tabelnaam.
In deze tutorial leer je,
- Algemene commando's
- Tables Managements-opdrachten
- Commando's voor gegevensmanipulatie
- Clusterreplicatieopdrachten
Algemene commando's
In Hbase zijn algemene commando's onderverdeeld in de volgende commando's
- Toestand
- Versie
- Table_help (scannen, neerzetten, ophalen, plaatsen, uitschakelen, etc.)
- Wie ben ik
Om in de HBase-shellopdracht te komen, moeten we allereerst de code uitvoeren zoals hieronder vermeld
hbase Shell
Zodra we de HBase-shell binnengaan, kunnen we alle hieronder genoemde shell-opdrachten uitvoeren. Met behulp van deze opdrachten kunnen we alle soorten tabelbewerkingen uitvoeren in de HBase-shell-modus.
Laten we al deze commando's en hun gebruik een voor een bekijken met een voorbeeld.
Toestand
Syntax:status
Deze opdracht geeft details over de systeemstatus, zoals het aantal servers in het cluster, het aantal actieve servers en de gemiddelde belastingswaarde. U kunt ook bepaalde parameters doorgeven, afhankelijk van de gedetailleerde status die u over het systeem wilt weten. De parameters kunnen 'samenvatting', 'eenvoudig' of 'gedetailleerd' zijn , de standaard opgegeven parameter is 'samenvatting'.
Hieronder hebben we laten zien hoe u verschillende parameters kunt doorgeven aan het statuscommando.
Als we de onderstaande schermafbeelding bekijken, krijgen we een beter idee.
hbase(main):001:0>statushbase(main):002:0>status 'simple'hbase(main):003:0>status 'summary'hbase(main):004:0> status 'detailed'
Wanneer we deze commandostatus uitvoeren, geeft het informatie over het aantal aanwezige servers, dode servers en gemiddelde serverbelasting. Hier in screenshot toont het de informatie zoals: 1 live server, 1 dode servers en 7.0000 gemiddelde belasting.
Versie
Syntax: version
- Met deze opdracht wordt de momenteel gebruikte HBase-versie in de opdrachtmodus weergegeven
- Als u het versiecommando uitvoert, geeft het uitvoer zoals hierboven weergegeven
Tafel hulp
Syntax:table_help
Deze opdracht leidt
- Wat en hoe u commando's met verwijzingen naar een tabel kunt gebruiken
- Het biedt verschillende gebruiksmogelijkheden van HBase-shellopdrachten en de bijbehorende syntaxis
- Hier, in de bovenstaande schermafbeelding, toont het de syntaxis van de opdracht " create" en " get_table" met het gebruik ervan. We kunnen de tabel via deze opdrachten manipuleren zodra de tabel in HBase is gemaakt.
- Het geeft tabelmanipulaties commando's zoals put, get en alle andere commando's informatie.
wie ben ik
Syntaxis:
Syntax: Whoami
Deze opdracht "whoami" wordt gebruikt om de huidige HBase-gebruikersinformatie uit het HBase-cluster te retourneren.
Het geeft informatie zoals
- Groepen aanwezig in HBase
- De gebruikersinformatie, in dit geval bijvoorbeeld "hduser", vertegenwoordigt de gebruikersnaam zoals weergegeven in schermafdruk
TTL (Time To Live) - Kenmerk
In HBase kunnen kolomfamilies worden ingesteld op tijdwaarden in seconden met behulp van TTL. HBase verwijdert automatisch rijen zodra de vervaltijd is bereikt. Dit kenmerk is van toepassing op alle versies van een rij, zelfs de huidige versie.
De TTL-tijd die is gecodeerd in de HBase voor de rij, wordt opgegeven in UTC. Dit kenmerk wordt gebruikt met opdrachten voor tabelbeheer.
Belangrijke verschillen tussen TTL-verwerking en TTL's uit de kolomfamilie worden hieronder weergegeven
- Cel-TTL's worden uitgedrukt in milliseconden in plaats van seconden.
- Een cel-TTL kan de effectieve levensduur van een cel niet verlengen na een TTL-instelling op het niveau van de Kolomfamilie.
Tables Managements-opdrachten
Met deze opdrachten kunnen programmeurs tabellen en tabelschema's maken met rijen en kolomfamilies.
De volgende zijn tabelbeheeropdrachten
- Creëer
- Lijst
- Beschrijven
- Uitschakelen
- Disable_all
- Inschakelen
- Schakel alles in
- Laten vallen
- Drop_all
- Show_filters
- Wijzigen
- Alter_status
Laten we met een voorbeeld eens kijken naar het gebruik van verschillende commando's in HBase.
Creëer
Syntax: create,
Voorbeeld:-
hbase(main):001:0> create 'education' ,'guru99'0 rows(s) in 0.312 seconds=>Hbase::Table - education
In het bovenstaande voorbeeld wordt uitgelegd hoe u een tabel in HBase maakt met de opgegeven naam volgens het woordenboek of de specificaties volgens de kolomfamilie. Daarnaast kunnen we er ook enkele table-scope-attributen aan doorgeven.
Om te controleren of de tabel 'education' is aangemaakt of niet, moeten we het "list" -commando gebruiken zoals hieronder vermeld.
Lijst
Syntax:list
- Met de opdracht "Lijst" worden alle tabellen weergegeven die aanwezig of gemaakt zijn in HBase
- De uitvoer die in bovenstaande schermafbeelding wordt weergegeven, toont momenteel de bestaande tabellen in HBase
- Hier in deze schermafbeelding laat het zien dat er in totaal 8 tabellen aanwezig zijn in HBase
- We kunnen uitvoerwaarden uit tabellen filteren door optionele reguliere-expressieparameters door te geven
Beschrijven
Syntax:describe