2015-07-17 15 views
7

Jako strona GitHub z tez mówi tez jest bardzo prosta, a przy jego sercu ma tylko dwa składniki:How wordCount mapZmniejsz liczbę zleceń, uruchom na klastrze przędzy hadoop z apache tez?

  1. Silnik rurociągu przetwarzania danych oraz

  2. mistrza do przetwarzania danych aplikacja, gdzie po jednym razem można umieścić dowolny przetwarzania danych „zadania” opisane powyżej w zadanie-DAG

Dobrze jest, w jaki sposób istniejące mapreduce pracy jak WordCount że istnieje moje pierwsze pytanie w tez-examples.jar, konwertowane na task-DAG? gdzie? czy oni nie ...?

i moje drugie i ważniejsze pytanie dotyczy tej części:

„zadanie” Każdy w TEZ ma następujący:

  1. Wejście do konsumpcji pary klucz/wartość z.
  2. Procesor do ich przetworzenia.
  3. Dane wyjściowe do zebrania przetworzonych par klucz/wartość.

Kto jest odpowiedzialny za dzielenie danych wejściowych między zadaniami tez? Czy jest to kod, który dostarcza użytkownik czy jest to Yarn (menedżer zasobów), czy nawet sam Tez?

Pytanie jest takie samo dla fazy wyjściowej. góry dzięki

Odpowiedz

3

Aby odpowiedzieć na pierwsze pytanie w sprawie przekształcania pracy MapReduce do Tez DAG:

Każda praca MapReduce może być traktowany jednym DAG 2 wierzchołków (etapami). Pierwszy wierzchołek to faza mapy i jest połączony z wierzchołkiem w dół za pomocą krawędzi Shuffle.

Istnieją 2 sposoby pracy MR mogą być uruchamiane na TEZ:

  1. Jednym ze sposobów jest pisanie natywną 2-stopniowy DAG przy użyciu API tez bezpośrednio. To jest obecnie obecne w tez-przykłady.
  2. Drugim jest użycie samych interfejsów API MapReduce i użycie trybu przędz-tez. W tym scenariuszu istnieje warstwa, która przechwytuje przekazanie MR, a zamiast MR, tłumaczy zlecenie MR na 2-etapową Tez DAG i wykonuje DAG w środowisku wykonawczym Tez.

do przenoszenia danych związanych z pytań, które trzeba:

Użytkownik zapewnia logikę na zrozumieniu danych do odczytu i jak je podzielić. Tez bierze każdy podział danych i przejmuje odpowiedzialność za przypisanie podziału lub zestawu podziałów do danego zadania.

Struktura Tez kontroluje generowanie i przemieszczanie danych, tj. Gdzie generować dane między etapami pośrednimi i jak przenosić dane między 2 wierzchołkami/etapami. Nie kontroluje jednak podstawowej zawartości/struktury danych, logiki partycjonowania lub serializacji dostarczanej przez wtyczki użytkownika.

Powyższy widok to tylko widok wysokiego poziomu z dodatkowymi zawiłościami. Otrzymasz bardziej szczegółowe odpowiedzi, publikując konkretne pytania na liście rozwijanej (http://tez.apache.org/mail-lists.html)

+0

jeśli tez nie kontroluje podstawowej struktury danych, partycjonowania ... to co to znaczy mieć krawędzie? W jaki sposób odbywa się przygotowywanie danych dla wierzchołków? – SonOfSun

Powiązane problemy