Panoramica generale:
HDFS è Distributed File System di Hadoop. Intuitivamente puoi pensare a questo come a un filesystem che si estende su molti server.
HBASE è un archivio dati orientato a colonna. È modellato sul Big Table di Google, ma se non è qualcosa che sapevate, pensatelo come un database non relazionale che fornisce accesso in tempo reale in lettura/scrittura ai dati. È integrato in Hadoop.
Pig e Hive sono modi di interrogare i dati nell'ecosistema Hadoop. La differenza principale è che Hive somiglia più a SQL che a Pig. Il maiale usa quello che si chiama Pig Latin.
Azkaban è una prigione, intendo programma di pianificazione del flusso di lavoro batch. Quindi in pratica è simile a Oozie in quanto è possibile eseguire map/reduce, maiale, hive, bash, ecc. Come un singolo lavoro.
Al livello più alto possibile, è possibile pensare a HDFS come al proprio filesystem con HBASE come datastore. Pig e Hive sarebbero i tuoi mezzi per interrogare dal tuo datastore. Allora Azkaban sarebbe il tuo modo di pianificare i lavori.
Stretched Esempio:
Se si ha familiarità con Linux ext3 o ext4 per un filesystem, MySQL/PostgreSQL/MariaDB/etc per un database, SQL per accedere ai dati, e cron per pianificare i processi. (È possibile scambiare ext3/ext4 per NTFS e cron per Task Scheduler su Windows)
HDFS prende il posto di ext3 o ext4 (ed è distribuito), HBASE assume il ruolo di database (ed è non relazionale!), Pig/Hive è un modo per accedere ai dati e Azkaban è un modo per pianificare i lavori.
NOTA: Questo non è un confronto tra mele e mele. È solo per dimostrare che i componenti Hadoop sono un'astrazione pensata per darti un flusso di lavoro che probabilmente già conosci.
Vi incoraggio vivamente a esaminare ulteriormente i componenti, poiché avrete una buona dose di divertimento. Hadoop ha così tanti componenti intercambiabili (Yarn, Kafka, Oozie, Ambari, ZooKeeper, Sqoop, Spark, ecc.) Che ti farai questa domanda molto.
MODIFICA: i collegamenti che hai postato sono andati più in dettaglio su HBase e Hive/Pig, quindi ho cercato di dare un'immagine intuitiva di come si combinavano tutti.
Sono corretti come ho capito? 1) Hive/Pig entrambi sono per lo stesso scopo (accesso ai dati anche se diverso in uso), se si va con un altro è opzionale. 2) HBase è costruito su HDFS. –
Sì, puoi guardarlo così. In superficie, Hive e Pig forniscono entrambi un mezzo per fare la stessa cosa. Sono stati sviluppati inizialmente da 2 gruppi diversi, quindi la filosofia e il caso d'uso per entrambi sono leggermente diversi. Poiché Hive è più simile a SQL (HiveQL), dovrebbe funzionare bene con i dati strutturati. Il maiale è piuttosto buono per semi-strutturato, immagino. Noterò che non sono un esperto, quindi questo è solo un pensiero/opinione da ciò che ho imparato. –
Per quanto riguarda HBase, in realtà non ho esperienza con esso, quindi non posso dirtelo, ma ho trovato questo link che potrebbe aiutare: http://thenewstack.io/a-look-at-hbase/ –