Mit Pig können Daten und Benutzercode an jedem Punkt der Pipeline geladen werden. Dies kann besonders wichtig sein, wenn es sich bei den Daten um Streaming-Daten handelt, beispielsweise um Daten von Satelliten oder Instrumenten.
Hive, das auf RDBMS basiert, benötigt die Daten, die zuerst importiert (oder geladen) werden müssen, und danach können sie bearbeitet werden. Wenn Sie also Hive für das Streaming von Daten verwenden, müssen Sie weiterhin Eimer (oder Dateien) füllen und Hive für jeden gefüllten Eimer verwenden, während Sie andere Eimer verwenden, um die neu ankommenden Daten weiter zu speichern.
Schwein verwendet auch faule Bewertung. Es ermöglicht eine einfachere Programmierung und man kann damit Daten auf verschiedene Arten mit mehr Freiheit analysieren als in einer SQL-ähnlichen Sprache wie Hive. Wenn Sie also wirklich Matrizen oder Muster in unstrukturierten Daten analysieren und interessante Berechnungen an ihnen durchführen möchten, können Sie mit Pig ein gutes Stück weit gehen, während Sie mit Hive etwas anderes benötigen, um mit den Ergebnissen zu spielen.
Pig ist beim Datenimport schneller, aber bei der tatsächlichen Ausführung langsamer als eine RDBMS-freundliche Sprache wie Hive.
Pig eignet sich gut für die Parallelisierung und hat daher möglicherweise einen Vorteil für Systeme, bei denen die Datensätze sehr groß sind, dh bei Systemen, bei denen Sie sich mehr um den Durchsatz Ihrer Ergebnisse als um die Latenz kümmern (die Zeit, um ein bestimmtes Ergebnisdatum zu erhalten).