Просмотр задач Hive в TEZ

Все задачи (jobs), которые вы запускаете в Hive, доступны в Tez-интерфейсе. Ниже описаны шаги использования интерфейса Tez:

  1. Откройте страницу интерфейса Tez. Ссылку на страницу вы можете найти в разделе Обзор работы TEZ.

  2. Запустите Hive shell на хосте, где установлен компонент Hive HiveServer2. Информация об использовании оболочки Hive доступна на странице Работа с таблицами Hive.

  3. Создайте таблицу, используя оболочку Hive:

    CREATE TABLE customers
    ( customer_id int NOT NULL,
      customer_name char(50) NOT NULL,
      address char(50),
      city char(50),
      state char(25),
      zip_code char(10)
    );
  4. Вставьте данные в таблицу:

    INSERT INTO TABLE customers VALUES
    (1,'John Smith','Holliwood blvd','Los Angeles','CA','435267'),
    (2,'Alice Brown','42 st','New York','NY','876234'),
    (3,'Maria Jensen','Paris drv','Chicago','IL','293752');
  5. Используйте интерфейс Tez, чтобы отследить процесс добавления данных:

    tez running dark
    Добавление данных
    tez running light
    Добавление данных
  6. Проверьте добавленные записи, используя следующий запрос:

    SELECT *
    FROM customers
    WHERE state = 'CA'
    ORDER BY customer_id ASC;

    Вывод имеет сдедующий вид:

    Query ID = aai_20211215195428_e60e1dc5-f6f3-4c5e-896a-6e56407845c1
    Total jobs = 1
    Launching Job 1 out of 1
    Status: Running (Executing on YARN cluster with App id application_1639550101374_0007)
    
    ----------------------------------------------------------------------------------------------
            VERTICES      MODE        STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
    ----------------------------------------------------------------------------------------------
    Map 1 .......... container     SUCCEEDED      1          1        0        0       0       0
    Reducer 2 ...... container     SUCCEEDED      1          1        0        0       0       0
    ----------------------------------------------------------------------------------------------
    VERTICES: 02/02  [==========================>>] 100%  ELAPSED TIME: 5,38 s
    ----------------------------------------------------------------------------------------------
    OK
    1	John Smith                                        	Holliwood blvd                                    	Los Angeles                                       	CA                       	435267
    4	Peter Stormik                                     	International blv                                 	San Francisco                                     	CA                       	231987
    5	Daniel Morrowetz                                  	Bond rd                                           	Elk Grove                                         	CA                       	390817
    Time taken: 6.447 seconds, Fetched: 3 row(s)

    Задачи SELECT и INSERT отображаются в интерфейсе Tez.

  7. Выполните вычисления из раздела Пример вычислений Hive, чтобы увидеть данные о результате вычислений в интерфейсе Tez.

После выполнения задачи вся статистика доступна на странице задач.

Статистика задач

DAG Details

На этой вкладке вы можете увидеть подробную информацию о созданном ориентированном ациклическом графе (Directed Acyclic Graph, DAG). Вкладка Query Details содержит следующую информацию:

  • ID Hive-запроса;

  • пользователь, который выполнил запрос;

  • время начала и окончания выполнения запроса;

  • длительность выполнения запроса;

  • таблицы, которые были задействованы в выполнении запроса;

  • ID приложения;

  • ID графа;

  • ID сессии;

  • ID потока;

  • очередь, согласно которой был выполнен запрос.

dag details dark
DAG Details
dag details light
DAG Details

DAG Counters

DAG-счетчики (counters) позволяют отслеживать прогресс операций, выполняемых в контексте одного графа. Счетчики используются для сбора статистических данных с целью улучшения контроля качества или диагностирования ошибок.

DAG-счетчики содержат следующую информацию:

  • имя группы;

  • имя счетчика;

  • значение счетчика.

dag counters dark
DAG Counters
dag counters light
DAG Counters

Graphical View

Вкладка Graphical View отображает граф, созданный Hive, в виде схемы:

dag graphical dark
Graphical View
dag graphical light
Graphical View

В данной схеме точки входа к вершинам Map 10, Map 6, Map 4 и Map 1 — это таблицы, отображаемые в виде зеленых прямоугольников. Map 6 зависит от результатов, производимых функцией Map 10. Затем результат работы Map 6 передается в виде входных данных на Reducer 7. После того, как Reducer 7 отработал, результаты передаются на Reducer 8, а затем — на Reducer 9. Reducer 3 является последней вершиной в графе.

После того, как Reducer 3 успешно отработал, вывод запроса записывается в HDFS.

Есть несколько опций, чтобы изменить вид графа. Используя Toggle source/sink visibility, вы можете скрыть входные и выходные узлы графа, так чтобы отображались лишь вершины с задачами. Чтобы изменить ориентацию, используйте кнопку Toggle orientation.

При наведении мыши на элемент графа появляется детальная информация о вершинах, прогрессе и статусе, длительности и количестве задач, как показано на рисунке ниже.

dag element info dark
Информация об элементе
dag element info light
Информация об элементе

Кликнув на элемент, вы увидите подробную статистику о вершине на нескольких вкладках.

dag vertex info dark
Vertex details
dag vertex info light
Vertex details

All Vertices

На этой вкладке доступна вся информация о функциях Map и Reduce в виде таблицы. При клике на вершину, появится детальная информация о функциях Map и Reduce.

dag all vertices dark
All Vertices
dag all vertices light
All Vertices

All Tasks

На этой вкладке представлена статистика о reducer-задачах. Используя ссылки, вы можете увидеть детальную информацию о задаче.

all tasks dark
All Tasks
all tasks light
All Tasks

All Tasks Attempts

На этой вкладке доступна информация о всех попытках выполнения reducer-задач. Используя ссылки, вы можете увидеть детальную информацию о любой попытке, задаче или reducer.

all tasks attempts dark
All Tasks Attempts
all tasks attempts light
All Tasks Attempts

Vertex Swimlane

Эта вкладка отображает граф с учетом времени, где вершинами являются map/reduce-задачи.

vertex swimlane dark
Vertex Swimlane
vertex swimlane light
Vertex Swimlane

Каждая горизонтальная дорожка отображает время выполнения вершины. Вертикальные полосы отображают следующее:

  • инициализация вершины;

  • старт вершины;

  • время запуска первой задачи;

  • время окончания последней задачи;

  • время завершения выполнения вершины.

При наведении мыши на вертикальную полосу виден текущий этап выполнения вершины и время.

Чтобы получить дополнительную информацию о вершине, наведите мышь на произвольное место на горизонтальной полосе.

vertex swimlane info dark
Информация о вершине
vertex swimlane info light
Информация о вершине

Следующая информация отражает затраченное на задачу время, и может быть полезна для отладки запросов:

  • Vertex ID — уникальный идентификатор вершины.

  • Status — статус запроса.

  • Progress — прогресс выполнения запроса, соответствующего вершине; обычно полезно для запросов, выполняющихся долгое время.

  • Start time — время запуска определенной вершины.

  • End time — время окончания работы определенной вершины.

  • Duration — время, затраченное вершиной на выполнение задачи (в миллисекундах).

  • Description — описание вершины.

  • First task start time — время начала выполнения первой задачи.

  • Tasks — общее количество задач, выполненных в определенной вершине.

  • Succeeded tasks — количество успешно выполненных задач вершины.

  • Running tasks — активные задачи.

  • Pending tasks — задачи, ожидающие очереди.

  • Processor class — Hive-процессор для Tez, который формирует вершины в Tez и обрабатывает данные.

Вертикальные линии, соединяющие две вершины, означают зависимость между ними.

vertex swimlane depend dark
Зависимости между вершинами
vertex swimlane depend light
Зависимости между вершинами

В данном примере, Map 6 зависит от результата выполнения Map 10. Map 6 закончит выполнение только после успешной отработки Map 10. Подобным образом Reducer 8 ожидает окончания работы Reducer 7 прежде чем закончить выполнение задачи.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней