30 najpopularniejszych pytań do wywiadów Hbase & Odpowiedzi

Anonim

ściągnij PDF

Poniżej znajdują się często zadawane pytania w rozmowach z osobami odświeżającymi oraz doświadczonymi programistami HBase.

1) Wyjaśnij, co to jest Hbase?

Hbase to system zarządzania bazami danych zorientowany na kolumny, który działa na bazie HDFS (Hadoop Distribute File System). Hbase nie jest relacyjnym magazynem danych i nie obsługuje strukturalnego języka zapytań, takiego jak SQL.

W Hbase węzeł główny reguluje klastry i serwery regionów w celu przechowywania części tabel i obsługuje pracę na danych.

2) Wyjaśnij, dlaczego używać Hbase?

  • System przechowywania o dużej pojemności
  • Rozproszony projekt do obsługi dużych stołów
  • Sklepy zorientowane na kolumny
  • Skalowalne w poziomie
  • Wysoka wydajność i dostępność
  • Podstawowym celem Hbase są miliony kolumn, tysiące wersji i miliardy wierszy
  • W przeciwieństwie do HDFS (Hadoop Distribute File System) obsługuje losowe operacje CRUD w czasie rzeczywistym

3) Wspomnij, jakie są kluczowe składniki Hbase?

  • Zookeeper: Zajmuje się koordynacją między klientem a Hbase Maser
  • Hbase Master: Hbase Master monitoruje Region Server
  • RegionServer: RegionServer monitoruje region
  • Region: Zawiera w magazynie danych pamięci (MemStore) i Hfile.
  • Tabele katalogowe: Tabele katalogowe składają się z ROOT i META

4) Wyjaśnij, z czego składa się Hbase?

  • Hbase składa się z zestawu tabel
  • Każda tabela zawiera wiersze i kolumny, podobnie jak tradycyjna baza danych
  • Każda tabela musi zawierać element zdefiniowany jako klucz podstawowy
  • Kolumna Hbase oznacza atrybut obiektu

5) Podaj liczbę poleceń operacyjnych w Hbase?

Polecenie operacyjne w Hbases ma około pięciu typów

  • Otrzymać
  • Położyć
  • Kasować
  • Skanowanie
  • Przyrost

6) Wyjaśnij, czym jest WAL i Hlog w Hbase?

WAL (Write Ahead Log) jest podobny do dziennika BIN MySQL; rejestruje wszystkie zmiany zachodzące w danych. Jest to standardowy plik sekwencji firmy Hadoop i przechowuje pliki HLogkey. Klucze te składają się z kolejnego numeru oraz rzeczywistych danych i są używane do odtwarzania jeszcze nie utrwalonych danych po awarii serwera. Tak więc, w zamian za awarię serwera, WAL działa jako linia życia i odzyskuje utracone dane.

7) Kiedy należy używać Hbase?

  • Rozmiar danych jest ogromny: kiedy masz tony i miliony rekordów do obsługi
  • Całkowite przeprojektowanie: przenosząc RDBMS do Hbase, traktujesz to jako całkowite przeprojektowanie, a następnie zwykłą zmianę portów
  • Polecenia bez SQL: masz kilka funkcji, takich jak transakcje; łączenia wewnętrzne, wpisane kolumny itp.
  • Inwestycja w infrastrukturę: Musisz mieć wystarczającą liczbę klastrów, aby Hbase był naprawdę użyteczny

8) Co to są rodziny kolumn w Hbase?

Rodziny kolumn obejmują podstawową jednostkę fizycznego przechowywania w Hbase, do której są stosowane takie cechy, jak uciśnięcia.

9) Wyjaśnij, co to jest klucz wiersza?

Klucz wiersza jest definiowany przez aplikację. Ponieważ kombinowany klucz jest wstępnie ustalony przez rowkey, umożliwia aplikacji zdefiniowanie żądanej kolejności sortowania. Umożliwia również logiczne grupowanie komórek i zapewnia, że ​​wszystkie komórki z tym samym kluczem wiersza znajdują się na tym samym serwerze.

10) Wyjaśnij delecję w Hbase? Wspomnij, jakie są trzy rodzaje znaczników nagrobków w Hbase?

Po usunięciu komórki w Hbase dane nie są w rzeczywistości usuwane, ale zostaje ustawiony znacznik reliktu, dzięki czemu usunięte komórki są niewidoczne. Usunięte bazy Hbase są w rzeczywistości usuwane podczas kompaktowania.

Istnieją trzy rodzaje znaczników nagrobków:

  • Znacznik usuwania wersji: do usunięcia oznacza pojedynczą wersję kolumny
  • Znacznik usunięcia kolumny: do usunięcia oznacza wszystkie wersje kolumny
  • Znacznik usuwania rodziny: do usunięcia oznacza wszystkie kolumny w rodzinie kolumn

11) Wyjaśnij, w jaki sposób Hbase faktycznie usuwa wiersz?

W Hbase, cokolwiek napiszesz, zostanie zapisane z pamięci RAM na dysk, te zapisy na dysku są niezmienne, z wyjątkiem kompaktowania. Podczas procesu usuwania w Hbase znacznik usuwany jest w przypadku dużego procesu zagęszczania, natomiast w przypadku mniejszych - nie. W przypadku zwykłego usuwania skutkuje to znacznikiem usunięcia reliktu - te dane usuwania, które reprezentują, są usuwane podczas kompaktowania.

Ponadto, jeśli usuniesz dane i dodasz więcej danych, ale z sygnaturą czasową wcześniejszą niż znacznik czasu reliktu, dalsze Gets mogą być zamaskowane przez znacznik usuwania / reliktu, a zatem nie otrzymasz wstawionej wartości, dopóki nie nastąpi główne zagęszczenie.

12) Wyjaśnij, co się stanie, jeśli zmienisz rozmiar bloku rodziny kolumn w już zajętej bazie danych?

Kiedy zmieniasz rozmiar bloku rodziny kolumn, nowe dane zajmują nowy rozmiar bloku, podczas gdy stare dane pozostają w starym rozmiarze bloku. Podczas zagęszczania danych stare dane przyjmą nowy rozmiar bloku. Nowe pliki po opróżnieniu mają nowy rozmiar bloku, podczas gdy istniejące dane będą nadal poprawnie odczytywane. Wszystkie dane powinny zostać przekształcone do nowego rozmiaru bloku po kolejnym dużym zagęszczeniu.

13) Wspomnij o różnicy między Hbase a relacyjną bazą danych?

Hbase Relacyjna baza danych
  • Jest bez schematu
  • Jest to magazyn danych zorientowany na kolumny
  • Służy do przechowywania zdenormalizowanych danych
  • Zawiera rzadko zapełnione tabele
  • Automatyczne partycjonowanie odbywa się w Hbase
  • Jest to baza danych oparta na schemacie
  • Jest to magazyn danych zorientowany na wiersz
  • Służy do przechowywania znormalizowanych danych
  • Zawiera cienkie tabele
  • Nie ma takiego przepisu ani wbudowanej obsługi partycjonowania

14) Co to jest klasa HBaseFsck?

W HBase dostępna jest nazwa narzędzia o nazwie back, które jest implementowane przez klasę HBaseFsck. Oferuje kilka przełączników wiersza poleceń, które wpływają na jego zachowanie.

15) Jakie są główne kluczowe struktury HBase?

Klucz wiersza i klucz kolumny to dwie najważniejsze struktury kluczy używane w HBase

16) Omów, jak można używać filtrów w Apache HBase

Filtry w powłoce HBase. Został wprowadzony w Apache HBase 0.92, który pomaga przeprowadzać filtrowanie po stronie serwera w celu uzyskania dostępu do HBase przez powłokę HBase lub oszczędność.

17) HBase obsługuje strukturę składni, taką jak SQL, tak czy nie?

Nie, niestety obsługa SQL dla HBase nie jest obecnie dostępna. Jednak korzystając z Apache Phoenix możemy pobierać dane z HBase poprzez zapytania SQL.

18) Jakie jest znaczenie zagęszczania w HBase?

W czasie intensywnych zapisów przychodzących niemożliwe jest osiągnięcie optymalnej wydajności poprzez posiadanie jednego pliku na magazyn. HBase pomaga łączyć wszystkie te HFiles w celu zmniejszenia liczby nasion dysku dla każdego odczytu. Ten proces jest znany jako zagęszczanie w HBase.

19) Jak zaimplementujesz złączenia w HBase?

HBase, nie obsługuje bezpośrednio sprzężeń, ale używa zapytań łączących zadania MapReduce, można zaimplementować, pobierając dane za pomocą różnych tabel HBase.

20) Wyjaśnij JMX dotyczące HBSE

Java Management Extensions lub JMX to status eksportu aplikacji Java jest dla nich standardem.

21) Jakie jest zastosowanie MasterServer?

Serwer główny pomaga również przypisać region do serwera regionu. Pomaga również w radzeniu sobie z równoważeniem obciążenia, którego używamy MasterServer.

22) Zdefiniuj oszczędność terminu

Apache Thrift jest napisany w C ++. Zapewnia kompilatory schematów dla różnych języków programowania, takich jak C ++, Perl, PHP, Python, Ruby i nie tylko.

23) Po co używać klasy HColumnDescriptor?

Szczegóły dotyczące rodziny kolumn, takie jak ustawienia kompresji, liczba wersji, są przechowywane w pliku HColumnDescriptor.

24) Co to jest komórka w HBase?

Komórka w HBase jest najmniejszą jednostką w tabeli Hbase. Pomaga przechowywać dane w postaci krotki {wiersz, kolumna, wersja}

25) Co to jest filtr Blooma?

HBase obsługuje filtr Blooma, który pomaga poprawić ogólną przepustowość klastra. Filtr wykwitów HBase to efektywny przestrzennie mechanizm do testowania, czy HFile zawiera określoną komórkę wiersza lub wiersza-col.

26) Powiedz mi o typach operacji HBase?

Ans. Dwa typy operacji HBase to:

  • Przeczytaj operację
  • Operacja zapisu

27) Jakie jest zastosowanie HBase HMaster?

Główne obowiązki mistrza to:

  1. Koordynacja serwerów regionu
  2. Funkcje administracyjne

28) Jakiej techniki możesz użyć w HBase, aby uzyskać bezpośredni dostęp do HFile bez pomocy HBase?

Aby uzyskać bezpośredni dostęp do HFile bez użycia HBase, używamy metody HFile.main ().

29) Czy serwer regionu będzie znajdować się na wszystkich DataNodes?

Tak, serwery regionu działają na tych samych serwerach co DataNodes

30) Nazwij filtr, który akceptuje rozmiar strony jako parametr w HBase

Filtr o nazwie PageFilter akceptuje rozmiar strony jako parametr.

Ten dokument został utworzony za pomocą narzędzi do natychmiastowego konwertowania HTML.