Big Data con noSQL e Hadoop: dalla teoria alla pratica

Advanced Mastering con Javascript/jQuery
28 marzo 2017
AngularJS e NodeJS – Router, autenticazione e comunicazione con il server
14 aprile 2017
Big Data

Big Data con noSQL e Hadoop: dalla teoria alla pratica

Cosa sono i Big Data? Doug Laney, ricercatore di Gartner, ha descritto i Big Data come “Dati il cui ordine di grandezza è maggiore di quelli a cui siete abituati. L’amministratore delegato di IBM, Virginia Rometty, stima che Entro il 2020 ci saranno 5.200 gigabytes di dati per ogni individuo sul pianeta. ll corso introduce l’argomento Big Data fornendo una conoscenza pratica dei tool e delle tecniche più usate per gestirli, ed include una sezione pratica focalizzata all’uso del framework Hadoop e MongoDB.

Prerequisiti

Conoscenza base di sistemi operativi *nix, database relazionali, sistemi distribuiti e architetture scalabili.

 

Obiettivi formativi

Al termine del corso il partecipante raggiungerà  i seguenti obiettivi didattici:

  • Capire l’architettura tipo del sistema Big Data
  • Setup, configurazione ed uso di Hadoop,
  • Importare dati dal database SQL in Hadoop.
  • Scrivere operazioni di mapreduce usando Java.
  • Usare Hive e Pig, connettere Hadoop con MongoDB.
  • Iniziare ad usare Apache Mahout.
  • Comunicare in modo efficace i risultati del processo usando le tecniche di data visualization.

 

Programma

  • Cosa sono i “Big Data”?
  • L’importanza strategica dei Big Data nell’ambito dei social network, di IoT (Internet of Things) e nel mercato dei dispositivi indossabili (wereable)
  • Casi di studio riguardanti l’utilizzo dei Big Data nella ricerca scientifica
  • Architettura tipo di un sistema Big Data
  • Approccio tradizionale ETL vs. Hadoop
  • Introduzione ai database NoSQL
  • Document oriented
  • Key-value
  • Column
  • Graph
  • Quale scegliere in base alle proprie esigenze?
  • Lab1: Utilizzo di un database document-oriented (MongoDB)
  • Installazione e prima configurazione
  • Utilizzare la console
  • Database, collection e document
  • Operazioni CRUD
  • Funzioni di aggregazione e MapReduce
  • Interrogazioni semplici ed avanzate
  • Capire ed utilizzare gli indici
  • Scalare utilizzando lo sharding automatico
  • Introduzione al framework Apache Hadoop
  • Hadoop: architettura e moduli
  • Hadoop tools, ecosistema e distribuzioni
  • Comprendere MapReduce
  • HDFS: il filesystem distribuito di Hadoop. Comandi base.
  • Lab2: Importazione dati da un RDBMS mediante Sqoop
  • Configurare Sqoop per la connessione al database MySQL
  • Selezionare i dati e le tabelle da importare
  • Gestione granulare dei tipi di dato
  • Lavorare con differenti formati di file
  • Utilizzare Hive
  • Lab3: Interrogare Hadoop mediante Hive
  • Importare dati su Hive utilizzando Sqoop
  • Operazioni CRUD in HiveQL
  • Differenze tra SQL ed HiveSQL
  • Aggregazioni avanzate
  • Lab4: Elaborazione dati ed esportazione su MongoDB
  • Utilizzo di MongoDB Connector for Hadoop
  • Semplificare l’interazione con Hadoop utilizzando Pig
  • Lab5: Interrogare Hadoop mediante Pig
  • Sintassi ed operazioni base del linguaggio Pig Latin
  • L’importanza di saper comunicare i dati: strumenti di “Data Visualization”
  • Lab6: Generazione di un report contenente grafici creati con D3.js
  • Conclusioni, domande & risposte