HBase
 sql >> Baza danych >  >> NoSQL >> HBase

Liczniki Hadoop i typy liczników w MapReduce

W naszym poprzednim Hadoop na blogu dostarczyliśmy Ci szczegółowy opis Hadoop InputFormat i Format wyjściowy . Teraz omówimy szczegółowo liczniki Hadoop. W tym samouczku Hadoop omówimy, czym są liczniki MapReduce, jakie są ich role.

Na koniec omówimy również rodzaje liczników w Hadoop MapReduce. Takie jak licznik zadań MapReduce, liczniki systemu plików, liczniki FileInputFormat,  Liczniki FileOutputFormat, liczniki zadań w MapReduce, liczniki dynamiczne w Hadoop.

Hadoop MapReduce

Zanim zaczniemy z licznikami Hadoop, najpierw dowiedzmy się, czym jest Hadoop MapReduce?

MapReduce jest warstwą przetwarzania danych Hadoop. Przetwarza duże ustrukturyzowane i nieustrukturyzowane dane przechowywane w HDFS. MapReduce przetwarza również równolegle ogromne ilości danych. Dokonuje tego poprzez podzielenie zadania (przesłanej pracy) na zestaw niezależnych zadań (pod-praca). W Hadoop MapReduce działa, dzieląc przetwarzanie na fazy: Mapowanie i Zmniejsz .

  • Faza mapy- Jest to pierwsza faza procesu przetwarzania danych. W tej fazie określamy całą złożoną logikę/reguły biznesowe/kosztowny kod.
  • Faza redukowania- To druga faza przetwarzania. W tej fazie określamy lekkie przetwarzanie, takie jak agregacja/sumowanie.

Co to są liczniki Hadoop?

Liczniki w Hadoop są użytecznym kanałem gromadzenia statystyk dotyczących zadania MapReduce. Podobnie jak w przypadku kontroli jakości lub na poziomie aplikacji. Liczniki są również przydatne do diagnozowania problemów.

Counter reprezentuje globalne liczniki Apache Hadoop, zdefiniowane przez platformę MapReduce. Każdy licznik w MapReduce ma nazwę „Enum”. Ma też długą wartość.

Liczniki Hadoop potwierdzają, że:

  • Czyta i zapisuje prawidłową liczbę bajtów.
  • Uruchomił i pomyślnie uruchomił prawidłową liczbę zadań, czy nie.
  • Liczniki potwierdzają również, że ilość zużytego procesora i pamięci jest odpowiednia dla naszego zadania i węzłów klastra, czy nie.

Rodzaje liczników w MapReduce

2 rodzaje liczników MapReduce to:

  • Wbudowane liczniki
  • Liczniki zdefiniowane przez użytkownika/liczniki niestandardowe

1. Wbudowane liczniki w Hadoop MapReduce

Apache Hadoop utrzymuje kilka wbudowanych liczników dla każdego zadania. Te liczniki raportują różne metryki. Istnieją liczniki liczby bajtów i rekordów. Co pozwala nam potwierdzić, że oczekiwana ilość danych wejściowych jest zużywana i oczekiwana ilość danych wyjściowych jest produkowana.

Liczniki Hadoop są również podzielone na grupy. Istnieje kilka grup wbudowanych liczników. Każda grupa zawiera również liczniki zadań lub licznik zadań.

Kilka grup wbudowanych liczników w Hadoop to:

a) Licznik zadań MapReduce

Licznik zadań zbiera określone informacje o zadaniach w czasie ich wykonywania. Obejmuje to liczbę odczytanych i zapisanych rekordów.

Na przykład licznik MAP_INPUT_RECORDS jest licznikiem zadań. Liczy również rekordy wejściowe odczytane przez każde zadanie mapy.

b) Liczniki systemu plików

Ten licznik zbiera informacje, takie jak liczba bajtów odczytanych i zapisanych przez system plików. Nazwa i opis liczników systemu plików są następujące:

  • Przeczytane bajty systemu plików – Liczba bajtów odczytanych przez system plików.
  • Zapisane bajty FileSystem – Liczba bajtów zapisanych w systemie plików.
c) Liczniki FileInputFormat

Liczniki te zbierają również informacje o liczbie bajtów odczytanych przez zadania mapy za pośrednictwem FileInputFormat.

d) Liczniki FileOutputFormat

Liczniki te zbierają również informacje o liczbie bajtów zapisanych przez zadania mapy (dla zadań zawierających tylko mapę) lub redukują zadania za pomocą FileOutputFormat.

e) Liczniki zadań w MapReduce

Licznik zadań mierzy statystyki na poziomie zadania. Nie mierzy wartości, które zmieniają się podczas wykonywania zadania.

Na przykład TOTAL_LAUNCHED_MAPS policz zadania na mapie, które zostały uruchomione w trakcie zadania. Master aplikacji mierzy również liczniki zadań.

Nie muszą więc być przesyłane przez sieć, w przeciwieństwie do wszystkich innych liczników, w tym liczników zdefiniowanych przez użytkownika.

2. Liczniki zdefiniowane przez użytkownika lub liczniki niestandardowe w Hadoop MapReduce

Oprócz wbudowanych liczników Hadoop MapReduce umożliwia kodowi użytkownika zdefiniowanie zestawu liczników. Następnie zwiększa je zgodnie z potrzebami w mapperze lub reduktor . Podobnie jak w Javie, aby zdefiniować liczniki, których używa, „enum ”.

Praca może definiować dowolną liczbę „wyliczeń”. Każdy z dowolną liczbą pól. Nazwa wyliczenia to nazwa grupy. Pola wyliczenia to nazwy liczników.

a) Dynamiczne liczniki w Hadoop

Pola wyliczenia Java są definiowane w czasie kompilacji. Dlatego nie możemy tworzyć nowych liczników w czasie wykonywania za pomocą wyliczeń. Dlatego używamy liczników dynamicznych do tworzenia nowych liczników w czasie wykonywania. Ale dynamiczny licznik nie jest zdefiniowany w czasie kompilacji.

Wniosek

Dlatego liczniki sprawdzają, czy odczytał i zapisał poprawną liczbę bajtów. Licznik mierzy również postęp lub liczbę operacji wykonywanych w ramach zadania MapReduce.

Hadoop utrzymuje również wbudowane liczniki i liczniki zdefiniowane przez użytkownika, aby mierzyć postępy w zadaniu MapReduce.

Mam nadzieję, że ten blog Ci pomógł. Jeśli masz jakiekolwiek pytania dotyczące licznika Hadoop, zostaw komentarz w sekcji poniżej.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. How-to:Dodaj Cloudera Search do swojego klastra za pomocą Cloudera Manager

  2. Samouczek HDFS – pełne wprowadzenie do HDFS dla początkujących

  3. Różnica między InputSplit a blokami w Hadoop

  4. Instrukcje:dołączanie bibliotek innych firm do zadania MapReduce

  5. Wprowadzenie do rozproszonej pamięci podręcznej w Hadoop