Map Reduce. Programmiermodell. Prof. Dr. Ingo Claÿen. Motivation. Modell. Verarbeitungsablauf. Algorithmen-Entwurf. Map-Reduce in Java
|
|
- Dennis Beltz
- vor 8 Jahren
- Abrufe
Transkript
1 Map Reduce Programmiermodell Prof. Dr. Ingo Claÿen Hochschule für Technik und Wirtschaft Berlin Motivation Modell Verarbeitungsablauf Algorithmen-Entwurf Map-Reduce in Java
2 Motivation Was ist Map-Reduce Programmiermodell für verteilte Verarbeitung auf groÿen Datenmengen Ausführungsmodell für parallele Ausführung auf Cluster einfacher Servermaschinen (comodity server) Entwickelt von Google Map Reduce Ingo Claÿen 2/25
3 Motivation Warum? Groÿe Datenmengen sind Fakt Systeme müssen diese verarbeiten Datenerzeuger Web oder Teile davon Sensorsysteme: z.b. Infrastruktur wie Straÿen, Brücken Web-basierte Geschäftsmodelle (Startups) Analytik Datamining (Text, Bilder, Video) Maschinelles Lernen Echtzeit-Reaktionen Map Reduce Ingo Claÿen 3/25
4 Motivation Enorme Datengröÿen Google: 20PB pro Tag ebay: 6.5 PB, Zunahme 150 Milliarden Datensätze pro Tag Facebook: 2,5 PB Nutzerdaten, Zunahme 15 TB pro Tag Map Reduce Ingo Claÿen 4/25
5 Motivation Weitere Beispiele Teilchenphysik: Large Hadron Collider, 15PB/Jahr Astronomie: Sloan Digital Sky Survey, 3.2 Gigapixel-Kamera, 0,5PB/Monat Bioinformatik: DNA-Sequenzierung, PB-Datenbankgröÿen Telematik: Detaildaten von Verkehrsüssen (Sensorik) Map Reduce Ingo Claÿen 5/25
6 Modell Verarbeitungsprinzipien Horizontale nahtlose Skalierbarkeit. Scale out, not up Fehler treten häug auf Sende Programme an die Daten, nicht umgekehrt Verarbeitung der Daten in sequenziellen Blöcken Programiermodell, das vor der Komplexität paralleler Verarbeitung abschirmt Map Reduce Ingo Claÿen 6/25
7 Modell Theoretisches Verarbeitungsmodell: Funktionale Programmierung map reduce + = 182 Map Reduce Ingo Claÿen 7/25
8 Modell Praktisches Verarbeitungsmodell Schlüssel-Wert-Paare map : K 1 V 1 List[K 2 V 2 ] reduce : K 2 List[V 2 ] List[K 3 V 3 ] Verarbeitungsphasen 1. Map 2. Shue (Partitionierung, Sortierung) 3. Reduce Map Reduce Ingo Claÿen 8/25
9 Verarbeitungsablauf Map F K F K F -K F K F K F K F -K F K F -K F K F -K F K F 4 FK 3 F-K 1 F 5 FK 3 F-K 2 F 3 FK 2 F-K 1 F=hat Fieber K=ist krank -F=hat kein Fieber -K=ist nicht krank Map Reduce Ingo Claÿen 9/25
10 Verarbeitungsablauf Shue F 4 FK 3 F-K 1 F 5 FK 3 F-K 2 F 3 FK 2 F-K 1 F 4, 5, 3 FK 3, 3, 2 F-K 1, 2, 1 F=hat Fieber K=ist krank -F=hat kein Fieber -K=ist nicht krank Map Reduce Ingo Claÿen 10/25
11 Verarbeitungsablauf Reduce F 4, 5, 3 FK 3, 3, 2 F-K 1, 2, 1 F 12 FK 8 F-K 4 F=hat Fieber K=ist krank -F=hat kein Fieber -K=ist nicht krank Map Reduce Ingo Claÿen 11/25
12 Verarbeitungsablauf Technische Umsetzung Map Reduce Ingo Claÿen 12/25
13 Verarbeitungsablauf Combiner Map Reduce Ingo Claÿen 13/25
14 Algorithmen-Entwurf WordCount class Mapper { map(docid: Str, doc: Str) { for(word: doc.split(",")) { emit(word, 1) class Reducer { reduce(word: Str, countlist: List[Int]) { sum = 0 for(count: countlist) { sum += count emit(word, sum) Map Reduce Ingo Claÿen 14/25
15 Algorithmen-Entwurf WordCount In Mapper Combining 1 Veringerung der Key/Value-Paare pro Dokument class Mapper { map(docid: Str, doc: Str) { f = Func[Str,Int]() for(word: doc.split(",")) { f.putreplace(word, 1, f.get(word) + 1) for(word: f.keyset()) { emit(word, f.get(word)) Map Reduce Ingo Claÿen 15/25
16 Algorithmen-Entwurf WordCount In Mapper Combining 2 Veringerung der Key/Value-Paare dokumentenübergreifend class Mapper { f: Func[Str,Int] setup() { f = Func[Str,Int]() map(docid: Str, doc: Str) { for(word: doc.split(",")) { f.putreplace(word, 1, f.get(word) + 1) cleanup() { for(word: f.keyset()) { emit(word, f.get(word)) Map Reduce Ingo Claÿen 16/25
17 Algorithmen-Entwurf Mittelwertberechnung class Mapper { map(key: Str, value: Int) { emit(key, value) class Reducer { reduce(key: Str, valuelist: List[Int]) { sum = 0 cnt = 0 for(value: valuelist) { sum += value cnt += 1 emit(key, sum / count) Map Reduce Ingo Claÿen 17/25
18 Algorithmen-Entwurf Mittelwertberechnung Combiner Mittelwertbildung ist nicht komponierbar X = [x 1,..., x k ] und Y = [y 1,..., y n ] avg(x + Y ) avg(avg(x ), avg(y )) Daher muss der Combiner ein Paar aus Summe und Anzahl abliefern class Combiner { combine(key: Str, valuelist: List[Int]) { sum = 0 cnt = 0 for(value: valuelist) { sum += value cnt += 1 emit(key, Pair[Int,Int](sum, count)) Map Reduce Ingo Claÿen 18/25
19 Algorithmen-Entwurf Mittelwertberechnung Veränderter Reducer Bekommt als Werteliste eine Liste von Paaren class Reducer { reduce(key: Str, sumcountlist: List[Pair[Int,Int]]) { sum = 0 cnt = 0 for(pair: sumcountlist) { sum += pair.1 cnt += pair.2 emit(key, sum / count) Achtung: Ist nicht mehr mit dem Mapper kompatibel Map Reduce Ingo Claÿen 19/25
20 Algorithmen-Entwurf Mittelwertberechnung Angepasster Mapper/Combiner class Mapper { map(key: Str, value: Int) { emit(key, Pair[Int,Int](value, 1)) class Combiner { combine(key: Str, valuelist: List[Pair[Int,Int]]) { sum = 0 cnt = 0 for(pair: sumcountlist) { sum += pair.1 cnt += pair.2 emit(key, Pair[Int,Int](sum, count)) Map Reduce Ingo Claÿen 20/25
21 Algorithmen-Entwurf Mittelwertberechnung Mapper mit In-Memory Combining class Mapper { f: Func[Str,Int] setup() { fsum = Func[Str,Int]() fcount = Func[Str,Int]() map(key: Str, value: Str) { fsum.putreplace(key, value, fsum.get(key) + value) fcount.putreplace(key, 1, fcount.get(key) + 1) cleanup() { for(key: fsum.keyset()) { emit(key, Pair[Int,Int](fsum.get(key), fcount.get(key)) Map Reduce Ingo Claÿen 21/25
22 Map-Reduce in Java Mapper in Java public static class Map extends Mapper<LongWritable, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(longwritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.tostring(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasmoretokens()) { word.set(tokenizer.nexttoken()); context.write(word, one); Map Reduce Ingo Claÿen 22/25
23 Map-Reduce in Java Reducer in Java public static class Reduce extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); context.write(key, new IntWritable(sum)); Map Reduce Ingo Claÿen 23/25
24 Map-Reduce in Java Jobsteuerung in Java public class WordCount extends Configured implements Tool { public static class Map... public static class Reduce... public int run(string[] args) throws Exception { Job job = new Job(getConf()); job.setjarbyclass(wordcount.class); job.setjobname("wordcount"); job.setoutputkeyclass(text.class); job.setoutputvalueclass(intwritable.class); job.setmapperclass(map.class); job.setcombinerclass(reduce.class); job.setreducerclass(reduce.class); Map Reduce Ingo Claÿen 24/25
25 Map-Reduce in Java Jobsteuerung in Java - Fortsetzung job.setinputformatclass(textinputformat.class); job.setoutputformatclass(textoutputformat.class); FileInputFormat.setInputPaths(job, new Path("words.txt")); FileOutputFormat.setOutputPath(job, new Path("out")); boolean success = job.waitforcompletion(true); return success? 0 : 1; public static void main(string[] args) throws Exception { int res = ToolRunner.run(new Configuration(), new WordCount(), args); System.exit(res); Map Reduce Ingo Claÿen 25/25
Hadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes
Hadoop Eine Open-Source-Implementierung von MapReduce und BigTable von Philipp Kemkes Hadoop Framework für skalierbare, verteilt arbeitende Software Zur Verarbeitung großer Datenmengen (Terra- bis Petabyte)
MehrHadoop. Simon Prewo. Simon Prewo
Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert
MehrDatenanalyse im Web. Einführung in das Thema. Prof. Dr. Ingo Claÿen. Beispiele für Daten im Web. Extraktion und Aggregation von Informationen
Datenanalyse im Web Einführung in das Thema Prof. Dr. Ingo Claÿen Hochschule für Technik und Wirtschaft Berlin Beispiele für Daten im Web Extraktion und Aggregation von Informationen Datenanalyse im Web
MehrBig Data. Professional IT Master. Prof. Dr. Ingo Claßen. Überblick. Verarbeitungsmodell. Verarbeitungsablauf. Verteilte Daten. Ressourcenmanagement
Big Data Professional IT Master Prof. Dr. Ingo Claßen Hochschule für Technik und Wirtschaft Berlin Überblick Verarbeitungsmodell Verarbeitungsablauf Verteilte Daten Ressourcenmanagement Koordination Überblick
MehrHadoop & Spark. Carsten Herbe. 8. CC-Partner Fachtagung 2015
Hadoop & Spark Carsten Herbe 8. CC-Partner Fachtagung 2015 29.04.2015 Daten & Fakten 25 Jahre Erfahrung, Qualität & Serviceorientierung garantieren zufriedene Kunden & konstantes Wachstum 25 Jahre am Markt
MehrSoftware Engineering Software Frameworks. am Beispiel Ruby on Rails Hendrik Volkmer WWI2010G
Software Engineering Software Frameworks am Beispiel Ruby on Rails Hendrik Volkmer WWI2010G Vorstellung Plan für heute Donnerstag Freitag Montag Softwareframeworks Wiederholung Wiederholung Webframeworks
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Software Engineering für moderne, parallele Plattformen 10. MapReduce Dr. Victor Pankratius Agenda Motivation Der MapReduce-Ansatz Map- und
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrSpark das neue MapReduce?
Spark das neue MapReduce? Oracle Data Warehouse Konferenz 2015 Carsten Herbe Business Intelligence Wir fokussieren mit unseren Services die Herausforderungen des Marktes und verbinden Mensch und IT Themenbereiche
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrGebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
MehrSpark das neue MapReduce?
Spark das neue MapReduce? Oracle Data Warehouse Konferenz 2015 Carsten Herbe Business Intelligence Wir fokussieren mit unseren Services die Herausforderungen des Marktes und verbinden Mensch und IT Themenbereiche
MehrAPACHE PIG SEMINARARBEIT SSE - WS12/13 SEBASTIAN WALTHER
APACHE PIG SEMINARARBEIT SSE - WS12/13 SEBASTIAN WALTHER INHALT Das Hadoop Framework Hadoop s Distributed File System (HDFS) MapReduce Apache Pig Was ist Apache Pig & Pig Latin Anwendungsumgebungen Unterschied
MehrMapReduce mit Hadoop 08.11.12 1
MapReduce mit Hadoop 08.11.12 1 Lernziele / Inhalt Wiederholung MapReduce Map in Hadoop Reduce in Hadoop Datenfluss Erste Schritte Alte vs. neue API Combiner Functions mehr als Java 08.11.12 2 Wiederholung
MehrMapReduce. www.kit.edu. Johann Volz. IPD Snelting, Lehrstuhl Programmierparadigmen
MapReduce Johann Volz IPD Snelting, Lehrstuhl Programmierparadigmen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Wozu MapReduce?
MehrHadoop in a Nutshell HDFS, MapReduce & Ecosystem. Oracle DWH Konferenz 2014 Carsten Herbe
Hadoop in a Nutshell HDFS, MapReduce & Ecosystem Oracle DWH Konferenz 2014 Carsten Herbe Wir fokussieren mit unseren Services die Herausforderungen des Marktes und verbinden Mensch und IT. Business Intelligence
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrNeue Ansätze der Softwarequalitätssicherung
Neue Ansätze der Softwarequalitätssicherung Googles MapReduce-Framework für verteilte Berechnungen am Beispiel von Apache Hadoop Universität Paderborn Fakultät für Elektrotechnik, Informatik und Mathematik
MehrPragmatik von Programmiersprachen
Pragmatik von Programmiersprachen Im Kontext der Notation von Quelltexten Mike Becker, 11. Dezember 2014 Szenario: IT Dienstleister Unternehmen: Produkte: Kunden: IT Dienstleistung Beratung und Software
MehrGliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions
try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrVerteilte Systeme. Map Reduce. Secure Identity Research Group
Verteilte Systeme Map Reduce Map Reduce Problem: Ein Rechen-Job (meist Datenanalyse/Data-Mining) soll auf einer riesigen Datenmenge ausgeführt werden. Teile der Aufgabe sind parallelisierbar, aber das
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrWebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrÜbungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
MehrJava Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrÜberblick. Einführung Graphentheorie
Überblick Einführung Graphentheorie Graph-Algorithmen mit Map Kurzeinführung Graphentheorie Algorithmus zum Finden von Cliquen Graphen bestehen aus Knoten (englisch: Node, Vertex, Mehrzahl Vertices) Kanten
MehrAnleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)
Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrBesonderheiten von C#
Besonderheiten von C# Wert- und Referenztypen int a, b; a = 3; b = a; a++; Debug.Assert( a==4 && b==3 &&!a.equals(b), "int ist doch kein Werttyp" ); RTyp ra, rb; ra = new RTyp(3); rb = ra; ra.inc(); Debug.Assert(
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am
MehrLösungsvorschläge. zu den Aufgaben im Kapitel 4
Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere
MehrCloud Data Management Kapitel 4: MapReduce(Teil3)
Cloud Data Management Kapitel 4: MapReduce(Teil3) Dr. Eric Peukert Wintersemester 2017 Universität Leipzig, Institut für Informatik http://dbs.uni-leipzig.de Inhaltsverzeichnis MapReduce MapReduce-Umsetzung
MehrHadoop in a Nutshell Einführung HDFS und MapReduce. Oracle/metafinanz Roadshow Februar 2014
Hadoop in a Nutshell Einführung HDFS und MapReduce Oracle/metafinanz Roadshow Februar 2014 Head of Data Warehousing DWH Principal Consultant DWH Senior Consultant Wir fokussieren mit unseren Services die
MehrSpeicherstrukturen. Aufgabe 1-1: Fragen zu FAT (File Allocation Table) Aufgabe 1-2: Datensätze variabler Länge. Kind.java:
Institut für Datenbanken und Informationssysteme Prof. Dr. M. Reichert, M. Predeschly, J. Kolb Lösung für Übungsblatt 1 Aufgabe 1-1: Fragen zu FAT (File Allocation Table) 1. Im Bootsektor der Festplatte
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
MehrSynchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
Mehrmetafinanz Business & IT Consulting Hadoop in a Nutshell
metafinanz Business & IT Consulting Hadoop in a Nutshell 15.03.2016 25 Jahre Erfahrung, Qualität & Serviceorientierung garantieren zufriedene Kunden & konstantes Wachstum Daten & Fakten 25 Jahre am Markt
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrRemote Method Invocation
Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrSemantik und konzeptionelle Modellierung
Semantik und konzeptionelle Modellierung Verteilte Datenbanken Christoph Walesch Fachbereich MNI der FH Gieÿen-Friedberg 18.1.2011 1 / 40 Inhaltsverzeichnis 1 Verteiltes Rechnen MapReduce MapReduce Beispiel
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrRekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die
MehrÜberblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
MehrJDBC. Allgemeines ODBC. java.sql. Beispiele
JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet
Mehr2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrFortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrJava-Programmierung. Remote Method Invocation - RMI
Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig
MehrProgrammiermethodik. Übung 13
Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
MehrWebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.
Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrEinführung in Hadoop & MapReduce. Dr. Kathrin Spreyer Big Data Engineer
Einführung in Hadoop & MapReduce Dr. Kathrin Spreyer Big Data Engineer München, 19.06.2013 Agenda Einleitung 1. HDFS 2. MapReduce 3. APIs 4. Hive & Pig 5. Mahout Tools aus Hadoop-Ökosystem 6. HBase 2 Worum
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
Mehr2015-06-11 Tagesprogramm
1 2015-06-11 Tagesprogramm Design-by-Contract 2 Vertragspartner Anbieter (Server) bietet Leistungen (Services) an Kunde (Client) nimmt von Anbietern angebotene Leistungen in Anspruch Details der Inanspruchnahme
MehrBeispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf
16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrApache HBase. A BigTable Column Store on top of Hadoop
Apache HBase A BigTable Column Store on top of Hadoop Ich bin... Mitch Köhler Selbstständig seit 2010 Tätig als Softwareentwickler Softwarearchitekt Student an der OVGU seit Oktober 2011 Schwerpunkte Client/Server,
MehrTCP/IP Programmierung. C# TimeServer Java6 TimeClient
TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7
MehrDatum, Uhrzeit: 18. 07. 2014, 10.30 Uhr Matrikelnummer:... Semester: INbac2 Prüfer: Prof. Meixner Note:...
Prüfung "Programmieren 2", INbac2, SS 2014 Seite 1 von 7 Datum, Uhrzeit: 18. 07. 2014, 10.30 Uhr Matrikelnummer:... Semester: INbac2 Prüfer: Prof. Meixner Note:... Dauer: 60 Min. Hilfsmittel: keine Punkte:...
MehrJava - Programmierung - Objektorientierte Programmierung 1
Java - Programmierung - Objektorientierte Programmierung 1 // Klassen und Objekte public class KlaObj public static void main(string args []) Klasse1 a; a = new Klasse1("heute", 47); Klasse1 b = new Klasse1
MehrSuchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Suchbäume Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative
MehrDatenbanktechnologien für Big Data
Datenbanktechnologien für Big Data Oktober 2013 Prof. Dr. Uta Störl Hochschule Darmstadt Big Data Technologien Motivation Big Data Technologien NoSQL-Datenbanksysteme Spaltenorientierte Datenbanksysteme
Mehri n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging
Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des
MehrÜberblick Hadoop Einführung HDFS und MapReduce. DOAG Regionaltreffen München/Südbayern Februar 2014
Überblick Hadoop Einführung HDFS und MapReduce DOAG Regionaltreffen München/Südbayern Februar 2014 Wir fokussieren mit unseren Services die Herausforderungen des Marktes und verbinden Mensch und IT. Business
MehrDie Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff
Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung
MehrProgrammiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http://www.d120.de/vorkurs.
Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http:www.d120.de/vorkurs Aufgabenblatt 3 Du findest zur Bearbeitung dieses Aufgabenblatts zu einigen Aufgaben
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
MehrJava Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung
Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
MehrProblemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.
Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden
MehrOperationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2
Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2 von Christoph Knabe http://public.beuth-hochschule.de/~knabe/ Ch. Knabe: Operationalisierbare Qualitätskriterien
Mehr