Top 30 Hbase-sollicitatievragen & Antwoorden

Anonim

Download PDF

Hieronder volgen veelgestelde vragen in interviews voor zowel eerstejaarsstudenten als ervaren HBase-ontwikkelaars.

1) Leg uit wat Hbase is?

Hbase is een kolomgeoriënteerd databasebeheersysteem dat bovenop HDFS (Hadoop Distribute File System) draait. Hbase is geen relationele gegevensopslag en ondersteunt geen gestructureerde querytaal zoals SQL.

In Hbase regelt een masterknooppunt de cluster- en regioservers om delen van de tabellen op te slaan en voert het werk aan de gegevens uit.

2) Leg uit waarom u Hbase moet gebruiken?

  • Opslagsysteem met hoge capaciteit
  • Gedistribueerd ontwerp voor grote tafels
  • Kolomgeoriënteerde winkels
  • Horizontaal schaalbaar
  • Hoge prestaties en beschikbaarheid
  • Het basisdoel van Hbase is miljoenen kolommen, duizenden versies en miljarden rijen
  • In tegenstelling tot HDFS (Hadoop Distribute File System), ondersteunt het willekeurige real-time CRUD-bewerkingen

3) Noem wat de belangrijkste componenten van Hbase zijn?

  • Zookeeper: Het doet het coördinatiewerk tussen de klant en Hbase Maser
  • Hbase Master: Hbase Master bewaakt de regioserver
  • RegionServer: RegionServer bewaakt de regio
  • Regio: Het bevat in het geheugen datastore (MemStore) en Hfile.
  • Catalogustabellen: Catalogustabellen bestaan ​​uit ROOT en META

4) Leg uit waaruit Hbase bestaat?

  • Hbase bestaat uit een set tabellen
  • En elke tabel bevat rijen en kolommen zoals een traditionele database
  • Elke tabel moet een element bevatten dat is gedefinieerd als een primaire sleutel
  • Hbase-kolom geeft een attribuut van een object aan

5) Noem hoeveel operationele commando's in Hbase?

Operationeel commando in Hbases is ongeveer vijf typen

  • Krijgen
  • Zetten
  • Verwijderen
  • Scannen
  • Toename

6) Leg uit wat WAL en Hlog is in Hbase?

WAL (Write Ahead Log) is vergelijkbaar met MySQL BIN-log; het registreert alle veranderingen die optreden in de gegevens. Het is een standaardsequentiebestand van Hadoop en het slaat HLogkey's op. Deze sleutels bestaan ​​uit een volgnummer en actuele gegevens en worden gebruikt om nog niet persistente gegevens af te spelen na een servercrash. Dus in contanten van serverstoring werkt WAL als een levenslijn en haalt de verloren gegevens op.

7) Wanneer moet u Hbase gebruiken?

  • De gegevensomvang is enorm: wanneer u tonnen en miljoenen records moet beheren
  • Volledig herontwerp: wanneer u RDBMS naar Hbase verplaatst, beschouwt u het als een compleet herontwerp en hoeft u alleen maar de poorten te wijzigen
  • SQL-loze opdrachten: je hebt verschillende functies, zoals transacties; inner joins, getypte kolommen, etc.
  • Infrastructuurinvestering: u moet voldoende cluster hebben om Hbase echt nuttig te laten zijn

8) Wat zijn kolomfamilies in Hbase?

Kolomfamilies vormen de basiseenheid van fysieke opslag in Hbase waarop functies zoals compressies worden toegepast.

9) Leg uit wat de rijtoets is?

De rijsleutel wordt gedefinieerd door de applicatie. Omdat de gecombineerde sleutel vooraf is vastgelegd met de rowkey, kan de toepassing de gewenste sorteervolgorde definiëren. Het maakt ook een logische groepering van cellen mogelijk en zorgt ervoor dat alle cellen met dezelfde rowkey zich op dezelfde server bevinden.

10) Leg de verwijdering in Hbase uit? Noem wat zijn de drie soorten grafsteenmarkeringen in Hbase?

Wanneer u de cel in Hbase verwijdert, worden de gegevens niet daadwerkelijk verwijderd, maar wordt er een grafsteenmarkering geplaatst, waardoor de verwijderde cellen onzichtbaar worden. Hbase die is verwijderd, wordt feitelijk verwijderd tijdens verdichtingen.

Er zijn drie soorten grafsteenmarkeringen:

  • Versie-verwijdermarkering: voor verwijdering markeert het een enkele versie van een kolom
  • Kolomverwijderingsmarkering: voor verwijdering worden alle versies van een kolom gemarkeerd
  • Family delete marker: voor verwijdering markeert het alle kolommen voor een kolomfamilie

11) Leg uit hoe Hbase eigenlijk een rij verwijdert?

In Hbase wordt alles wat je schrijft opgeslagen van RAM naar schijf, deze schrijfbewerkingen op de schijf zijn onveranderlijk, behoudens compactering. Tijdens het verwijderingsproces in Hbase verwijdert een groot verdichtingsproces de markering, terwijl dat bij kleine verdichtingen niet gebeurt. Bij normale verwijderingen resulteert dit in een verwijderde grafsteenmarkering - deze verwijderingsgegevens die ze vertegenwoordigen, worden verwijderd tijdens het verdichten.

Als u gegevens verwijdert en meer gegevens toevoegt, maar met een eerdere tijdstempel dan de tombstone-tijdstempel, kunnen verdere Gets worden gemaskeerd door de delete / tombstone-markering en daarom ontvangt u de ingevoegde waarde pas na de grote verdichting.

12) Leg uit wat er gebeurt als u de blokgrootte van een kolomfamilie op een reeds bezette database wijzigt?

Wanneer u de blokgrootte van de kolomfamilie wijzigt, bezetten de nieuwe gegevens de nieuwe blokgrootte terwijl de oude gegevens binnen de oude blokgrootte blijven. Tijdens het comprimeren van gegevens nemen oude gegevens de nieuwe blokgrootte aan. Nieuwe bestanden krijgen bij het leegmaken een nieuwe blokgrootte, terwijl bestaande gegevens correct blijven worden gelezen. Alle gegevens moeten worden getransformeerd naar de nieuwe blokgrootte, na de volgende grote verdichting.

13) Noem het verschil tussen Hbase en Relational Database?

Hbase Relationele database
  • Het is schemaloos
  • Het is een kolomgeoriënteerde gegevensopslag
  • Het wordt gebruikt om gede-genormaliseerde gegevens op te slaan
  • Het bevat dunbevolkte tabellen
  • Geautomatiseerde partitionering gebeurt in Hbase
  • Het is een op schema's gebaseerde database
  • Het is een rijgeoriënteerde gegevensopslag
  • Het wordt gebruikt om genormaliseerde gegevens op te slaan
  • Het bevat dunne tabellen
  • Er is geen dergelijke voorziening of ingebouwde ondersteuning voor partitionering

14) Wat is de HBaseFsck-klasse?

Er is een toolnaam genaamd back beschikbaar in HBase, die wordt geïmplementeerd door de HBaseFsck-klasse. Het biedt verschillende opdrachtregelopties die het gedrag ervan beïnvloeden.

15) Wat zijn de belangrijkste sleutelstructuren van HBase?

Rijsleutel en kolomsleutel zijn de twee belangrijkste sleutelstructuren die in HBase worden gebruikt

16) Bespreek hoe u filters in Apache HBase kunt gebruiken

Filters in HBase-schaal. Het werd geïntroduceerd in Apache HBase 0.92, waarmee u filtering aan de serverzijde kunt uitvoeren voor toegang tot HBase via HBase-shell of thrift.

17) HBase ondersteunt syntaxisstructuur zoals SQL ja of nee?

Nee, helaas is SQL-ondersteuning voor HBase momenteel niet beschikbaar. Door Apache Phoenix te gebruiken, kunnen we echter gegevens uit HBase ophalen via SQL-query's.

18) Wat is de betekenis van verdichting in HBase?

Op het moment van zware inkomende schrijfbewerkingen is het onmogelijk om optimale prestaties te bereiken door één bestand per winkel te hebben. HBase helpt u om al deze HFiles te combineren om het aantal schijfzaden voor elke leesbewerking te verminderen. Dit proces staat bekend als verdichting in HBase.

19) Hoe implementeert u joins in HBase?

HBase ondersteunt joins niet rechtstreeks, maar gebruikt MapReduce-taken. Join-query's kunnen worden geïmplementeerd door gegevens op te halen met behulp van verschillende HBase-tabellen.

20) Leg JMX uit over HBSE

Java Management Extensions of JMX is een exportstatus van Java-applicaties en is de standaard voor hen.

21) Wat is het gebruik van MasterServer?

Master server helpt u ook om een ​​regio aan de regioserver toe te wijzen. Het helpt u ook bij het afhandelen van de taakverdeling die we gebruiken met de MasterServer.

22) Definieer de term Thrift

Apache Thrift is geschreven in C ++. Het biedt schemacompilers voor verschillende programmeertalen zoals C ++, Perl, PHP, Python, Ruby en meer.

23) Waarom de klasse HColumnDescriptor gebruiken?

De details met betrekking tot de kolomfamilie, zoals compressie-instellingen, aantal versies, worden opgeslagen in HColumnDescriptor.

24) Wat is een cel in HBase?

Een cel in HBase is de kleinste eenheid van een Hbase-tabel. Het helpt u om een ​​stuk gegevens vast te houden in de vorm van een tupel {rij, kolom, versie}

25) Wat is een Bloom-filter?

HBase ondersteunt Bloom Filter en helpt u de algehele doorvoer van het cluster te verbeteren. Een HBase Bloom-filter is een ruimtebesparend mechanisme om te testen of een HFile een bepaalde rij- of rij-colcel bevat.

26) Vertel me over de soorten HBase-bewerkingen?

Ans. Twee soorten HBase-bewerkingen zijn:

  • Lees operatie
  • Schrijf operatie

27) Wat is het gebruik van HBase HMaster?

De belangrijkste verantwoordelijkheden van een master zijn:

  1. Coördineren van de regioservers
  2. Admin-functies

28) Welke techniek kunt u in HBase gebruiken om rechtstreeks toegang te krijgen tot HFile zonder de hulp van HBase?

Om rechtstreeks toegang te krijgen tot HFile zonder HBase te gebruiken, gebruiken we de methode HFile.main ().

29) Kan de regioserver zich op alle DataNodes bevinden?

Ja, regioservers draaien op dezelfde servers als DataNodes

30) Geef het filter een naam dat de paginagrootte accepteert als parameter in HBase

Een filter met de naam PageFilter accepteert de paginagrootte als parameter.

Dit document is samengesteld met de instant HTML-conversietools.