Distributed computing nel cloud: MapReduce

Principiante
Sviluppatore
Studente
Azure

Il framework MapReduce, presentato come innovazione rivoluzionaria nell'elaborazione di Big Data, è ormai ampiamente diffuso e continua a essere migliorato. Ecco come funziona.

Obiettivi di apprendimento

Contenuto del modulo:

  • Identificare il modello di programmazione distribuita sottostante di MapReduce
  • Illustrare come sfruttare il parallelismo dei dati con MapReduce
  • Identificare l'input e l'output delle attività di mapping e di riduzione
  • Definire l'elasticità delle attività ed evidenziarne l'importanza per la pianificazione efficace dei processi
  • Illustrare le strategie di pianificazione delle attività di mapping e di riduzione in Hadoop MapReduce
  • Descrivere gli elementi dell'architettura YARN e identificare il ruolo di ognuno
  • Riepilogare il ciclo di vita di un processo MapReduce in YARN
  • Confrontare e contrapporre le architetture e gli allocatori di risorse di YARN e della versione precedente di Hadoop MapReduce
  • Illustrare le differenze tra la pianificazione di processi e attività in YARN e nella versione precedente di Hadoop MapReduce

In collaborazione con il dott. Majd Sakr e la Carnegie Mellon University.

Prerequisiti

  • Comprendere cos'è il cloud computing, inclusi i modelli di servizio cloud e i provider di servizi cloud comuni
  • Conoscere le tecnologie che consentono il cloud computing
  • Comprendere le modalità di pagamento e fatturazione dei provider di servizi cloud per il cloud
  • Sapere che cosa sono i data center e perché esistono
  • Sapere come vengono configurati e attivati i data center e come ne viene effettuato il provisioning
  • Comprendere come viene effettuato il provisioning e calcolato il consumo delle risorse cloud
  • Avere familiarità con il concetto di virtualizzazione
  • Conoscere i diversi tipi di virtualizzazione
  • Comprendere la virtualizzazione della CPU
  • Comprendere la virtualizzazione della memoria
  • Comprendere la virtualizzazione delle funzioni di I/O
  • Conoscere i diversi tipi di dati e le modalità di archiviazione
  • Avere familiarità con i file system distribuiti e il loro funzionamento
  • Avere familiarità con i database NoSQL e l'archiviazione di oggetti, nonché con il loro funzionamento
  • Conoscere i concetti della programmazione distribuita e sapere perché è utile per il cloud