Zuhause Persönliche Finanzen Komprimieren von Daten in Hadoop - Dummies

Komprimieren von Daten in Hadoop - Dummies

Video: Sqoop Import and Export data from RDMBS and HDFS 2025

Video: Sqoop Import and Export data from RDMBS and HDFS 2025
Anonim

verfügbar sind. Die riesigen Datenmengen, die in einer typischen Hadoop-Implementierung Realität sind, machen die Komprimierung zu einer Notwendigkeit. Die Datenkomprimierung spart auf jeden Fall viel Speicherplatz und beschleunigt die Datenübertragung in Ihrem Cluster. Es überrascht nicht, dass eine Reihe von verfügbaren Komprimierungsschemata, so genannte Codecs, zur Verfügung stehen.

In einer Hadoop-Bereitstellung handelt es sich (potenziell) um eine große Anzahl einzelner Slave-Knoten, von denen jeder eine Reihe großer Festplattenlaufwerke hat. Es ist nicht ungewöhnlich, dass ein einzelner Slave-Knoten mehr als 45 TB freien Speicherplatz für HDFS zur Verfügung hat.

Auch wenn Hadoop-Slave-Knoten kostengünstig sind, sind sie nicht kostenlos, und bei großen Datenmengen, die mit steigender Geschwindigkeit wachsen, ist die Komprimierung ein offensichtliches Werkzeug, um extreme Datenmengen.

Zunächst einige grundlegende Begriffe: Ein Codec, , der eine verkürzte Form von co mpressor / dec ompressor ist, ist Technologie (Software oder Hardware oder beide) zum Komprimieren und Dekomprimieren von Daten; Es ist die Implementierung eines Komprimierungs- / Dekomprimierungsalgorithmus.

Sie müssen wissen, dass einige Codecs eine so genannte splittbare Komprimierung unterstützen und dass Codecs sich sowohl in der Geschwindigkeit unterscheiden, mit der sie Daten komprimieren und dekomprimieren können, als auch in welchem ​​Grad sie komprimiert werden können.

Splittable compression ist ein wichtiges Konzept in einem Hadoop-Kontext. Die Funktionsweise von Hadoop besteht darin, dass Dateien geteilt werden, wenn sie größer als die Blockgröße der Datei sind, und einzelne Dateisplits können von verschiedenen Mapper parallel verarbeitet werden.

Bei den meisten Codecs können Textdateisplits nicht unabhängig von anderen Teilen derselben Datei dekomprimiert werden. Diese Codecs sind also nicht teilbar, daher ist die MapReduce-Verarbeitung auf einen einzelnen Mapper beschränkt.

Da die Datei nur als Ganzes dekomprimiert werden kann und nicht als einzelne Teile, die auf Splits basieren, kann es keine parallele Verarbeitung einer solchen Datei geben, und die Leistung kann einen großen Treffer erzielen, wenn ein Job auf einen einzelnen Mapper wartet. verarbeiten mehrere Datenblöcke, die nicht unabhängig voneinander dekomprimiert werden können.

Die teilbare Komprimierung ist nur ein Faktor für Textdateien. Bei Binärdateien komprimieren Hadoop-Komprimierungscodecs Daten in einem binär codierten Container, abhängig vom Dateityp (z. B. SequenceFile, Avro oder ProtocolBuffer).

Apropos Leistung: Die Komprimierung der Daten, die in Ihren Hadoop-Cluster geschrieben werden, verursacht Kosten (in Bezug auf Verarbeitungsressourcen und Zeit).

Bei Computern ist wie beim Leben nichts frei. Beim Komprimieren von Daten tauschen Sie Verarbeitungszyklen für Speicherplatz aus. Und wenn diese Daten gelesen werden, gibt es auch Kosten für das Dekomprimieren der Daten. Achten Sie darauf, die Vorteile der Speicherersparnis gegen den zusätzlichen Leistungsaufwand abzuwägen.

Wenn die Eingabedatei zu einem MapReduce-Job komprimierte Daten enthält, wird die zum Lesen dieser Daten aus HDFS benötigte Zeit reduziert und die Jobleistung verbessert. Die Eingabedaten werden automatisch entpackt, wenn sie von MapReduce gelesen werden.

Die Eingabe-Dateinamenerweiterung bestimmt, welcher unterstützte Codec verwendet wird, um die Daten automatisch zu dekomprimieren. Beispiel: a. Die Erweiterung gz identifiziert die Datei als gzip-komprimierte Datei.

Es kann auch nützlich sein, die Zwischenausgabe der Map-Phase im MapReduce-Verarbeitungsfluss zu komprimieren. Da die Ausgabe der Kartenfunktion auf die Festplatte geschrieben und über das Netzwerk an die Reduzierungsaufgaben gesendet wird, kann die Komprimierung der Ausgabe zu erheblichen Leistungsverbesserungen führen.

Und wenn Sie die MapReduce-Ausgabe als Verlaufsdateien für zukünftige Verwendung speichern möchten, kann die Komprimierung dieser Daten den Platzbedarf in HDFS erheblich reduzieren.

Es gibt viele verschiedene Kompressionsalgorithmen und -werkzeuge, deren Eigenschaften und Stärken variieren. Der häufigste Kompromiss besteht zwischen Komprimierungsraten (dem Grad, zu dem eine Datei komprimiert wird) und Komprimierungs- / Dekomprimierungsgeschwindigkeiten. Das Hadoop-Framework unterstützt mehrere Codecs. Das Framework komprimiert und dekomprimiert die meisten Eingabe- und Ausgabedateiformate transparent.

Die folgende Liste enthält einige allgemeine Codecs, die vom Hadoop-Framework unterstützt werden. Achten Sie darauf, den Codec auszuwählen, der den Anforderungen Ihres speziellen Anwendungsfalls am ehesten entspricht (zum Beispiel bei Workloads, bei denen die Geschwindigkeit der Verarbeitung wichtig ist, wählen Sie einen Codec mit hohen Dekompressionsgeschwindigkeiten):

  • Gzip: Eine Komprimierung Das vom GNU-Projekt übernommene Dienstprogramm Gzip (kurz für GNU zip) generiert komprimierte Dateien mit einem. gz Erweiterung. Sie können den Befehl gunzip verwenden, um Dateien zu entpacken, die von einer Reihe von Komprimierungsprogrammen, einschließlich Gzip, erstellt wurden.

  • Bzip2: Aus Usability-Sicht sind Bzip2 und Gzip ähnlich. Bzip2 erzeugt ein besseres Komprimierungsverhältnis als Gzip, aber es ist viel langsamer. In der Tat ist Bzip2 von allen verfügbaren Komprimierungscodecs in Hadoop mit Abstand am langsamsten.

    Wenn Sie ein Archiv einrichten, das Sie selten abfragen müssen und das Platzangebot sehr hoch ist, dann wäre Bzip2 vielleicht eine Überlegung wert.

  • Snappy: Der Snappy-Codec von Google bietet bescheidene Kompressionsraten, aber schnelle Komprimierungs- und Dekompressionsgeschwindigkeiten. (In der Tat hat es die schnellsten Dekompressionsgeschwindigkeiten, was es sehr wünschenswert für Datensätze macht, die wahrscheinlich häufig abgefragt werden.)

    Der Snappy-Codec ist in Hadoop Common integriert, einer Reihe von allgemeinen Hilfsprogrammen, die andere Hadoop-Teilprojekte unterstützen… Sie können Snappy als Add-on für neuere Versionen von Hadoop verwenden, die noch keine Snappy-Codec-Unterstützung bieten.

  • LZO: Ähnlich wie Snappy liefert LZO (Abkürzung für Lempel-Ziv-Oberhumer, das Trio von Informatikern, das den Algorithmus entwickelt hat) bescheidene Kompressionsraten, aber schnelle Kompressions- und Dekompressionsgeschwindigkeiten. LZO ist unter der GNU Public License (GPL) lizenziert.

    LZO unterstützt die spaltbare Komprimierung, die die parallele Verarbeitung komprimierter Textdateisplits durch Ihre MapReduce-Jobs ermöglicht. LZO muss beim Komprimieren einer Datei einen Index erstellen, da bei Komprimierungsblöcken mit variabler Länge ein Index erforderlich ist, um dem Mapper mitzuteilen, wo er die komprimierte Datei sicher teilen kann. LZO ist nur dann wirklich wünschenswert, wenn Sie Textdateien komprimieren müssen.

Hadoop-Codecs

Codec Dateierweiterung Teilbar? Komprimierungsgrad Komprimierungsgeschwindigkeit
Gzip . gz Nein Mittel Mittel
Bzip2 . bz2 Ja Hoch Langsam
Bissig . bissig Nein Mittel Schnell
LZO . lzo Nein, sofern nicht indiziert Mittel Schnell

Alle Komprimierungsalgorithmen müssen Kompromisse zwischen dem Grad der Komprimierung und der Geschwindigkeit der Komprimierung eingehen, die sie erreichen können. Die aufgeführten Codecs geben Ihnen eine gewisse Kontrolle darüber, wie das Verhältnis zwischen Komprimierungsrate und Geschwindigkeit bei der Komprimierung sein sollte.

Mit Gzip können Sie beispielsweise die Geschwindigkeit der Komprimierung regulieren, indem Sie eine negative ganze Zahl (oder ein Schlüsselwort) angeben, wobei -1 die schnellste Komprimierungsstufe angibt und -9 die langsamste Komprimierungsstufe angibt. Die Standardkomprimierungsstufe ist -6.

Komprimieren von Daten in Hadoop - Dummies

Die Wahl des Herausgebers

Wie man die Socialcast Mobile App benutzt - dummies

Wie man die Socialcast Mobile App benutzt - dummies

Sogar die stoischste Anwendung wie Microsoft Excel hat ein begleitendes Smartphone-App, natürlich hat Socialcast auch eine. Wenn es so wäre, wäre es nicht wirklich eine Ausrede zu sagen, dass Socialcast nicht sehr sozial wäre, wenn du es nicht mit in die große Welt außerhalb deiner Zelle mitnehmen könntest. Die mobile App ...

Wie man das App Verzeichnis von Yammer benutzt - dummies

Wie man das App Verzeichnis von Yammer benutzt - dummies

Sie haben vielleicht gehört: "Es gibt eine App dafür. "Nun, das ist der Fall bei Yammer, der als einzige Ressource für die Vernetzung am Arbeitsplatz funktioniert. Aber Yammer bietet Ihnen auch eine Menge Apps, mit denen Sie Ihr Arbeitsleben noch einfacher gestalten können. Es gibt zwei Möglichkeiten, auf das App-Verzeichnis zuzugreifen: Option ...

So ​​verwenden Sie die Yammer-Analysetools - Dummies

So ​​verwenden Sie die Yammer-Analysetools - Dummies

Yammer rühmt sich damit als "führendes soziales Unternehmensnetzwerk für Unternehmen" um die Arbeit intelligenter und schneller zu erledigen. "Woher weißt du, ob das wahr ist? Ein guter Weg, um zu sehen, wie es für Sie funktioniert, ist die Analyse von Yammer. Wie greifen Sie auf diese großartigen Tools zu? Es ist einfach. Log ...

Die Wahl des Herausgebers

Die Evolution von Distributed Computing für Big Data - Dummies

Die Evolution von Distributed Computing für Big Data - Dummies

Hinter allen wichtigen Trends des letzten Jahrzehnts, einschließlich Serviceorientierung, Cloud Computing, Virtualisierung und Big Data, ist eine grundlegende Technologie namens Distributed Computing. Einfach gesagt, ohne die Verteilung von Datenverarbeitung wäre keiner dieser Fortschritte möglich. Distributed Computing ist eine Technik, mit der einzelne Computer über geografische Gebiete hinweg miteinander vernetzt werden können, so als ob ...

Drei Anbieter mit Data Mining-Produkten - Dummies

Drei Anbieter mit Data Mining-Produkten - Dummies

Es gibt mehrere Anbieter, die Data-Mining-Produkte verkaufen, die Sie vielleicht in Betracht ziehen möchten. Verwenden Sie mit Ihrem Data Warehouse. Hier sind drei, die eine Überlegung wert sind. Microsoft Microsoft hat das serverseitige Data Mining mit Microsoft SQL Server 2005 eingeführt. Obwohl es nicht so ausgereift und ausgeklügelt wie SAS und SPSS ist, hat Microsoft im Laufe der Zeit seine Fähigkeit bewiesen ...

Grundlagen der Big-Data-Integration - Dummies

Grundlagen der Big-Data-Integration - Dummies

Die fundamentalen Elemente der Big-Data-Plattform verwalten Daten auf neue Weise verglichen mit der traditionellen relationalen Datenbank. Dies liegt daran, dass Skalierbarkeit und hohe Leistung erforderlich sind, um sowohl strukturierte als auch unstrukturierte Daten zu verwalten. Komponenten des Big-Data-Ökosystems von Hadoop bis NoSQL DB, MongoDB, Cassandra, ...

Die Wahl des Herausgebers

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

Die meisten modernen Smartphones sind Wi-Fi-fähig. In ein lokales Netzwerk können Sie Spotify-Tracks mithilfe von Wi-Fi auf Ihr Telefon streamen. Sie können Spotify Mobile zu Hause und über Wi-Fi-Netzwerke in Hotels und Cafés problemlos nutzen - Sie müssen nur sicherstellen, dass Sie angemeldet und verbunden sind. ...

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert, kann Auswirkungen auf den Festplattenspeicher Ihres Computers haben. Internetverbindung. Spotify funktioniert anders als viele andere Online-Musikdienste, weil es auf mehrere Arten angewiesen ist, um Ihnen reibungslos Musik ohne Verzögerungen zu liefern. In Computing-Sprechen, das Maß der Verzögerung zwischen Anfordern eines Songs und Hören es ...

So ​​erreichen Sie Spotify Support - Dummies

So ​​erreichen Sie Spotify Support - Dummies

Es kann vorkommen, dass Sie eine kleine Hilfe beim Navigieren und Verwenden von Spotify benötigen von deinen Spotify Freunden. Sie können jederzeit Support @ spotify per E-Mail senden. com mit Ihrer Frage oder melden Sie sich bei Twitter an und senden Sie einen Tweet an @spotify. Stellen Sie sicher, dass Sie alle Informationen einschließen, die dem Support-Team helfen könnten, einschließlich Ihres Benutzernamens, damit sie ...