Просмотр задач Hive в TEZ
Все задачи (jobs), которые вы запускаете в Hive, доступны в Tez-интерфейсе. Ниже описаны шаги использования интерфейса Tez:
-
Откройте страницу интерфейса Tez. Ссылку на страницу вы можете найти в разделе Обзор работы TEZ.
-
Запустите Hive shell на хосте, где установлен компонент Hive HiveServer2. Информация об использовании оболочки Hive доступна на странице Работа с таблицами Hive.
-
Создайте таблицу, используя оболочку 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) );
-
Вставьте данные в таблицу:
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');
-
Используйте интерфейс Tez, чтобы отследить процесс добавления данных:
Добавление данныхДобавление данных -
Проверьте добавленные записи, используя следующий запрос:
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. -
Выполните вычисления из раздела Пример вычислений Hive, чтобы увидеть данные о результате вычислений в интерфейсе Tez.
После выполнения задачи вся статистика доступна на странице задач.
Статистика задач
DAG Details
На этой вкладке вы можете увидеть подробную информацию о созданном ориентированном ациклическом графе (Directed Acyclic Graph, DAG). Вкладка Query Details содержит следующую информацию:
-
ID Hive-запроса;
-
пользователь, который выполнил запрос;
-
время начала и окончания выполнения запроса;
-
длительность выполнения запроса;
-
таблицы, которые были задействованы в выполнении запроса;
-
ID приложения;
-
ID графа;
-
ID сессии;
-
ID потока;
-
очередь, согласно которой был выполнен запрос.
DAG Counters
DAG-счетчики (counters) позволяют отслеживать прогресс операций, выполняемых в контексте одного графа. Счетчики используются для сбора статистических данных с целью улучшения контроля качества или диагностирования ошибок.
DAG-счетчики содержат следующую информацию:
-
имя группы;
-
имя счетчика;
-
значение счетчика.
Graphical View
Вкладка Graphical View отображает граф, созданный Hive, в виде схемы:
В данной схеме точки входа к вершинам 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.
При наведении мыши на элемент графа появляется детальная информация о вершинах, прогрессе и статусе, длительности и количестве задач, как показано на рисунке ниже.
Кликнув на элемент, вы увидите подробную статистику о вершине на нескольких вкладках.
All Vertices
На этой вкладке доступна вся информация о функциях Map и Reduce в виде таблицы. При клике на вершину, появится детальная информация о функциях Map и Reduce.
All Tasks
На этой вкладке представлена статистика о reducer-задачах. Используя ссылки, вы можете увидеть детальную информацию о задаче.
All Tasks Attempts
На этой вкладке доступна информация о всех попытках выполнения reducer-задач. Используя ссылки, вы можете увидеть детальную информацию о любой попытке, задаче или reducer.
Vertex Swimlane
Эта вкладка отображает граф с учетом времени, где вершинами являются map/reduce-задачи.
Каждая горизонтальная дорожка отображает время выполнения вершины. Вертикальные полосы отображают следующее:
-
инициализация вершины;
-
старт вершины;
-
время запуска первой задачи;
-
время окончания последней задачи;
-
время завершения выполнения вершины.
При наведении мыши на вертикальную полосу виден текущий этап выполнения вершины и время.
Чтобы получить дополнительную информацию о вершине, наведите мышь на произвольное место на горизонтальной полосе.
Следующая информация отражает затраченное на задачу время, и может быть полезна для отладки запросов:
-
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 и обрабатывает данные.
Вертикальные линии, соединяющие две вершины, означают зависимость между ними.
В данном примере, Map 6
зависит от результата выполнения Map 10
.
Map 6
закончит выполнение только после успешной отработки Map 10
.
Подобным образом Reducer 8
ожидает окончания работы Reducer 7
прежде чем закончить выполнение задачи.