- Schnittmengenbildung -

Slides:



Advertisements
Ähnliche Präsentationen
Beispiel zum RSA-Algorithmus
Advertisements

Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Minimum Spanning Tree: MST
Prof. Dr. T. Kudraß1 Hash-Verfahren. Prof. Dr. T. Kudraß2 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit.
Sortieren I - Bubblesort -
Einführung in die Programmierung Ausführbare Klassen
Kapitel 6: Klassifizierung von Sortiertechniken
Imperative Programmierung -Entwicklungswerkzeuge
Lehrstuhl Informatik III, DatenbanksystemeMartin Wimmer Übung zu Architektur und Implementierung von Datenbanksystemen 1 Implementierungen des Join- Operators.
Sortierverfahren Richard Göbel.
Java: Dynamische Datentypen
Sortierverfahren Richard Göbel.
ARRAY oder FELD oder VEKTOR
Polymorphie (Vielgestaltigkeit)
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Algorithmentheorie 04 –Hashing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (04 – Entwurfsverfahren) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Allgemeiner Rahmen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Dynamische Webseiten mit PHP
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Minimum Spanning Tree: MST
Aufgabe April 2004Übung Data Warehousing2 1: Accounts 'gruppe ' auf ' morawetz ' (IP: !) Oracle-Account gleichen Namens SQL*Plus:
- Übung - Ulf Leser Jörg Hakenberg
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Einführung in die Programmierung Datensammlung
Öffnen von Verknüpfungen Beispiele von Johannes Bleidorn.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Die Grundterminologie
Computational Thinking Suchen und Sortieren [Ordnung muss sein…]
Einführung in die Programmierung
Präsentation C Tutorium von Daniel J. Nowak Folie 1 C Tutorium.
1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Tutorium PG Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben.
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Algorithmen und Datenstrukturen Übungsmodul 11
Geschachtelte Verbindung (1) Geschachtelte Schleife, in der jeder Datensatz in Datei R (hier: BUCHUNG) mit jedem Datensatz in S (hier: FLUG) verglichen.
Dynamische Webseiten-Generierung
Kapitel 6: Suchbäume und weitere Sortierverfahren
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
1 Mehrrechner- Datenbanksysteme Grundlegende Architekturen Anfragebearbeitungstechniken.
Data Warehousing Sommersemester Übung - Ulf Leser Jörg Hakenberg Mailingliste.
Sammlungsklassen Array.
2 Datenabstraktion Geheimnisprinzip:
Einführung in die Programmierung mit Java
Vorlesung Datenbanksysteme vom Anfragebearbeitung 2  Architektur eines DBMS  Logische Optimierung  Physische Optimierung  Kostenmodelle.
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
Import java.util.*; Hilfsklassen, die man eigentlich immer braucht.
Suchen und Sortieren.
Schritt für Schritt von Susanne Kasper
Indexierung Oracle: indexes Indexierung.
Wiederholung TexPoint fonts used in EMF.
 Präsentation transkript:

- Schnittmengenbildung - Aufgabe 2 - Schnittmengenbildung -

Übung Data Warehousing Problem Vergleich zweier Listen (von Tupeln) auf Duplikate  Bildung der Schnittmenge  Listen jeweils deutlich größer als Hauptspeicher Anwendung: ETL  Berechnung differentieller Snapshots 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing Lösungen Naiv Nested Loop Besser Sort Merge Join Noch besser ? Partition Hash Join 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing HashJoin Trick: es werden nicht mehr alle Tupel miteinander verglichen Vergleich findet statt zwischen Tupeln mit dem gleichen HashCode Dazu kann über ein beliebiges Attribut gehashed werden (meist: ID) bei uns gibt es ohnehin nur ein Attribut  Hashfunktion für Zahlenwert 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing HashJoin: Schritt 1 Value1 Value2 Value3 Value4 Value5 Value6 Value7 Value8 Value1 Value4 Value8 Value5 Value6 Value9 Value3 Value7 Bucket 1 Bucket 1‘ Bucket 2 Bucket 2‘ Bucket 3 Bucket 3‘ Bucket 4 Bucket 4‘ Bucket 5 Bucket 5‘ Bucket 6 Bucket 6‘ 4. Juni 2003 Übung Data Warehousing

Vergleich der Elemente mittels neuer Hashfunktion HashJoin: Schritt 2 Bucket 1 Vergleich der Elemente Bucket 1‘ Bucket 2 mittels neuer Hashfunktion Bucket 2‘ Bucket 3 Bucket 3‘ Bucket 4 Bucket 4‘ Bucket 5 Bucket 5‘ Bucket 6 Bucket 6‘ 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing Vorgehensweise Im konkreten Fall: Beschränkung des Hauptspeichers  Zwischenspeicherung der Buckets (1..n, 1..n‘) als Dateien  Laden von zwei korrespondierenden Buckets (i, i‘)  Vergleich der Elemente 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing Zu beachten Die erste Hashfunktion sollte die Tupel gleichmäßig auf die Buckets verteilen  modulo Primzahl Es sollten beim ersten Schritt nicht zu viele Buckets entstehen, da jeweils ein Filehandle nötig ist Bei zu wenigen Buckets enthält aber jedes zu viele Daten für den späteren Vergleich im Hauptspeicher 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing Zeitaspekt Bezüglich der benötigten Zeit für die Berechnung lohnt es sich, vieles selber zu programmieren Java bietet die Klasse util.Hashtable, die aber langsamer ist als ein eigener Array-Hash Benutzung einer eigenen Hash-Funktion, und nicht des JAVA Standards Besondere Beachtung auf den IO Funktionen, da hier die Hauptlast entsteht 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing Lösung von Aufgabe 2 Es existieren 132357 Duplikate z.B. 2x 97 Buckets, je ca. 1MB mit HashJoin etwa 2:30 Minuten sort –n data1 data2 | uniq –d auf der Konsole dauert ca. 5 Minuten 4. Juni 2003 Übung Data Warehousing

Algorithmus: Sort-Merge ... 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing Vergleich Hash-Join versus Sort-Merge Join Sei |F|/HS = X (Anz. Buckets) HJ braucht für das Hashen X+1 Files für das Mergen 2 Files Schreibt beim Hashen ungeordnet SM braucht für das Sortieren 1+1 Files Für das Mergen 2*X Files Liest beim Mergen ungeordnet 4. Juni 2003 Übung Data Warehousing

Übung Data Warehousing Anhang: Hashfunktion int[] hash = new int[hashgroesse]; int linearHashing (int key) { // den Hashcode bestimmen code = (key / primzahl) % hashgroesse; // ist der Hash an dieser Stelle schon belegt? while (hash[code] != 0) { // dann um einen Platz weiterrücken code++; // aber bitte im Array bleiben code = code % hashgroesse; } // Hash belegen und Code zurückgeben hash[code] = code; return code; 4. Juni 2003 Übung Data Warehousing