Apache Tajo - Architettura

La figura seguente mostra l'architettura di Apache Tajo.

La tabella seguente descrive in dettaglio ciascuno dei componenti.

S.No. Componente e descrizione
1

Client

Client invia le istruzioni SQL al Tajo Master per ottenere il risultato.

2

Master

Master è il demone principale. È responsabile della pianificazione delle query ed è il coordinatore dei lavoratori.

3

Catalog server

Mantiene la tabella e le descrizioni dell'indice. È incorporato nel daemon Master. Il server di catalogo utilizza Apache Derby come livello di archiviazione e si connette tramite il client JDBC.

4

Worker

Il nodo principale assegna l'attività ai nodi di lavoro. TajoWorker elabora i dati. Con l'aumentare del numero di TajoWorker, anche la capacità di elaborazione aumenta linearmente.

5

Query Master

Il master Tajo assegna la query al master delle query. Query Master è responsabile del controllo di un piano di esecuzione distribuito. Avvia TaskRunner e pianifica le attività su TaskRunner. Il ruolo principale del Query Master è monitorare le attività in esecuzione e segnalarle al nodo Master.

6

Node Managers

Gestisce la risorsa del nodo di lavoro. Decide di allocare le richieste al nodo.

7

TaskRunner

Agisce come un motore di esecuzione di query locale. Viene utilizzato per eseguire e monitorare il processo di query. Il TaskRunner elabora un'attività alla volta.

Ha i seguenti tre attributi principali:

  • Piano logico: un blocco di esecuzione che ha creato l'attività.
  • Un frammento: un percorso di input, un intervallo di offset e uno schema.
  • Recupera gli URI
8

Query Executor

Viene utilizzato per eseguire una query.

9

Storage service

Collega l'archivio dati sottostante a Tajo.

Flusso di lavoro

Tajo utilizza Hadoop Distributed File System (HDFS) come livello di archiviazione e ha il proprio motore di esecuzione delle query invece del framework MapReduce. Un cluster Tajo è costituito da un nodo master e un numero di worker sui nodi del cluster.

Il master è principalmente responsabile della pianificazione delle query e il coordinatore dei lavoratori. Il master divide una query in piccole attività e assegna ai lavoratori. Ogni worker ha un motore di query locale che esegue un grafico aciclico diretto di operatori fisici.

Inoltre, Tajo può controllare il flusso di dati distribuito in modo più flessibile di quello di MapReduce e supporta le tecniche di indicizzazione.

L'interfaccia basata sul web di Tajo ha le seguenti capacità:

  • Opzione per scoprire come sono pianificate le query inviate
  • Opzione per trovare la modalità di distribuzione delle query tra i nodi
  • Possibilità di controllare lo stato del cluster e dei nodi