Cos'è Hadoop?
Apache Hadoop è un framework open source utilizzato per archiviare ed elaborare in modo efficiente set di dati di grandi dimensioni che vanno da gigabyte a petabyte. Invece di utilizzare un solo computer molto potente per archiviare ed elaborare i dati, con Hadoop è possibile unire in cluster più computer per analizzare set di dati di grandi dimensioni in parallelo e più velocemente.
Quali sono i quattro moduli principali di Hadoop?
Hadoop è composto da quattro moduli principali:
- File System distribuito Hadoop (HDFS): un file system distribuito che funziona su hardware standard o di fascia bassa. HDFS offre una migliore velocità di trasmissione effettiva dei dati rispetto ai file system tradizionali, oltre all'elevata tolleranza agli errori e al supporto nativo di set di dati di grandi dimensioni.
- Yet Another Resource Negotiator (YARN): gestisce e monitora i nodi dei cluster e l'utilizzo delle risorse. Pianifica lavori e attività.
- MapReduce — Un framework che aiuta i programmi a eseguire calcoli paralleli sui dati. L'attività mappa prende i dati di input e li converte in un set di dati che può essere calcolato in coppie chiave-valore. L'output dell'attività mappa viene utilizzato da reduce tasks per aggregare l'output e fornire il risultato desiderato.
- Hadoop Common: fornisce raccolte Java comuni che possono essere utilizzate su tutti i moduli.
Come funziona Hadoop?
Hadoop semplifica l'utilizzo di tutta la capacità di archiviazione ed elaborazione dei server cluster e l'esecuzione di processi distribuiti su enormi quantità di dati. Hadoop fornisce gli elementi costitutivi su cui è possibile creare altri servizi e applicazioni.
Le applicazioni che raccolgono dati in vari formati possono inserire dati nel cluster Hadoop utilizzando un'operazione API per connettersi al NameNode. NameNode tiene traccia della struttura della directory dei file e del posizionamento dei "blocchi" per ogni file, replicati su Datanode. Per eseguire un job per interrogare i dati, fornisci un job MapReduce composto da molte mappe e riduci le attività eseguite sui dati in HDFS distribuiti tra i DataNode. Le attività mappa vengono eseguite su ciascun nodo in base ai file di input forniti e i reducer vengono eseguiti per aggregare e organizzare l'output finale.
Come si è evoluto l'ecosistema Hadoop?
L'ecosistema Hadoop è cresciuto notevolmente nel corso degli anni grazie alla sua estensibilità. Oggi, l'ecosistema Hadoop include molti strumenti e applicazioni per aiutare a raccogliere, archiviare, elaborare, analizzare e gestire i big data. Alcune delle applicazioni più popolari sono:
- Spark: un sistema di elaborazione open source distribuito, utilizzato spesso con i carichi di lavoro per i Big Data. Apache Spark impiega un servizio di caching in memoria e di ottimizzazione che permette prestazioni elevate; inoltre supporta l'elaborazione generica in batch, l'analisi di flussi di dati, il machine learning, i database a grafo e le query ad hoc.
- Presto: un motore di query SQL open source e distribuito ottimizzato per l'analisi di dati ad hoc a bassa latenza. Supporta lo standard SQL ANSI, incluse query complesse, aggregazioni, join e funzioni finestra. Presto è in grado di elaborare dati da una moltitudine di origini di dati, incluso il file system distribuito Hadoop (HDFS) e Amazon S3.
- Hive: permette agli utenti di sfruttare Hadoop MapReduce tramite interfaccia SQL, consentendo analisi su data warehouse distribuiti, di grandi dimensioni e con tolleranza agli errori.
- HBase: un database open source, non relazionale, con versioni che funziona su Amazon S3 (utilizzando EMRFS) o il file system distribuito Hadoop (HDFS). HBase è un big data store distribuito e altamente scalabile creato per un accesso casuale, rigorosamente coerente e in tempo reale a tabelle con miliardi di righe e milioni di colonne.
- Zeppelin: un notebook interattivo che consente l'esplorazione interattiva dei dati.
In che modo AWS può supportare i tuoi requisiti Hadoop?
Amazon EMR è un servizio gestito che consente di elaborare e analizzare set di dati di grandi dimensioni utilizzando le versioni più recenti dei più noti framework di elaborazione per Big Data quali Apache Hadoop, Spark, HBase e Presto su cluster completamente personalizzabili.
- Facile da usare: un cluster Amazon EMR può essere avviato in pochi minuti. Non dovrai preoccuparti per il provisioning dei dati e la configurazione di Hadoop, né per l'impostazione o il tuning del cluster.
- Basso costo: i prezzi di Amazon EMR sono semplici e prevedibili: paghi una tariffa oraria per ogni ora di utilizzo delle istanze e puoi sfruttare le istanze Spot per ottenere maggiori risparmi.
- Elastico: con Amazon EMR è possibile effettuare il provisioning di una, centinaia o migliaia di istanze di calcolo per essere in grado di elaborare qualsiasi volume di dati.
- Temporaneo: puoi utilizzare EMRFS per eseguire cluster su richiesta in base a dati HDFS archiviati in modo persistente in Amazon S3. Al termine dei lavori, puoi chiudere un cluster e salvare i dati in Amazon S3. I costi sono calcolati solo per il tempo di elaborazione in esecuzione del cluster.
- Sicuro: Amazon EMR utilizza tutte le caratteristiche di sicurezza comuni dei servizi AWS:
- Ruoli e policy Identity and Access Management (IAM) per gestire le autorizzazioni.
- Crittografia in transito e a riposo per aiutarti a proteggere i tuoi dati e soddisfare gli standard di conformità, come HIPAA.
- Gruppi di sicurezza per controllare il traffico di rete in entrata e in uscita verso i nodi del cluster.
- AWS CloudTrail: verifica tutte le chiamate IP di Amazon EMR effettuate nel tuo account per fornire analisi di sicurezza, monitoraggio delle modifiche alle risorse e controllo della conformità.
Inizia a utilizzare Hadoop su AWS creando un account oggi stesso.
Fasi successive su AWS
Ottieni accesso istantaneo al Piano gratuito di AWS.