Apache Hadoop: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Altri strumenti e formati più usati per files su HDFS |
Elaborazione e gestione dei dati |
||
Riga 34:
'''Elaborazione dati'''
Quando nacque Hadoop, l'unico modo di realizzare applicativi di elaborazione dati era MapReduce, che richiede di scrivere molto codice Java anche per le attività più semplici. Col passare degli anni, vennero inventate librerie come [https://www.cascading.org/ Cascading] e [http://crunch.apache.org/ Apache Crunch] per rendere più agevole la realizzazione di questi programmi. A questi si è affiancato [[Pig (programma)|Pig]], uno strumento che permetteva di usare un linguaggio ispirato ad SQL.
Un cambiamento consistente è avvenuto con l'introduzione di [[Apache Spark]] che usa in modo aggressivo la memoria RAM dei nodi del cluster per eseguire le elaborazioni con una velocità nettamente superiore a quella di MapReduce.
Successivamente è stato introdotto [https://flink.apache.org/ Apache Flink] per l'elaborazione di dati in modalità streaming con bassa latenza.
'''Strumenti per l'immagazzinamento dei dati'''▼
Una libreria degna di nota è [https://akka.io/ Akka]. Questa permette di elaborare dati con delle prestazioni molto elevate sfruttando l'Actor Model. Le prime versioni di Apache Spark, precedenti alla 1.6, erano costruite proprio su Akka.
Sono strati creati anche degli strumenti che permettono di definire i flussi di elaborazione dati attraverso dei diagrammi. Tra questi troviamo [https://nifi.apache.org/ Apache NiFi] e [https://streamsets.com/opensource StreamSets Data Collector].
* [[Apache Hive]], che viene usato per interrogare il contenuto di HDFS usando un linguaggio molto simile all'SQL che si chiama Hive Query Language;
* [https://impala.apache.org/ Apache Impala],
* [https://drill.apache.org/ Apache Drill], uno strumento simile ad Hive ed Impala;
* [http://prestodb.github.io/ Presto] uno strumento per interrogare dati su HDFS simile ad Hive ed Impala, sviluppato da Facebook;
* [[Apache Kafka]] che viene usato per trasmettere dei messaggi e per custodire nel tempo i messaggi che sono stati trasmessi;
* [[Sqoop]], strumento da linea di comando che permette di importare dati da basi dati relazionali verso HDFS e vice versa;
* [[Apache Flume]], un servizio distribuito affidabile e disponibile per la raccolta, l'aggregazione e il trasporto un grande quantitativo di dati di log in maniera efficiente.▼
'''Console web'''
* [https://ambari.apache.org/ Apache Ambari], che aiuta ad amministrare un cluster Hadoop con maggiore semplicità;
Line 55 ⟶ 62:
'''Altri strumenti'''
* [[Apache ZooKeeper]], un servizio di configurazione e sincronizzazione distribuito,
▲* [[Apache Flume]], un servizio distribuito affidabile e disponibile per la raccolta, l'aggregazione e il trasporto un grande quantitativo di dati di log in maniera efficiente.
== Distribuzioni di Hadoop ==
Line 64 ⟶ 70:
* [https://it.hortonworks.com/products/data-platforms/hdp/ Hortonworks Data Platform] un'altra distribuzione open source, che include anche Ambari per l'amministrazione del cluster;
* [https://mapr.com/products/mapr-converged-data-platform/ The MapR Converged Data Platform] una distribuzione commerciale.
== Bibliografia ==
* {{cita libro | nome=Tom | cognome=White | titolo=Hadoop: The Definitive Guide, 4th Edition | anno=2015 | editore=O'Reilly | città= | url=http://shop.oreilly.com/product/0636920033448.do | lingua=en}}
* {{cita libro | nome=Butch | cognome=Quinto | titolo=Next-Generation Big Data | anno=2018 | editore=Apress | città= | url=https://www.apress.com/it/book/9781484231463 | lingua=en}}
== Voci correlate ==
|