Tez
Tez é a mais recente estrutura de computação de código aberto do Apache que suporta jobs de Grafo Direcionado Acíclico (DAG). Ele pode converter vários jobs dependentes em um job, melhorando significativamente o desempenho dos jobs de DAG.
O MRS usa o Tez como mecanismo de execução padrão do Hive. Tez supera notavelmente o mecanismo de computação do MapReduce original em termos de eficiência de execução.
Para detalhes sobre Tez, veja https://tez.apache.org/.
Relação entre Tez e MapReduce
Tez usa um DAG para organizar tarefas de MapReduce. No DAG, um nó é um RDD e uma borda indica uma operação no RDD. A ideia central é dividir ainda mais as tarefas Map e Reduce. Uma tarefa Map é dividida nas tarefas Input-Processor-Sort-Merge-Output, e a tarefa Reduce é dividida nas tarefas Input-Shuffle-Sort-Merge-Process-output. Tez reagrupa de forma flexível várias pequenas tarefas para formar um grande job de DAG.

Uma tarefa de Hive no MapReduce contém várias tarefas do MapReduce. Cada tarefa armazena resultados intermediários no HDFS. O redutor na etapa anterior fornece dados para o mapeador na próxima etapa. Uma tarefa de Hive on Tez pode concluir o mesmo processo de processamento em apenas uma tarefa, e o HDFS não precisa ser acessado entre as tarefas.
Relação entre Tez e Yarn
Tez é uma estrutura de computação executando no Yarn. O ambiente de tempo de execução consiste em ResourceManager e ApplicationMaster do Yarn. O ResourceManager é um novo sistema de gerenciamento de recursos, e o ApplicationMaster é responsável por cortar dados de jobs do MapReduce, atribuir tarefas, solicitar recursos, agendar tarefas e tolerar falhas. Além disso, TezUI depende do TimelineServer fornecido pelo Yarn para exibir o processo de execução das tarefas do Tez.