Universität Karlsruhe (TH)

Größe: px
Ab Seite anzeigen:

Download "Universität Karlsruhe (TH)"

Transkript

1 Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Software Engineering für moderne, parallele Plattformen 10. MapReduce Dr. Victor Pankratius

2 Agenda Motivation Der MapReduce-Ansatz Map- und Reduce-Operationen Googles Implementierungskonzept Fehlertoleranz Beispiele Weitere Implementierungen Apache Hadoop Skriptsprachen: Sawzall, Pig Kritiken Ausblick 2

3 Motivation (1) Programmiermodell, das bei der Parallelisierung datenintensiver Anwendungen zum Einsatz kommt Bei Google entwickelt Beispiele für häufige Fragestellungen Zähle Häufigkeit der Zugriffe auf eine bestimmte Web-Seite Eingabe: URL Ausgabe: (URL, Häufigkeit) Invertierter Link-Graph Eingabe: Liste(QuellURL 1, QuellURL 2,,, Quell-URL i ) Quell-URL i : Seite mit weiteren Ziel-URLs Ausgabe: Liste(Ziel-URL j, Liste(Quell-URL i )) Zähle Worthäufigkeiten auf allen Web-Seiten Eingabe: Liste((DokumentID 1, Inhalt 1 ),, (DokumentID i, Inhalt i ), ) Ausgabe: Liste(Wort, Häufigkeit) 3

4 Motivation (2) Generelles Problem Daten sind zu groß, um sie auf einer einzigen Maschine sequenziell zu bearbeiten Notwendig Parallelisierung Verteilung von Daten Fehlertoleranz Programmierung aufwändig 4

5 Der MapReduce-Ansatz (1) Ziel: Verstecke Komplexität der parallelen Programmierung, Datenverteilung, Fehlertoleranz vor dem Entwickler MapReduce-Ansatz Bietet dem Entwickler eine Schnittstelle mit nur zwei Operationen an, die er selbst definieren muss: Map und Reduce Inspiriert von Map/Reduce aus funktionalen Sprachen (vgl. frühere Vorlesung) Zwei Schritte Map: Generiert aus Eingabedaten eine Sammlung von Zwischenergebnissen Reduce: Generiert daraus aggregierte Ergebnisse 5

6 Der MapReduce-Ansatz (2) Map-Operation Map erzeugt als Zwischenergebnis eine Sammlung von (Schlüssel, Wert)-Paaren Beispiel: Zähle Wörter in einem Dokument Zunächst: Anwendung von Map (konzeptuell) map(dokumentname, wert){ for each word w in wert emit(w, "1"); } Textinhalt des Dokuments Emittiert für jedes Wort ein Paar, welches das Wort und die Häufigkeit 1 enthält. Für dasselbe Wort, das mehr als einmal vorkommt, werden mehrere Paare erzeugt. Anmerkung: Eingabe (Dokumentname, Wert) ist auch ein Paar, jedoch haben dessen Elemente einen anderen Definitionsbereich als die Elemente der emittierten Paare Implementierungsdetails später 6

7 Der MapReduce-Ansatz (3) Reduce-Operation Reduce kombiniert Zwischenergebnisse Beispiel (fortgesetzt) reduce(wort, werte){ int ergebnis = 0; for each w in werte ergebnis += w; emit(wort,ergebnis); } Liste mit Worthäufigkeiten. Entsteht durch Aufsammeln und Gruppieren mehrer Paare, die dasselbe Wort als Schlüssel haben. Wird der Reduce-Operation als Iterator übergeben. Auf diese Weise sind große Datenmengen handhabbar, die sonst nicht vollständig in den Speicher passen würden Summiere die Häufigkeiten aus der Werteliste auf und emittiere das Ergebnis. Anmerkung: Elemente der Eingabe-Paars haben denselben Definitionsbereich wie die des Ausgabe-Paars Es kann mehrere Arbeiter geben, welche die Reduktionsoperation ausführen und selbst wieder Zwischenergebnisse emittieren 7

8 Der MapReduce-Ansatz (4) Implementierung Das MapReduce-Konzept ist nicht an eine bestimmte Rechnerarchitektur gebunden Die Implementierung der Schnittstelle kann z.b. auf Rechner mit verteiltem Speicher (Cluster) oder gemeinsamen Speicher (Multicore-Rechner) zugeschnitten sein Beispiel für Implementierungen auf Architektur mit gemeinsamen Speicher: Phoenix (Stanford; C++/PThreads) auf Architektur mit verteiltem Speicher: Google, Hadoop Wir besprechen einige Details anhand von Googles Implementierung für Rechnerbündel (Cluster) 8

9 Der MapReduce-Ansatz (5) Implementierung 9

10 Der MapReduce-Ansatz (6) Implementierung Für die parallele Ausführung der Map-Operation werden zunächst die Eingabedaten in M disjunkte Partitionen ("splits") zerlegt etwa MB pro Partition (kontrollierbar durch Parameter) Können parallel auf verschiedenen Rechnern bearbeitet werden 10

11 Der MapReduce-Ansatz (7) Implementierung Danach: Starte Kopien des Programms auf Rechner im Cluster (1). Definiere eine Instanz als Koordinator, den Rest als Arbeiter 11

12 Der MapReduce-Ansatz (8) Implementierung Koordinator weist laufenden Arbeiter-Instanzen Map- oder Reduce-Aufgabe zu (beachtet Lokalitätsgesichtspunkte) Es werden M Map-Aufgaben und R Reduce-Aufgaben zugewiesen 12

13 Der MapReduce-Ansatz (9) Implementierung Arbeiter mit Map-Aufgabe Liest Inhalte seiner zugewiesenen Partition (3) Bearbeitet alle Eingabepaare mit seiner Map-Funktion Die Ergebnisse werden im Hauptspeicher gepuffert In periodischen Abständen werden Puffer auf Festplatte geschrieben (4) Anhand einer Partitionierungsfunktion in R Partitionen unterteilt (z.b. hash(key) mod R) Der Ablageort der Partitionen wird dem Koordinator gemeldet, der für die Übergabe an Reduce- 13 Arbeiter verantwortlich ist

14 Der MapReduce-Ansatz (10) Implementierung Arbeiter mit Reduce-Aufgabe Wird vom Koordinator benachrichtigt Bekommt Ablageort für Zwischenergebnisse (Partitionen), die er von den Festplatten der Worker liest (5) Danach: Sortierung der Paare nach Schlüssel, so dass Paare mit gleichem Schlüssel gruppiert werden Arbeiter iteriert darüber. Jeder Schlüssel wird samt der zugehörigen Werte der Reduktionsoperation übergeben Das Ergebnis der Reduktionsfunktion wird in einer Ausgabedatei angefügt, die zur Partition assoziiert ist (6). 14

15 Der MapReduce-Ansatz (11) Implementierung Wenn alle Map- und Reduce-Aufgaben bearbeitet wurden, kehrt der Aufruf zum Benutzer-Programm zurück. Die Ausgabe des MapReduce- Programms befindet sich in R Dateien (eine pro Reduktions-Aufgabe) Können als Eingabe für weitere MapReduce-Aufrufe verwendet werden 15

16 Fehlertoleranz Arbeiter Werden periodisch abgefragt, ob noch funktionsfähig Keine Antwort: Kennzeichnung als nicht funktionsfähig Zugewiesene Aufgaben werden vom Koordinator neu verteilt Auch erfolgreich beendete Map-Aufgaben werden neu verteilt, da deren Ausgabe auf lokaler Festplatte war Reduce-Arbeiter werden über Änderung benachrichtigt Koordinator Zustand wird regelmäßig gesichert ( Checkpointing ) Bei Versagen: Neustart und Wiederherstellung des letzten gesicherten Zustands 16

17 Der MapReduce-Ansatz Weitere Beispiele Beispiel aus Sprachverarbeitung in einem Übersetzungssystem Zähle, wie oft jede 5-Wörter-Sequenz in einem großen Korpus von Dokumenten vorkommt Map: Extahiere (5-Wörter-Sequenz, Anz) von Dokument Reduce: Kombiniere Anz 17

18 Der MapReduce-Ansatz Weitere Beispiele Performanz (1) Ausführung eines auf MapReduce basierenden grep-programms (Global Regular Expression Print) Durchsucht Byte lange Datensätze (~ 1TB) nach einem seltenen, drei Zeichen langem Muster (nur in 92,337 Datensätzen vorhanden) Eingabe in M=15000 Partitionen à 64MB unterteilt, Ausgabe in einer einzigen Partition (R=1) Datentransferrate im zeitlichen Verlauf (Cluster mit 1800 Rechnern, mit je 2GHz Intel Xeon, 4GB RAM, 2x160GB HD, Gigabit Ethernet): Rate, mit der Eingabedaten gelesen werden Sekunden nach Ausführung 18

19 Der MapReduce-Ansatz Weitere Beispiele Performanz (2) Sekunden nach Ausführung Rate nimmt anfangs zu, wenn mehr und mehr Rechnern Arbeit zugewiesen wird Maximum bei ~ 30GB/s und 1764 Arbeitern Danach beginnen Map-Aufgaben fertig zu werden Gesamtdauer der Ausführung etwa 150s; Mehraufwand beim Start ~1 Minute (Programm auf verschiedenen Rechnern starten, etc.) Performanzvergleich mit anderen Verfahren für dieselbe Aufgabe wurde nicht publiziert 19

20 Open-Source-Implementierung Hadoop (1) Open-Source-Implementierung von MapReduce Apache-Projekt Seit September 2007 In Java geschrieben Entwickler schreibt MapReduce-Programm in Java Juni 2008: Noch kein 1.0 -Release Im Folgenden nur Skizzen zur Implementierung 20

21 Hadoop (2) Beispiel: Wörter zählen Programm besteht aus drei Teilen Klasse, die Mapper implementiert Eingabe: Textzeilen Ausgabe: (Schlüssel: Wort, Wert: 1) Klasse, die Reducer implementiert Eingabe: (Schlüssel: Wort, Wert: Liste von Werten) Ausgabe: (Schlüssel: Wort, Wert: Häufigkeit) Hauptprogramm Definiert Aufgabe Führt Aufgabe im Cluster aus 21

22 Hadoop (3) Beispiel: Wörter zählen - Map public static class MapClass extends MapReduceBase implements 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, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { } } String line = value.tostring(); StringTokenizer itr = new StringTokenizer(line); while (itr.hasmoretokens()) { word.set(itr.nexttoken()); output.collect(word, one); } 22

23 Hadoop (4) Beispiel: Wörter zählen - Reduce public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> { } public void reduce(text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { int sum = 0; while (values.hasnext()) { sum += values.next().get(); } output.collect(key, new IntWritable(sum)); } 23

24 Hadoop (5) Beispiel: Wörter zählen - Hauptprogramm public class WordCount {... public static void main(string[] args) throws IOException { JobConf conf = new JobConf(WordCount.class); // the keys are words (strings) conf.setoutputkeyclass(text.class); // the values are counts (ints) conf.setoutputvalueclass(intwritable.class); conf.setmapperclass(mapclass.class); conf.setreducerclass(reduce.class); conf.setinputpath(new Path(args[0]); conf.setoutputpath(new Path(args[1]); JobClient.runJob(conf);... 24

25 Kritiken zu MapReduce MapReduce-Kontroverse in der Datenbank-Gemeinde MapReduce wiederholt bereits gemachte Fehler Brute-force-Ansatz, keine Indizierung o.ä. Performanz unklar Kein Schema für Daten Konstrukte nicht abstrakt genug Keine angemessene Abfragesprache David J. DeWitt and Michael Stonebraker, MapReduce: A major step backwards, The Database Column, Januar

26 Ansätze für weitere Sprachabstraktionen (1) Verschiedene Vorschläge für Skriptsprachen, die Konstrukte auf höherer Abstraktionsebene anbieten, z.b. Sawzall Pig Bei Google entwickelte und benutzte Skriptsprache, die auf Googles MapReduce-Implementierung aufsetzt Skriptsprache, die ursprünglich als Forschungsprojekt bei Yahoo im Mai 2006 begann Noch in Entwicklung Ziel: MapReduce-Programme generieren (z.b. für Hadoop) 26

27 Ansätze für weitere Sprachabstraktionen (2) Skriptsprache Pig Entwickler benutzt Konstrukte auf höherer Abstraktionsebene, wie z.b. Group by Foreach Beispiel: Wörter zählen input = LOAD in-dir' USING TextLoader(); words = FOREACH input GENERATE FLATTEN(TOKENIZE(*)); grouped = GROUP words BY $0; counts = FOREACH grouped GENERATE group, COUNT(words); STORE counts INTO out-dir ; 27

28 Ausblick Verschiedene Verfeinerungen und Optimierungsmöglichkeiten in [Dean, Ghemawat. MapReduce: Simplified Data Processing on Large Clusters, CACM2008] angedeutet. In der Literatur wird über verschiedene Anwendungsgebiete für MapReduce berichtet Bildung verschiedener Statistiken für Web-Seiten Invertierter Web-Link Graph (welche Seiten zeigen auf eine bestimmte Seite?) Bildung von invertierten Indizes (in welchen Dokumenten kommt ein best Wort vor?) Verteiltes Sortieren Maschinelles Lernen Cluster-Algorithmen Verarbeitung von Satelliten-Bildern Sprachverarbeitung für automatische Übersetzung Graphentheorie 28

Hadoop. Simon Prewo. Simon Prewo

Hadoop. 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

Mehr

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce)

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce) Hochschule Mannheim Fakultät für Informatik SEMT Prof. G. Bengel Sommersemester 2009 Semester 8I Searching as a Service (Programming Model: MapReduce) Michel Schmitt (520361) 1.06.2009 Inhalt 1. Einführung...

Mehr

Map Reduce. Programmiermodell. Prof. Dr. Ingo Claÿen. Motivation. Modell. Verarbeitungsablauf. Algorithmen-Entwurf. Map-Reduce in Java

Map Reduce. Programmiermodell. Prof. Dr. Ingo Claÿen. Motivation. Modell. Verarbeitungsablauf. Algorithmen-Entwurf. Map-Reduce in Java Map Reduce Programmiermodell Prof. Dr. Ingo Claÿen Hochschule für Technik und Wirtschaft Berlin Motivation Modell Verarbeitungsablauf Algorithmen-Entwurf Map-Reduce in Java Motivation Was ist Map-Reduce

Mehr

Verteilte Systeme. Map Reduce. Secure Identity Research Group

Verteilte 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

Mehr

APACHE PIG SEMINARARBEIT SSE - WS12/13 SEBASTIAN WALTHER

APACHE 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

Mehr

Einführung in Hadoop & MapReduce. Dr. Kathrin Spreyer Big Data Engineer

Einfü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

Mehr

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 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)

Mehr

MapReduce in der Praxis

MapReduce in der Praxis MapReduce in der Praxis Rolf Daniel Seminar Multicore Programmierung 09.12.2010 1 / 53 Agenda Einleitung 1 Einleitung 2 3 Disco Hadoop BOOM 4 2 / 53 1 Einleitung 2 3 Disco Hadoop BOOM 4 3 / 53 Motivation

Mehr

Neue Ansätze der Softwarequalitätssicherung

Neue 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

Mehr

MapReduce. www.kit.edu. Johann Volz. IPD Snelting, Lehrstuhl Programmierparadigmen

MapReduce. 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?

Mehr

MapReduce. Vereinfachte Datenverarbeitung in großen Rechnerverbünden. Igor Marijanovic 794894. Fachvortrag WAR 19.12.2012

MapReduce. Vereinfachte Datenverarbeitung in großen Rechnerverbünden. Igor Marijanovic 794894. Fachvortrag WAR 19.12.2012 MapReduce Vereinfachte Datenverarbeitung in großen Rechnerverbünden Igor Marijanovic 794894 Fachvortrag WAR 19.12.2012 Beuth Hochschule für Technik Berlin Inhalt Einleitung Hauptteil Abschluss MapReduce

Mehr

Überblick. Einführung Graphentheorie

Ü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

Mehr

Hadoop aus IT-Operations Sicht Teil 1 Hadoop-Grundlagen

Hadoop aus IT-Operations Sicht Teil 1 Hadoop-Grundlagen Hadoop aus IT-Operations Sicht Teil 1 Hadoop-Grundlagen Brownbag am Freitag, den 26.07.2013 Daniel Bäurer inovex GmbH Systems Engineer Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und

Mehr

Data Mining und Machine Learning

Data Mining und Machine Learning Data Mining und Machine Learning Teil 7: Verteiltes Rechnen mit Map Reduce Dr. Harald König, FHDW Hannover 30. November 2015 Inhalt 1 Verteiltes Rechnen 2 Map Reduce 3 Anwendungen 4 Map Reduce: Weiterführende

Mehr

Big Data. Prof. Robert Jäschke Forschungszentrum L3S Leibniz Universität Hannover

Big Data. Prof. Robert Jäschke Forschungszentrum L3S Leibniz Universität Hannover Big Data Prof. Robert Jäschke Forschungszentrum L3S Leibniz Universität Hannover Agenda Was ist Big Data? Parallele Programmierung Map/Reduce Der Big Data Zoo 2 3Vs oder: Was ist Big Data? Deutsche Telekom:

Mehr

Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE

Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE Institut für Kartographie und Geoinformatik Leibniz Universität Hannover Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE Frank Thiemann, Thomas Globig Frank.Thiemann@ikg.uni-hannover.de

Mehr

Hadoop. High Performance Batches in der Cloud. Hadoop. Folie 1 25. Januar 2011

Hadoop. High Performance Batches in der Cloud. Hadoop. Folie 1 25. Januar 2011 High Performance Batches in der Cloud Folie 1 Alles geht in die Cloud Image: Chris Sharp / FreeDigitalPhotos.net Cloud und Batches passen zusammen Batches Cloud Pay-per-Use Nur zeitweise genutzt Hohe Rechenkapazitäten

Mehr

Hadoop & Spark. Carsten Herbe. 8. CC-Partner Fachtagung 2015

Hadoop & 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

Mehr

Datenanalyse mit Hadoop

Datenanalyse mit Hadoop Gideon Zenz Frankfurter Entwicklertag 2014 19.02.2014 Datenanalyse mit Hadoop Quelle: Apache Software Foundation Agenda Hadoop Intro Map/Reduce Parallelisierung des Datenflows Exkurs: M/R mit Java, Python,

Mehr

Evaluation von Hadoop mit der Talend Big Data Sandbox. Michael Pretsch Pre-Sales Talend Germany GmbH

Evaluation von Hadoop mit der Talend Big Data Sandbox. Michael Pretsch Pre-Sales Talend Germany GmbH Evaluation von Hadoop mit der Talend Big Data Sandbox Michael Pretsch Pre-Sales Talend Germany GmbH 2015 Talend Inc. 1 Talend Überblick Die wichtigsten Fakten Gegründet im Jahr 2006 480+ Mitarbeiter in

Mehr

Hadoop 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 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

Mehr

2. Map/Reduce Programming Model. Architektur von Datenbanksystemen II

2. Map/Reduce Programming Model. Architektur von Datenbanksystemen II 2. Map/Reduce Programming Model Architektur von Datenbanksystemen II Motivation PROBLEMSTELLUNG Unternehmen wie Google, Yahoo, Facebook und Twitter müssen täglich Datenmengen im Bereich von TB und PB speichern

Mehr

Semantik und konzeptionelle Modellierung

Semantik 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

MapReduce mit Hadoop 08.11.12 1

MapReduce 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

Mehr

MATERNA GmbH 2014 www.materna.de 1

MATERNA GmbH 2014 www.materna.de 1 MATERNA GmbH 2014 www.materna.de 1 Agenda Herausforderungen BigData Größeres Pferd oder Pferdegespann? Apache Hadoop Geschichte, Versionen, Ökosystem Produkte HDFS Daten speichern und verteilen Map/Reduce

Mehr

Datenbanktechnologien für Big Data

Datenbanktechnologien 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

Mehr

Hadoop. Seminararbeit. Autor: Thomas Findling (Mat.-Nr. 1740842) Studiengang: Master Informatik (3. Semester)

Hadoop. Seminararbeit. Autor: Thomas Findling (Mat.-Nr. 1740842) Studiengang: Master Informatik (3. Semester) Universität Leipzig Institut für Informatik Abteilung Datenbanken Seminararbeit Hadoop Autor: Thomas Findling (Mat.-Nr. 1740842) Studiengang: Master Informatik (3. Semester) Betreuer: Gutachter: Lars Kolb

Mehr

Peter Dikant mgm technology partners GmbH. Echtzeitsuche mit Hadoop und Solr

Peter Dikant mgm technology partners GmbH. Echtzeitsuche mit Hadoop und Solr Peter Dikant mgm technology partners GmbH Echtzeitsuche mit Hadoop und Solr ECHTZEITSUCHE MIT HADOOP UND SOLR PETER DIKANT MGM TECHNOLOGY PARTNERS GMBH WHOAMI peter.dikant@mgm-tp.com Java Entwickler seit

Mehr

Einführung in Hadoop

Einführung in Hadoop Einführung in Hadoop Inhalt / Lern-Ziele Übersicht: Basis-Architektur von Hadoop Einführung in HDFS Einführung in MapReduce Ausblick: Hadoop Ökosystem Optimierungen Versionen 10.02.2012 Prof. Dr. Christian

Mehr

Überblick. Verarbeitung großer Datenmengen. MapReduce. Herausforderungen

Überblick. Verarbeitung großer Datenmengen. MapReduce. Herausforderungen Überblick Verarbeitung großer Datenmengen Verarbeitung großer Datenmengen Motivation MapReduce Zusammenfassung Problemstellungen (e) Indexierung des World Wide Web PageRank-Berechnungen für Web-Seiten

Mehr

GPU-basierte Beschleunigung von MapReduce am Beispiel von OpenCL und Hadoop

GPU-basierte Beschleunigung von MapReduce am Beispiel von OpenCL und Hadoop am Beispiel von OpenCL und Masterseminar Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig, 02.11.2011 Gliederung 1 Grundlagen 2 3 Gliederung 1 Grundlagen 2 3 Was ist? Clustersystem zur verteilten

Mehr

Speicherung und Analyse von BigData am Beispiel der Daten des FACT-Teleskops

Speicherung und Analyse von BigData am Beispiel der Daten des FACT-Teleskops Bachelorarbeit Speicherung und Analyse von BigData am Beispiel der Daten des FACT-Teleskops Niklas Wulf Bachelorarbeit am Fachbereich Informatik der Technischen Universität Dortmund Dortmund, 16. Dezember

Mehr

Teamprojekt & Projekt

Teamprojekt & Projekt 8. November 2010 Teamprojekt & Projekt Veranstalter: Betreuer: Prof. Dr. Georg Lausen Alexander Schätzle, Martin Przjyaciel-Zablocki, Thomas Hornung dbis Zeit und Ort: Montag 14-17 Uhr (c.t.) Raum: SR

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. 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

Mehr

Middleware - Cloud Computing Übung

Middleware - Cloud Computing Übung Middleware - Cloud Computing Übung Tobias Distler, Klaus Stengel, Timo Hönig, Christopher Eibel Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Die 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 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

Mehr

MapReduce. Dhyan Blum

MapReduce. Dhyan Blum MapReduce Dhyan Blum Betreuer: Dirk Haage Seminar Innovative Internettechnologien und Mobilkommunikation SS2010 Lehrstuhl Netzarchitekturen und Netzdienste Fakultät für Informatik, Technische Universität

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien 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........................

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. 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

Mehr

Distributed Computing Group

Distributed 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

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. 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

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Software Engineering Software Frameworks. am Beispiel Ruby on Rails Hendrik Volkmer WWI2010G

Software 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

Mehr

MapReduce und Datenbanken Thema 15: Strom bzw. Onlineverarbeitung mit MapReduce

MapReduce und Datenbanken Thema 15: Strom bzw. Onlineverarbeitung mit MapReduce MapReduce Jan Kristof Nidzwetzki MapReduce 1 / 17 Übersicht 1 Begriffe 2 Verschiedene Arbeiten 3 Ziele 4 DEDUCE: at the intersection of MapReduce and stream processing Beispiel 5 Beyond online aggregation:

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2 Seminar Cloud Data Management WS09/10 Tabelle1 Tabelle2 1 Einführung DBMS in der Cloud Vergleich verschiedener DBMS Beispiele Microsoft Azure Amazon RDS Amazon EC2 Relational Databases AMIs Was gibt es

Mehr

Seminar Map/Reduce Algorithms on Hadoop. Topics. Alex, Christoph

Seminar Map/Reduce Algorithms on Hadoop. Topics. Alex, Christoph Seminar Map/Reduce Algorithms on Hadoop Topics Alex, Christoph Organisatorisches Prioritisierte Liste mit allen vorgestellten Themen bis heute 23:59 an Alexander.Albrecht@hpi.uni-potsdam.de Vergabe der

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Verarbeitung großer Datenmengen in der Cloud

Verarbeitung großer Datenmengen in der Cloud Verarbeitung großer Datenmengen in der Cloud Andy Stumpp andystumpp@brilliantvision.de Abstract: Hohe Rechenkapazitäten sind oft erforderlich, aber an hohe Kosten gebunden. In der Praxis werden diese Kapazitäten

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen 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.:

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

i 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 Metamodellbasierte Codegenerierung in Java

i 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 Metamodellbasierte Codegenerierung in Java Metamodellbasierte Codegenerierung in Java Codegenerierung Markus Völter, voelter@acm.org, www.voelter.de Codegenerierung bezeichnet die automatische Erstellung von Quelltext aus üblicherweise abstraktereren,

Mehr

Überblick. MapReduce Einführung. Ablauf von MapReduce. MapReduce ist Modell zur Strukturierung von Programmen für parallele, verteilte Ausführung

Überblick. MapReduce Einführung. Ablauf von MapReduce. MapReduce ist Modell zur Strukturierung von Programmen für parallele, verteilte Ausführung Überblick MapReduce Einführung MapReduce Framework MapReduce Einführung und Grundlagen Ablauf eines MapReduce-Jobs Aufgaben des Frameworks Aufgabe 3 Abstract Factory Entwurfsmuster Vergleichen und Sortieren

Mehr

Innere Klassen in Java

Innere 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

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de , NoSQL source:dilbert.com Inhalte der nächsten Vorlesungen ˆ Methoden große Datenmengen

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Datenbearbeitung in der Cloud anhand von Apache Hadoop Hochschule Mannheim

Datenbearbeitung in der Cloud anhand von Apache Hadoop Hochschule Mannheim Tobias Neef Cloud-Computing Seminar Hochschule Mannheim WS0910 1/23 Datenbearbeitung in der Cloud anhand von Apache Hadoop Hochschule Mannheim Tobias Neef Fakultät für Informatik Hochschule Mannheim tobnee@gmail.com

Mehr

MapReduce-Konzept. Thomas Findling, Thomas König

MapReduce-Konzept. Thomas Findling, Thomas König MapReduce - Konzept 1 Inhalt 1. Motivation 2. Einführung MapReduce Google Rechenzentren Vergleich MapReduce und Relationale DBS 3. Hadoop Funktionsweise Input / Output Fehlerbehandlung 4. Praxis-Beispiel

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Programmieren in Java

Programmieren 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

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. 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

Mehr

Erläuterung von Systemen zur Datenbearbeitung in der Cloud anhand von Apache Hadoop

Erläuterung von Systemen zur Datenbearbeitung in der Cloud anhand von Apache Hadoop Erläuterung von Systemen zur Datenbearbeitung in der Cloud anhand von Apache Hadoop Tobias Neef Fakultät für Informatik Hochschule Mannheim Paul-Wittsack-Straße 10 68163 Mannheim tobnee@gmail.com Zusammenfassung

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs 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,

Mehr

Hadoop I/O. Datenintegrität Kompression Serialisierung Datei-basierte Datenstrukturen. 14.02.2012 Prof. Dr. Christian Herta 1/29

Hadoop I/O. Datenintegrität Kompression Serialisierung Datei-basierte Datenstrukturen. 14.02.2012 Prof. Dr. Christian Herta 1/29 Hadoop I/O Datenintegrität Kompression Serialisierung Datei-basierte Datenstrukturen 14.02.2012 Prof. Dr. Christian Herta 1/29 Data I/O und Hadoop Allgemeine Techniken Data I/O Datenintegrität Kompression

Mehr

3 Objektorientierte Konzepte in Java

3 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

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

Mehr

Java - Programmierung - Objektorientierte Programmierung 1

Java - 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

Mehr

Pragmatik von Programmiersprachen

Pragmatik 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

Mehr

Googles Map-Reduce-Technik

Googles Map-Reduce-Technik Googles Map-Reduce-Technik Wolfgang Gassler wolfgang.gassler@student.uibk.ac.at Zusammenfassung Durch die ständig steigende Datenflut im Internet müssen auch die Datenverarbeitungskapazitäten stark steigen.

Mehr

NoSQL-Datenbanksysteme: Revolution oder Evolution?

NoSQL-Datenbanksysteme: Revolution oder Evolution? NoSQL-Datenbanksysteme: Revolution oder Evolution? Kolloquium Institut für Informatik, Universität Rostock 24.01.2013 Prof. Dr. Uta Störl Hochschule Darmstadt uta.stoerl@h-da.de NoSQL: DAS aktuelle Datenbank-Buzzword

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Cluster-Praktikum Sommersemester 2007 Transparent Replizierte Objekte in JavaParty Institut für Programmstrukturen und Datenorganisation

Mehr

Verteilte Systeme CS5001

Verteilte 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,

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Java Batch Der Standard für's Stapeln

Java Batch Der Standard für's Stapeln Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN

Mehr

Java Einführung Abstrakte Klassen und Interfaces

Java 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

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: 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

Mehr

Map Reduce on Hadoop Seminar SS09. Similarity Join. Tim Felgentreff, Andrina Mascher

Map Reduce on Hadoop Seminar SS09. Similarity Join. Tim Felgentreff, Andrina Mascher Map Reduce on Hadoop Seminar SS09 Similarity Join Tim Felgentreff, Andrina Mascher Gliederung 2!! Aufgabe!! Demo!! Algorithmus!! Performance!! Veränderte Aufgabenstellung:!! Vergleich mit 1 Seite!! Ausblick!!

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2.

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2. Cloud Computing Frank Hallas und Alexander Butiu Universität Erlangen Nürnberg, Lehrstuhl für Hardware/Software CoDesign Multicorearchitectures and Programming Seminar, Sommersemester 2013 1. Definition

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-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

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Erfahrungsbericht: Umstieg von RDBMS auf Big Data-Technologien

Erfahrungsbericht: Umstieg von RDBMS auf Big Data-Technologien Wir unternehmen IT. Erfahrungsbericht: Umstieg von RDBMS auf Big Data-Technologien Karlsruhe, 30.09.2015 $id thgreiner Thorsten Greiner Teamleiter Software Development ConSol* Software GmbH, Düsseldorf

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

Ausarbeitung AW2 SS2012. Jan-Christoph Meier Data Mining in der Cloud

Ausarbeitung AW2 SS2012. Jan-Christoph Meier Data Mining in der Cloud Ausarbeitung AW2 SS2012 Jan-Christoph Meier Data Mining in der Cloud Fakultät Technik und Informatik Department Informatik Faculty of Engineering and Computer Science Department of Computer Science Inhaltsverzeichnis

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr