Big Data - Apache Hadoop
By Bernd Fondermann, Kai Spichale and Lars George
()
About this ebook
MapReduce beschreibt eine verteilte Ablaufumgebung, die grob gesagt in zwei Schritten aus Inputdaten neue Daten generiert. Cutting implementierte MapReduce Mitte des vergangenen Jahrzehnts als Open Source in Java und nannte das Projekt Hadoop. Eine Einführung in MapReduce, Hadoop und die Hadoop-Datenbank Apache-HBase sind die Kernthemen dieses shortcuts der Big-Data-Experten Bernd Fondermann, Kai Spichaale und Lars George.
Related to Big Data - Apache Hadoop
Titles in the series (16)
Big Data - Apache Hadoop Rating: 0 out of 5 stars0 ratingsCloud Computing Anbietervergleich: Amazon / Microsoft / Google & Co Rating: 0 out of 5 stars0 ratingsCloud Computing Grundlagen: Technisch / rechtlich / wirtschaftlich und architekturell Rating: 0 out of 5 stars0 ratingsDatenbanken: Grundlagen und Entwurf Rating: 0 out of 5 stars0 ratingsCSS: Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratingsHTML 5 meets GWT Rating: 0 out of 5 stars0 ratingsEnterprise Java Web Services Rating: 0 out of 5 stars0 ratingsMagento Entwicklung: Themes, Widgets und Eigene Entitäten Rating: 0 out of 5 stars0 ratingsJava 7: Project Coin, Generics und NIO2 Rating: 0 out of 5 stars0 ratingsiOS Essentials: Frameworks, Tools und Twitter API Rating: 0 out of 5 stars0 ratingsOnlinerecht: Grundlegende juristische Spielregeln im eCommerce Rating: 0 out of 5 stars0 ratingsNoSQL Einführung: CouchDB, MongoDB und Regis Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsJava ME: Pragmatische Plattform für Mobile und Embedded Rating: 0 out of 5 stars0 ratingsPHP for Office: Automatisierte Dokumentenerstellung mit PHPExcel, PHPWord und PHPPowerPoint Rating: 1 out of 5 stars1/5Usability von UML Editoren: Ein Vergleich Rating: 0 out of 5 stars0 ratings
Related ebooks
Big Data, Fast Data Rating: 0 out of 5 stars0 ratingsBootstrap kurz & gut Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsGraphQL: Eine Einführung in APIs mit GraphQL Rating: 0 out of 5 stars0 ratingsMachine Learning – Die Referenz: Mit strukturierten Daten in Python arbeiten Rating: 0 out of 5 stars0 ratingsVue.js für alle: Wissenswertes für Einsteiger und Experten Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratingsMobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Rating: 0 out of 5 stars0 ratingsVue.js kurz & gut Rating: 0 out of 5 stars0 ratingsSQL Server: Performanceprobleme analysieren und beheben Rating: 0 out of 5 stars0 ratingsMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Rating: 0 out of 5 stars0 ratingsKompaktkurs C# 7 Rating: 0 out of 5 stars0 ratingsMicroservices: Der Hype im Realitätscheck Rating: 0 out of 5 stars0 ratingsAgiles Projektmanagement: Scrum für Einsteiger Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsDynamische Webseiten: Einstieg in HTML, PHP und MySQL Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsPraxiseinstieg Deep Learning: Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen Rating: 0 out of 5 stars0 ratingsDie Serverwelt von Node.js Rating: 0 out of 5 stars0 ratingsWindows PowerShell: Grundlagen & Scripting-Praxis für Einsteiger – Für alle Versionen Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsDocker: Webseiten mittels Containerarchitektur erstellen Rating: 3 out of 5 stars3/5PHP für WordPress: Themes und Templates selbst entwickeln Rating: 0 out of 5 stars0 ratingsClusterbau: Hochverfügbarkeit mit Linux Rating: 0 out of 5 stars0 ratingsLinux – kurz & gut: Die wichtigen Befehle Rating: 4 out of 5 stars4/5Prinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Rating: 0 out of 5 stars0 ratingsWeniger schlecht programmieren Rating: 4 out of 5 stars4/5Traumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Rating: 5 out of 5 stars5/5Knigge für Softwarearchitekten Rating: 0 out of 5 stars0 ratingsSoftware entwickeln mit C#, WPF und dem MVVM-Konzept Rating: 0 out of 5 stars0 ratings
Computers For You
Running Lean: Das How-to für erfolgreiche Innovationen Rating: 4 out of 5 stars4/5Niklas Luhmann: "... stattdessen ...": Eine biografische Einführung Rating: 0 out of 5 stars0 ratingsLexikon der Symbole und Archetypen für die Traumdeutung Rating: 5 out of 5 stars5/5Tastenkombinationen für den Mac: Alle wichtigen Funktionen Rating: 0 out of 5 stars0 ratingsEinstieg in ChatGPT: Künstliche Intelligenz verstehen und nutzen: Ein praktischer Ratgeber für Einsteiger Rating: 0 out of 5 stars0 ratingsEinstieg in den Online-Unterricht: Videokonferenzen in der Erwachsenenbildung Rating: 0 out of 5 stars0 ratingsDatenbanken: Grundlagen und Entwurf Rating: 0 out of 5 stars0 ratingsBig Data: Die neue Intelligenz des Menschen (GEO eBook) Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsWordPress - Elementor Rating: 0 out of 5 stars0 ratings...Als die Noten laufen lernten...Band 2: Kabarett-Operette-Revue-Film-Exil. Unterhaltungsmusik bis 1945 Rating: 0 out of 5 stars0 ratingsLaws of UX: 10 praktische Grundprinzipien für intuitives, menschenzentriertes UX-Design Rating: 0 out of 5 stars0 ratingsDatenintensive Anwendungen designen: Konzepte für zuverlässige, skalierbare und wartbare Systeme Rating: 0 out of 5 stars0 ratingsREST: Grundlagen und Gestaltung von REST-Diensten Rating: 0 out of 5 stars0 ratingsRaspberry Pi Kinderleicht: Pi 4 mit 8 GB Rating: 0 out of 5 stars0 ratingsShopware 6 Handbuch Rating: 0 out of 5 stars0 ratingsPocket Book - Das inoffizielle Handbuch. Anleitung, Tipps, Tricks Rating: 0 out of 5 stars0 ratingsKybernetik, Kommunikation und Konflikt: Gregory Bateson und (s)eine kybernetische Konflikttheorie Rating: 0 out of 5 stars0 ratingsAnglizismen und andere "Fremdwords" deutsch erklärt: Über 1000 aktuelle Begriffe Rating: 0 out of 5 stars0 ratingsDie Geschichte des Computers: Wie es bis zur Form des heutigen 'PC' kam. Rating: 0 out of 5 stars0 ratingsBusiness-Intelligence-Lösungen für Unternehmen Rating: 0 out of 5 stars0 ratingsChatGPT Plus: Durchstarten in eine neue Welt: Entdecken Sie Künstliche Intelligenz mit ChatGPT Plus und GPT-4 Rating: 0 out of 5 stars0 ratingsIndustrie 4.0 und Digitalisierung – Innovative Geschäftsmodelle wagen! Rating: 0 out of 5 stars0 ratingsAufstieg der Roboter: Wie unsere Arbeitswelt gerade auf den Kopf gestellt wird - und wie wir darauf reagieren müssen Rating: 0 out of 5 stars0 ratingsSo findest du den Einstieg in WordPress: Die technischen Grundlagen zu Installation, Konfiguration, Optimierung, Sicherheit, SEO Rating: 0 out of 5 stars0 ratingsDie KI Bibel, mit künstlicher Intelligenz Geld verdienen: Echte Fallbeispiele und Anleitungen zum Umsetzen Rating: 1 out of 5 stars1/5Das Minecraft-Server-Buch Rating: 0 out of 5 stars0 ratingsMachine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn Rating: 5 out of 5 stars5/5Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Rating: 0 out of 5 stars0 ratings
Reviews for Big Data - Apache Hadoop
0 ratings0 reviews
Book preview
Big Data - Apache Hadoop - Bernd Fondermann
Bernd Fondermann, Kai Spichale, Lars George
Big Data
Apache Hadoop
ISBN: 978-3-86802-400-5
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Daten im großen Stil – Apache Hadoop
von Bernd Fondermann
Doug Cutting hatte ein Problem, für das Internetarchiv das Internet (sprich alles HTML) herunterzuladen und zu speichern. Das war vor zehn Jahren schon eine Herausforderung, heute ist sie mit dem exponentiellen Anwachsen der Daten nicht kleiner. Allein die schiere Datenmenge: Petabyte, also Millionen von Gigabyte.
Und selbstverständlich kann man diese Daten in einer riesigen, über das Netzwerk erreichbaren Festplatte ablegen, einem Network Attached Storage (NAS) wie sie heute verfügbar sind. Solche Lösungen sind aber nicht nur teuer, sie haben auch einen entscheidenden architektonischen Nachteil: Zum massiven Verarbeiten der Files müssen sie über das Netzwerk zum entsprechenden Programm geschleust werden. Was die Laufzeit substanziell verlängern kann. Soll also stattdessen alles in Scharen von relationalen Datenbanken untergebracht werden? Clustering von RDB ist auch heute noch kein Mainstream. Zudem sind Oracle, Postgres und Co. exzellent geeignet für normalisierte Daten. Das ist eine Eigenschaft, die Quellcode von Webseiten nicht hat. Für viele nebenläufige, beliebige Lesezugriffe sind relationale DBs zwar geeignet, aber nicht optimiert. Und wehe, es kommen ein paar Schreiboperation dazwischen. Außerdem sind sie extrem gut darin, einen konsistenten Zustand über den gesamten Bestand zu gewährleisten und strukturierte Daten miteinander zu verknüpfen. Das ist entscheidend für das E-Business, in dessen Aufschwungphase relationale Datenbanken groß geworden sind. Für die Verarbeitung von gecrawlten Webseiten sind andere Dinge viel wichtiger: Redundanz, Verteilung, Durchsatz, Skalierbarkeit auf große Datenmengen, Toleranz gegenüber Ausfällen von Teilsystemen.
Der Batch-Job, das hässliche Entlein?
Langlaufende Batch-Jobs besuchen die Websites, speichern sie historisiert ab und verarbeiten sie weiter. Es wurde Cutting schnell klar, dass die klassische Batch-Verarbeitung hier nicht ausreicht [1]. Doch wie schafft man es, dass solche Prozesse weiterlaufen, auch wenn Teile Fehler generieren, und wie kann man sie effektiv und effizient über möglichst viele Maschinen verteilen, auch wenn man nicht vorhersagen kann, wo Daten zusammenhängen und eigentlich gemeinsam verarbeitet werden müssen? Cutting stieß im Internet auf ein Paper einer Firma namens Google Inc., die dasselbe Problem hatte und eine Lösung dafür vorstellte: MapReduce beschreibt eine verteilte Ablaufumgebung, die grob gesagt in zwei Schritten aus Inputdaten neue Daten generiert. Dabei ist die Struktur von Input und Output unerheblich. Die Idee ist so einfach wie genial, aber für relational Geschulte (und wer könnte sich davon ausnehmen) fremd: In einem ersten Schritt, Map genannt, werden alle Datensätze in verteilten Prozessen gelesen, verarbeitet und die Ergebnisse unabhängig voneinander (parallelisiert) in eine Key-Value-Datenstruktur (eine Multi-Map) geschrieben. Dabei achtet man darauf, dass genau die Daten denselben Key erhalten, die im zweiten, dem Reduce-Schritt, gemeinsam weiterverarbeitet werden. Werte zu unterschiedlichen Keys werden unabhängig voneinander gegebenenfalls parallel weiterverarbeitet. So erreicht man, dass beide Phasen hochparallel und verteilt ablaufen und dennoch Zusammenhänge innerhalb von großen Datenmengen hergestellt werden können. Cutting implementierte MapReduce Mitte des vergangenen Jahrzehnts als Open Source in Java und nannte