Allgemeine Übersicht:
HDFS ist Distributed File System des Hadoop. Intuitiv kann man sich das als ein Dateisystem vorstellen, das viele Server umfasst.
HBASE ist ein spaltenorientierter Datenspeicher. Es ist dem Google Big Table nachempfunden, aber wenn Sie das nicht wussten, dann sollten Sie es als eine nicht-relationale Datenbank betrachten, die Echtzeit-Lese-/Schreibzugriff auf Daten bietet. Es ist in Hadoop integriert.
Pig und Hive sind Möglichkeiten zum Abfragen von Daten im Hadoop-Ökosystem. Der Hauptunterschied besteht darin, dass Hive eher SQL als Pig ist. Pig verwendet das, was Pig Latin genannt wird.
Askaban ist ein Gefängnis, ich meine Batch Workflow-Job-Scheduler. Im Grunde ist es Oozie insofern ähnlich, als Sie Map/Reduce, Pig, Hive, Bash usw. als einen einzigen Job ausführen können.
Auf der höchstmöglichen Ebene können Sie sich HDFS als Ihr Dateisystem mit HBASE als Datenspeicher vorstellen. Pig und Hive würden Sie von Ihrem Datenspeicher abfragen. Dann wäre Askaban Ihre Art, Jobs zu planen.
Stretched Beispiel:
Wenn Sie mit Linux ext3 oder ext4 für ein Dateisystem, MySQL/PostgreSQL/MariaDB/etc für eine Datenbank vertraut sind, SQL auf die Daten zuzugreifen, und Cron-Jobs zu planen. (Sie können ext3/ext4 für NTFS und Cron für Taskplaner unter Windows austauschen)
HDFS nimmt den Platz von ext3 oder ext4 (und verteilt), HBASE übernimmt die Datenbankrolle (und ist nicht relational!), Pig/Hive ist eine Möglichkeit, auf die Daten zuzugreifen, und Azkaban ist eine Möglichkeit, Jobs zu planen.
HINWEIS: Dies ist kein Vergleich zwischen Äpfeln und Äpfeln. Es soll lediglich zeigen, dass die Hadoop-Komponenten eine Abstraktion sind, die Ihnen einen Arbeitsablauf bieten soll, mit dem Sie wahrscheinlich bereits vertraut sind.
Ich ermutige Sie sehr, in die Komponenten weiter zu schauen, wie Sie eine gute Menge Spaß haben werden. Hadoop hat so viele austauschbare Komponenten (Garn, Kafka, Oozie, Ambari, ZooKeeper, Sqoop, Spark usw.), dass Sie sich diese Frage oft stellen werden.
EDIT: Die Links, die Sie posteten, gingen mehr ins Detail über HBase und Hive/Pig, also versuchte ich, ein intuitives Bild davon zu geben, wie sie alle zusammenpassen.
Sind diese korrekt, wie ich verstanden habe? 1) Hive/Pig beide sind für den gleichen Zweck (Datenzugriff obwohl anders im Einsatz), wenn Sie mit einem anderen gehen ist optional. 2) HBase ist auf HDFS aufgebaut. –
Ja, du kannst es so sehen. An der Oberfläche bieten Hive und Pig beide die Möglichkeit, dasselbe zu tun. Sie wurden ursprünglich von 2 verschiedenen Gruppen entwickelt, so dass die Philosophie und der Anwendungsfall für beide etwas unterschiedlich sind. Da Hive mehr wie SQL (HiveQL) ist, sollte es gut mit strukturierten Daten funktionieren. Pig ist ziemlich gut für semi-strukturierte ich mir vorstellen könnte. Ich werde bemerken, dass ich kein Experte bin, also ist dies nur eine Meinung von dem, was ich gelernt habe. –
Wie für HBase, habe ich nicht wirklich Erfahrung damit, also kann ich nicht sagen, sicher, aber ich fand diesen Link, der helfen könnte: http://thenewstack.io/a-look-at-hbase/ –