apache hadoop: introduzione all’architettura ed approcci applicativi
TRANSCRIPT
![Page 1: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/1.jpg)
Introduzione all’architettura ed approcci applicativi
Messina, 21/03/2015 Dario Catalano
![Page 2: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/2.jpg)
Qualcosa su di me…
Messina, 21/03/2015 Dario Catalano
Google+
![Page 3: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/3.jpg)
Di cosa parleremo
Messina, 21/03/2015 Dario Catalano
• Cos’è Apache Hadoop?
• Un po’ di storia
• L’algoritmo Map-
Reduce
• L’architettura
• Cloudera
• Esempio Applicativo
• Configurazione
• Amministrazione
• Sicurezza
• «Estensioni» di
Hadoop
• Bibliografia
![Page 4: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/4.jpg)
Cosa è Hadoop?
Messina, 21/03/2015 Dario Catalano
FrameworkCluster
Big Data
Map Reduce
Distribuited File System
API
Fault tollerant
Cloud
Scalable
Cost effective
Extensible
Flexibile
Java
![Page 5: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/5.jpg)
Un po’ di storia
Messina, 21/03/2015 Dario Catalano
2003 Google File System
![Page 6: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/6.jpg)
Un po’ di storia
Messina, 21/03/2015 Dario Catalano
2004 Google Map Reduce
![Page 7: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/7.jpg)
Un po’ di storia
Messina, 21/03/2015 Dario Catalano
2005
Doug Cutting Mike Cafarella
![Page 8: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/8.jpg)
Un po’ di storia
Messina, 21/03/2015 Dario Catalano
2006
r1.0
2011 2013
r2.2
![Page 9: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/9.jpg)
Map Reduce » Step I
Messina, 21/03/2015 Dario Catalano
…
…
…
…
…
Mapper
Mapper
Mapper
Mapper
Datas
…
Intermediate Datas
Record
Record
Record
Record
Record
Record
Record
Partitionated Datas
Record
Record
Record
Record
Record
Record
Record
Record
Record
Map Tasks
(K1,Va) (K2,Vb)(K3,Vc) (K4,Vd)(K5,Ve) (K6,Vf)
…
(K1,Vc) (K5,Vc)(K5,Vf) (K2,Vd)(K1,Ve) (K1,Vf)
…
(K3,Va) (K2,Va)(K1,Vc) (K7,Vd)(K2,Vb) (K3,Vf)
…
(K4,Va) (K2,Vb)(K8,Vc) (K7,Vf)(K2,Ve) (K5,Vf)
![Page 10: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/10.jpg)
Map Reduce » Step II
Messina, 21/03/2015 Dario Catalano
…
Intermediate Datas
(K1,Va) (K2,Vb)(K3,Vc) (K4,Vd)(K5,Ve) (K6,Vf)
…
(K1,Vc) (K5,Vc)(K5,Vf) (K2,Vd)(K1,Ve) (K1,Vf)
…
(K3,Va) (K2,Va)(K1,Vc) (K7,Vd)(K2,Vb) (K3,Vf)
…
(K4,Va) (K1,Vb)(K8,Vc) (K7,Vf)(K2,Ve) (K5,Vf)
K1 Va Ve
K2
K3
K4
Vf Vb
K5 Ve Vf Vc Vf
K6
K7 Vd
K8 Vc
Vc
Vb
Vc
Va Vd Ve Vb
Vc Va Vf
Vd Va
Vf
Vf
Intermediate DatasShuffle, Partitionig and Sorting
![Page 11: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/11.jpg)
Map Reduce » Step III
Messina, 21/03/2015 Dario Catalano
K1 Va Ve
K2
K3
K4
Vf Vb
K5 Ve Vf Vc Vf
K6
K7 Vd
K8 Vc
Vc
Vb
Vc
Va Vd Ve Vb
Vc Va Vf
Vd Va
Vf
Vf
Intermediate Datas
Reducer …Record
Record
Reducer …Record
Record
Reduce Tasks
…
Record
Record
Record
Record
Record
Record
Record
Record
Output Datas
![Page 12: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/12.jpg)
Map Reduce » Esempio
Messina, 21/03/2015 Dario Catalano
the, 3brown,2fox, 2how, 1now, 1
quick, 1ate, 1mouse, 1cow, 1
![Page 13: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/13.jpg)
Architettura » Visione ad alto livello
Messina, 21/03/2015 Dario Catalano
HDFS MapReduce
Java Client
![Page 14: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/14.jpg)
Architettura » HDFS
Messina, 21/03/2015 Dario Catalano
• Distribuito
• Master/Slave
• Blocchi solitamente >= 64 Mb (grande
mole di dati)
• Ridondante (3 copie)
• Facilmente scalabile
![Page 15: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/15.jpg)
Architettura » HDFS
Messina, 21/03/2015 Dario Catalano
![Page 16: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/16.jpg)
Architettura » HDFS » NameNode
Messina, 21/03/2015 Dario Catalano
• Ruolo Master
• Responsabile dei Metadata Struttura directory, file e relativi permessi Posizione dei blocchi Stato dei files Identità dei DataNode caricata al boot Filename dei blocchi nei fs locale dei DataNode
• Dati in memoria
![Page 17: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/17.jpg)
Architettura » HDFS » Scrittura file
Messina, 21/03/2015 Dario Catalano
![Page 18: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/18.jpg)
Architettura » HDFS » Lettura file
Messina, 21/03/2015 Dario Catalano
![Page 19: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/19.jpg)
Architettura » HDFS » Secondary NameNode
Messina, 21/03/2015 Dario Catalano
![Page 20: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/20.jpg)
Architettura » HDFS » Comandi
Messina, 21/03/2015 Dario Catalano
hadoop fs –cat file:///file2hadoop fs –mkdir /user/hadoop/dir1 /user/hadoop/dir2
hadoop fs –copyFromLocal <fromDir> <toDir>hadoop fs –put <localfile> hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs –ls /user/hadoop/dir1hadoop fs –cat hdfs://nn1.example.com/file1hadoop fs –get /user/hadoop/file <localfile>sudo hadoop jar <jarFileName> <method> <fromDir> <toDir>
![Page 21: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/21.jpg)
Architettura » HDFS » Affidabilità
Messina, 21/03/2015 Dario Catalano
• DataNode Heartbeat
• Trade-off replicazione blocchi (1 locale e 2 in un altro rack)Fattore di replicazione configurabile per file (in heartbeat)
• Checksum dei blocchi
• Cancellazione: Trash directory (6 ore) » Cancellazione fisica
• NameNode collo di bottiglia in Hadoop 1.xDimensioni dei metadatiMancanza di replicazione
![Page 22: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/22.jpg)
Architettura » Map Reduce v1
Messina, 21/03/2015 Dario Catalano
![Page 23: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/23.jpg)
Architettura » Map Reduce v1
Messina, 21/03/2015 Dario Catalano
![Page 24: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/24.jpg)
Architettura » Map Reduce v1
Messina, 21/03/2015 Dario Catalano
• Master / Slave
• TaskTracker:Creazione task slot-based JVM forkHeartbeat
• JobTracker: Responsabile/Gestore del JobColloquia con il NameNodeEffettua recovery di task fallitiPunto debole dell’architettura
![Page 25: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/25.jpg)
Architettura » Master / Slave
Messina, 21/03/2015 Dario Catalano
• Hdfs e MapReduce nello stesso nodo = minore traffico di rete = maggiore performance
![Page 26: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/26.jpg)
Architettura » YARN
Messina, 21/03/2015 Dario Catalano
• Container Unità computazionale Controlla CPU e RAM assegnate
• Node Manager Riceve richieste del RS (Slave) Gestisce ciclo vita dei container Gestisce logging e servizi ausiliari
• Resource Manager: Riceve richieste da AM Schedula con politiche variabili
(Fair, Capacity,…)
• Application Master Dipende dal tipo di applicazione Separazione delle responsabilità
= Scalabilità
![Page 27: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/27.jpg)
Architettura » YARN
Messina, 21/03/2015 Dario Catalano
1. CL -> RM (inizio applicazione)
2. RM -> NM (richiesta nuovo AM)
3. AM -> RM (registrazione)4. AM -> RM (richiesta risorse)5. AM -> NM(s) (avvio
containers)6. CS -> AM (containers
eseguono il codice ed inviano checks)
7. CL -> AM (client chiede stato applicazione)
8. AM -> RM (shutdown)
![Page 28: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/28.jpg)
Architettura » YARN
Messina, 21/03/2015 Dario Catalano
Hadoop 1.x Hadoop 2.x
Tipo di elaborazione Solo Map Reduce Implementazioni multiple
Gestione delle risorsee delle elaborazioni Unica (JobTracker) Separata (ResourceManager e
Application Master)
Scalabilità di HDFS Singolo NameNode HDFS Federation
Affidabilità di HDFS Singolo NameNode HDFS High Availability
Limite Nodi 4.000 10.000
![Page 29: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/29.jpg)
HostHostProcesso
Modalità di Esecuzione
Messina, 21/03/2015 Dario Catalano
Singolo Processo
NameNode
JobTracker
TaskTracker
Pseudo Distribuita
DataNode
SecondaryNameNode
Host
NN
JT
Host
DN
TT
M
Host
DN
TT
R
Distribuita
![Page 30: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/30.jpg)
Prima del codice…
Messina, 21/03/2015 Dario Catalano
• Servizi, architetture e formazione su Apache Hadoop
• Apache Main Contributor
• CDH (Cloudera Distribution with Hadoop)
![Page 31: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/31.jpg)
Cloudera Quickstart VM
Messina, 21/03/2015 Dario Catalano
• CDH 5 è basata su Linux Centos 6.4
• Contiene:HDFS, MapReduce, Hadoop Common, Hbase, Hive, Pig, Oozie, Sqoop, Flume,
ZooKeeper, Hue, Whirr, Mahout, Cloudera Manager
• Disponibile per VMWare, KVM, Oracle Virtualbox
• Requisititi Minimi:4 Gb RAM (8 raccomandati)64 bit host OS
• Scaricabile da:http://
www.cloudera.com/content/cloudera/en/downloads/quickstart_vms/cdh-5-3-x.html
![Page 32: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/32.jpg)
Word Count API «vecchia»
Messina, 21/03/2015 Dario Catalano
import java.io.IOException;...import org.apache.hadoop.mapred.TextOutputFormat;
public class WordCountOldAPI {public static void main(String[] args) throws Exception {
JobConf conf = new JobConf(WordCountOldAPI.class);conf.setJobName("wordcount");conf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);conf.setMapperClass(MyMapper.class);conf.setCombinerClass(MyReducer.class);conf.setReducerClass(MyReducer.class);conf.setNumReduceTasks(1);conf.setInputFormat(TextInputFormat.class);conf.setOutputFormat(TextOutputFormat.class);FileInputFormat.setInputPaths(conf, new Path(args[0]));FileOutputFormat.setOutputPath(conf, new Path(args[1]));JobClient.runJob(conf);
}
![Page 33: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/33.jpg)
Word Count API «vecchia»
Messina, 21/03/2015 Dario Catalano
public static class MyMapper extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {
public void map(LongWritable key, Text value,OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {
output.collect(new Text(value.toString()), new IntWritable(1));}
}
public static class MyReducer extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> {
public void reduce(Text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {
int sum = 0; while (values.hasNext()) {
sum += values.next().get(); }
output.collect(key, new IntWritable(sum)); }
}}
![Page 34: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/34.jpg)
La «nuova» API
Messina, 21/03/2015 Dario Catalano
• Introdotta con Hadoop 0.20 (2009)
• Nuovo package
• Più concisa e compatta
• Più pulita e leggibile
• Permette un controllo del Job più completo ed accurato
• Non confondere versione API con versione dell’architettura (1.x o 2.x)
![Page 35: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/35.jpg)
Word Count API «nuova»
Messina, 21/03/2015 Dario Catalano
import java.io.IOException;...import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;public class WordCountNewAPI {
public static void main(String[] args) throws Exception { Job job = Job.getInstance(new Configuration());
job.setJarByClass(WordCountNewAPI.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class);
job.setMapperClass(MyMapper.class); job.setReducerClass(MyReducer.class); job.setInputFormatClass(TextInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); FileInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); boolean status = job.waitForCompletion(true); if (status) System.exit(0)
else System.exit(1);}
![Page 36: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/36.jpg)
Word Count API «nuova»
Messina, 21/03/2015 Dario Catalano
public static class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable> { public void map(LongWritable key, Text value, Context context) throws IOException,
InterruptedException {
String w = value.toString(); context.write(new Text(w), new IntWritable(1)); }
}
public static class MyReducer extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(Text key, Iterable<IntWritable> values,Context context) throws
IOException, InterruptedException {
int sum = 0; for (IntWritable val : values) { sum += val.get();
} context.write(key, new IntWritable(sum));
}}
}
![Page 37: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/37.jpg)
E adesso…
Messina, 21/03/2015 Dario Catalano
…un po’ di pratica
![Page 38: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/38.jpg)
Configurazione
Messina, 21/03/2015 Dario Catalano
• Configurazione XML per ogni nodo• *-default.xml nei JAR di Hadoop, *-site.xml nella cartella di
configurazione• 4 tipi file principali:
core-*.xml hdfs-*.xml mapred-*.xml yarn-*.xml
• Precedenza delle proprietà definite in varie posizioni: Oggetto Job o JobConf all’interno del codice File *-site.xml all’interno del nodo Client File *-site.xml all’interno del nodo Slave File *-default.xml nei JAR (uguali in tutti i nodi)
![Page 39: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/39.jpg)
Amministrazione e Monitoring
Messina, 21/03/2015 Dario Catalano
• Command Line Interface
• Log files
• Interfacce Web per ogni processo
• YARN REST API
• JMX
• Manager Tools Cloudera Manager Ambari
![Page 40: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/40.jpg)
Sicurezza
Messina, 21/03/2015 Dario Catalano
• Inizialmente trascurata (solo dati pubblici)• Hadoop solo su reti private• Sviluppo software di terze parti:
Cloudera Sentry, IBM InfoSphere Optim Data Masking, Intel's secure Hadoop distribution, DataStax Enterprise, DataGuise for Hadoop,ecc.
• Dalla versione 0.20.x: Autenticazione tra servizi Kerberos Autenticazione Web Console personalizzabile HDFS Permessi ed ACL Autenticazioni Token based per diminuire overhead Possibile crittazione delle connessioni
• Problemi ancora da risolvere HDFS non crittato Difficile integrazione in ambienti non Kerberos Regole di autorizzazione non sufficientemente flessibili Modello complessivo della sicurezza complicato
• Intel Project Rhino
![Page 41: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/41.jpg)
Estensioni
Messina, 21/03/2015 Dario Catalano
![Page 42: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/42.jpg)
HBase
Messina, 21/03/2015 Dario Catalano
• NoSql Datastore
• Chiavi multidimensionali
• Schema dinamico
• Obiettivo : massime performance
• Visione logica: Tabelle, righe, colonne e famiglie di colonne
![Page 43: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/43.jpg)
HIVE
Messina, 21/03/2015 Dario Catalano
• Database
• Data wharehouse e BI
• Linguaggio dichiarativo
• Tabelle -> File su HDFS
• SQL-like query -> MapReduce
• Tabelle (managed ed esterne), viste, partizioni, … = flessibilità organizzativa.
![Page 44: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/44.jpg)
Pig
Messina, 21/03/2015 Dario Catalano
• Scripting
• Data flow e Pipelining
• ETL oriented
• Linguaggio procedurale
• LOAD, FILTER, JOIN, GROUP, STORE,… = controllo del dato step by step
![Page 45: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/45.jpg)
HCatalog
Messina, 21/03/2015 Dario Catalano
• Integrazione di varie tecnologie Hadoop based (HIVE, Pig, MapReduce)
• Astrazione per rendere uniformi BI e ETL
• REST API
![Page 46: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/46.jpg)
Sqoop
Messina, 21/03/2015 Dario Catalano
![Page 47: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/47.jpg)
HAMA
Messina, 21/03/2015 Dario Catalano
• Bulk Synchronous Parallel
• Yarn-based
• Fasi Processing Exchange
Messages Barrier
Synchronization
![Page 48: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/48.jpg)
Spark
Messina, 21/03/2015 Dario Catalano
• Obiettivo performance (10x più veloce di MR)
• Scala based (Java, Scala, Python API)
• Resilient Distributed Dataset (Scala Seq)
• Hadoop, Mesos, Stand-alone
![Page 49: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/49.jpg)
Mahout
Messina, 21/03/2015 Dario Catalano
• Machine Learning (IA) Classificazione Clusterizzazione Fuzzy Logic Neural Network …
• Data Mininig
• 2 Fasi Apprendimento Applicazione
![Page 50: Apache Hadoop: Introduzione all’architettura ed approcci applicativi](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c29c51bb61eb29698b46c3/html5/thumbnails/50.jpg)
Bibliografia
Messina, 21/03/2015 Dario Catalano
• Libri Pro Hadoop Second Edition, Sameer Wadkar, Madhu Siddalingaiah, Jason Venner ,
Apress Hadoop: The Definitive Guide Third Edition, Tom White, O’ Reilly
• Web Apache Hadoop Official Site, https://hadoop.apache.org/ What is Hadoop?, http://www-01.ibm.com/software/data/infosphere/hadoop/ Cloudera, http://www.cloudera.com/ Introduzione ad Hadoop,
https://paolobernardi.wordpress.com/2011/10/09/introduzione-ad-hadoop/ Introduction to Hadoop 2.0 and advantages of Hadoop 2.0,
http://www.edureka.co/blog/introduction-to-hadoop-2-0-and-advantages-of-hadoop-2-0/ The New Hadoop API 0.20.x, http://sonerbalkir.blogspot.it/2010/01/new-hadoop-api-020x.html Big Data Security: The Evolution of Hadoop’s Security Model,
http://www.infoq.com/articles/HadoopSecurityModel