Apache Tajo - Architecture

L'illustration suivante représente l'architecture d'Apache Tajo.

Le tableau suivant décrit chacun des composants en détail.

S.No. Composant et description
1

Client

Client soumet les instructions SQL au Tajo Master pour obtenir le résultat.

2

Master

Master est le démon principal. Il est responsable de la planification des requêtes et est le coordinateur des travailleurs.

3

Catalog server

Gère les descriptions de table et d'index. Il est intégré au démon Master. Le serveur de catalogue utilise Apache Derby comme couche de stockage et se connecte via le client JDBC.

4

Worker

Le nœud maître affecte la tâche aux nœuds de travail. TajoWorker traite les données. À mesure que le nombre de TajoWorkers augmente, la capacité de traitement augmente également de manière linéaire.

5

Query Master

Le maître Tajo affecte la requête au maître des requêtes. Le Query Master est responsable du contrôle d'un plan d'exécution distribué. Il lance le TaskRunner et planifie les tâches vers TaskRunner. Le rôle principal du Query Master est de surveiller les tâches en cours et de les signaler au nœud Master.

6

Node Managers

Gère la ressource du nœud worker. Il décide de l'attribution des requêtes au nœud.

sept

TaskRunner

Agit comme un moteur d'exécution de requêtes local. Il est utilisé pour exécuter et surveiller le processus de requête. Le TaskRunner traite une tâche à la fois.

Il a les trois attributs principaux suivants -

  • Plan logique - Un bloc d'exécution qui a créé la tâche.
  • Un fragment - un chemin d'entrée, une plage de décalage et un schéma.
  • Récupère les URI
8

Query Executor

Il est utilisé pour exécuter une requête.

9

Storage service

Connecte le stockage de données sous-jacent à Tajo.

Flux de travail

Tajo utilise Hadoop Distributed File System (HDFS) comme couche de stockage et dispose de son propre moteur d'exécution de requêtes au lieu du framework MapReduce. Un cluster Tajo se compose d'un nœud maître et de plusieurs nœuds de calcul sur les nœuds du cluster.

Le maître est principalement responsable de la planification des requêtes et le coordinateur des travailleurs. Le maître divise une requête en petites tâches et les affecte aux travailleurs. Chaque worker dispose d'un moteur de requête local qui exécute un graphe acyclique dirigé d'opérateurs physiques.

De plus, Tajo peut contrôler un flux de données distribué plus flexible que celui de MapReduce et prend en charge les techniques d'indexation.

L'interface Web de Tajo a les capacités suivantes -

  • Option pour savoir comment les requêtes soumises sont planifiées
  • Option pour savoir comment les requêtes sont réparties entre les nœuds
  • Option pour vérifier l'état du cluster et des nœuds