Sprachen, die nach MapReduce kompiliert werden Hauptseminar: Multicore-Programmierung. Franz Pius Hübl 10. November 2011

Größe: px
Ab Seite anzeigen:

Download "Sprachen, die nach MapReduce kompiliert werden Hauptseminar: Multicore-Programmierung. Franz Pius Hübl 10. November 2011"

Transkript

1 Sprachen, die nach MapReduce kompiliert werden Hauptseminar: Multicore-Programmierung Franz Pius Hübl 10. November 2011

2 Zusammenfassung Ziel dieser Arbeit ist es, einen Einblick in die Arbeitsweise verschiedener Sprachen, die nach MapReduce kompiliert werden, zu geben. Hierfür wurden zwei Beispielsprachen ausgewählt: Pig und Hive. Anhand eines gemeinsamen Beispiels wird die unterschiedliche Verwendung, sowie Vorund Nachteile der Sprachen betrachtet. ii

3 Inhaltsverzeichnis 1 Einleitung Was ist MapReduce? Apache Hadoop Apache Pig Pig Latin Beispiel Bewertung Apache Hive Hive Architektur HiveQL Beispiel Bewertung Zusammenfassung und Ausblick 12 A Wörter zählen mit Apache Hadoop 14 iii

4 1 Einleitung In dieser Ausarbeitung werden Sprachen betrachtet, die nach MapReduce kompiliert werden. Das sind Sprachen, die zunächst keine Ähnlichkeit zu MapReduce Programmen haben und dann mit einem Compiler in eine Folge von MapReduce Programmen überführt werden. Dadurch abstrahiert man von den Folgen von MapReduce Aufgaben und der Nutzer muss nur noch ein semantisches Programm definieren, ohne die Reihenfolge der MapReduce Schritte beachten zu müssen. Dadurch können auch technisch weniger versierte Mitarbeiter Abfragen erstellen, die sonst mit komplexen MapReduce Programmen realisiert werden müssten. Hierfür gibt es viele Sprachen, von denen zwei, Pig und Hive, in den folgenden Kapiteln näher betrachtet werden. 1.1 Was ist MapReduce? Seit der Erfolgsgeschichte von Google existiert ein Verfahren, das von vielen Personen als das parallele Verfahren für die Verarbeitung großer Datenmengen betrachtet wird, MapReduce (Vgl. [DG08]). MapReduce stammt ursprünglich aus der funktionalen Programmierung und bezeichnet zwei Funktionen, die nacheinander abgearbeitet werden. Zunächst wird mittels einer Map Funktion aus den Eingabedaten Key-Value Paare erzeugt. Diese Paare werden dann nach dem Key sortiert und mit der Reduce Funktion kombiniert. 1.2 Apache Hadoop Hadoop ist ein freies in Java geschriebenes Framework. Es verfügt über ein eigenes verteiltes Dateisystem, HDFS. Hadoop ist dafür gedacht, große Datenmengen auf Computerclustern zu bearbeiten und Berechnungen mit diesen Daten durchzuführen. Seit 2008 wird Hadoop als Apache Top-Level Projekt geführt. Hadoop enthält eine Implementierung des MapReduce Algorithmus (Vgl. [HAD]) und 2009 gewann das Hadoop Projekt den Terabyte Sort Benchmark Preis als erstes Open-Source Programm. Die Programmiersprachen Pig und Hive nutzen jeweils Hadoop als Plattform und lassen ihre kompilierten MapReduce- Programme auf der Hadoop Plattform ausführen. In den folgenden Kapiteln wird zur Verdeutlichung das Beispiel Wörter zählen verwendet. Um einen Vergleich mit einem in Hadoop implementierten Programm zu haben, wurde im Anhang A das Beispiel als Hadoop Programm implementiert. 1

5 2 Apache Pig Apache Pig ist eine Plattform, die dem Nutzer eine Highlevel Sprache (Pig Latin) zur Verfügung stellt, um mit einfachen Anweisungen ein Programm für Apache Hadoop zu schreiben. Pig ist dafür gedacht, große Datensätze zu analysieren. Hierfür nutzt Pig einen Compiler, der aus den PigLatin Kommandos Folgen von MapReduce Programmen erzeugt. Diese können dann in dem bereits vorgestellten Framework Apache Hadoop berechnet werden. Für die Entwickler von Pig stehen drei Schlüsselmerkmale im Vordergrund (Vgl. [PIG]): Einfache Programmierung Das Programm sollte möglichst einfach zu entwickeln sein. Damit wird von dem zugrundeliegenden Map Reduce System abstrahiert. Optimierungsmöglichkeiten Nicht die Optimierungsmöglichkeiten, sondern die Semantik des Programms stehen im Vordergrund. Die Optimierung wird dann vom System selbst durchgeführt. Erweiterbarkeit Der Nutzer soll mit sogenannten User Defined Functions (UDF) das Programm erweitern können. Dadurch können einfache PigSkripte komplexe Operationen aufrufen, die beispielsweise als Java Funktion bereits implementiert wurden. Pig ist als eine Datenflusssprache konzipiert und stellt standardmäßig Operationen bereit um Daten zu analysieren und zu verändern. Im nächsten Kapitel wird hierauf genauer eingegangen. Zwar wurde Pig für Apache Hadoop entworfen, doch könnte es mit einem geeigneten Compiler auch für andere MapReduce Frameworks verwendet werden. Im Jahr 2006 wurde Pig von Yahoo entwickelt. Damals war es für Entwickler eine einfache Möglichkeit, schnell Abfragen auf großen Datensätzen zu programmieren, ohne eine MapReducestruktur neu implementieren zu müssen wurde das Projekt der Apache Software Foundation unterstellt und seit September 2010 wird Pig als Apache Top-Level Projekt geführt. 2.1 Pig Latin Pig kann über eine interaktive Shell, eingebettet in einer Host-Sprache (beispielsweise Java), oder über ScriptFiles verwendet werden. In all diesen Fällen benötigt man die Pig eigene Sprache Pig Latin. Diese wird im folgenden Abschnitt näher beschrieben (Vgl. [ORS + 08]). Am Anfang jedes Pig Skriptes steht meist ein Lade Operation. Diese wird mit dem Schlüsselwort LOAD eingeleitet. Anschließend wird die zu ladende Datei mit dem Dateipfad angegeben. Diese Datei befindet sich typischerweise innerhalb des HDFS Dateisystems von Hadoop. Besteht die Datei aus mittels Tabulator separierten Feldern und aus einem Eintrag pro Zeile, so kann man nun ein Schema angeben. Dadurch ist es möglich, den einzelnen Spalten Namen zu geben und Datentypen dafür festzulegen. Im folgenden Beispiel soll die Datei file.txt eingelesen werden und anschließend in File gespeichert werden. Analog zum Befehl LOAD existiert auch der Befehl STORE, der Daten speichern kann. 2

6 file.txt: Hallo 1 Welt! 2 Pig Skript: File = LOAD file.txt AS (word:chararray, line:int); Pig kennt viele Schlüsselworte, die meistens schon von anderen Sprachen bekannt sind und deshalb in ihrer Bedeutung leicht erschlossen werden können. Beispielsweise wird JOIN, semantisch wie ein Join in einer SQL Sprache, und FOREACH, semantisch wie eine Foreach-Schleife in Java, verwendet. Durch diese Übertragungen sind viele Kommandos von Pig leicht zu verstehen und bis auf kleine Syntaxabweichungen leicht zu benutzen. Daher fällt dem Programmierer ein Umstieg auf Pig Latin leicht und man gewöhnt sich sehr schnell an die Syntax. A = FOREACH File GENERATE COUNT(word) as count; C = JOIN A BY count FULL, B BY line; Pig Latin arbeitet mit verschiedenen Datentypen. Darunter sind simple Datentypen wie Integer, Long Integer, Float, Double, Chararray (ein Character Array in Unicode UTF-8 Kodierung) und Bytearray. Aus dieses simplen Datentypen können nach Belieben komplexere Datentypen erzeugt werden. Pig verwendet bei komplexen Datentypen Tupel, Bags (eine Liste von Tupeln) und Maps (Key-Value Listen). Tupel: (1, 2, hallo) Bag: {(1,2),(1,3),(2,3)} oder (1,2) (1,3) (2,3) Map: [word#hallo,line#1] [word#welt!,line#2] Hinzu kommen zahlreiche Operatoren, die auf den verschiedenen Datenobjekten verwendet werden können, wie beispielsweise boolesche Operatoren (==, <, >,! =, <=, >=), arithmetische Operatoren (+,,, /, % ) oder Aggregatfunktionen ( SUM, AVG, MIN, MAX, COUNT). Zusätzlich kann man die einzelnen Datenobjekte mit einem FILTER auswählen. Im folgenden Beispiel enthält die Relation Y drei Spalten f1, f2 und f3, die jeweils vom Typ Integer sind. Die Relation X enthält nach dieser Zeile alle Datenobjekte, die die gesuchte Bedingung erfüllen. Anschließend werden in der Relation X alle Elemente nach dem Wert von f1 gruppiert und in Z gespeichert. 3

7 X = FILTER Y BY (f1==8) OR (NOT (f2+f3 > f1)); Z = GROUP X BY f1; Reichen die vielen integrierten Funktionen nicht aus, so kann man ganz einfach selbst eine Funktion schreiben und diese dann von Pig aufrufen. Dazu muss zunächst die JAR-Datei mit dem Schlüsselwort REGISTER Pig mitgeteilt werden. Anschließend kann man die Funktionen der JAR-Datei einfach in dem Pig Skript aufrufen. REGISTER myudfs.jar; A = LOAD student_data AS (name: chararray, age: int, gpa: float); B = FOREACH A GENERATE myudfs.upper(name); In der JAR-Datei existiert nun die unten angegebene Klasse UPPER. Die Methode exec() in dieser Klasse implementiert dann die gewünschte Funktion. Im Beispiel oben konvertiert UPPER jeden String in Großschreibung und gibt diesen dann zurück. 1 package myudfs ; 2 import java. i o. IOException ; 3 import org. apache. pig. EvalFunc ; 4 import org. apache. pig. data. Tuple ; 5 6 p u b l i c c l a s s UPPER extends EvalFunc<String >{ 7 p u b l i c S t r i n g exec ( Tuple input ) throws IOException { 8 i f ( input == n u l l input. s i z e ( ) == 0) { 9 r e t u r n n u l l ; 10 } e l s e { 11 t r y { 12 S t r i n g s t r = ( S t r i n g ) input. get ( 0 ) ; 13 r e t u r n s t r. touppercase ( ) ; 14 } catch ( Exception e ) { 15 throw new IOException ( "Caught e x c e p t i o n p r o c e s s i n g input row ", e ) ; 16 } 17 } 18 } 19 } Die Klasse UPPER (Quelle:[STL]) So ist es möglich, komplizierte Berechnung in eine Java Klasse auszulagern oder von bereits vorhandenen Bibliotheken zu profitieren. Dadurch verringert sich die Entwicklungszeit mit Pig enorm. Zusätzlich stehen in der Bibliothek von Pig zahlreiche Interfaces und Klassen zur Verfügung, die bei der Entwicklung von benutzerdefinierten Funktionen behilflich sind. Weiterhin ist es möglich einen Mapreduce Job direkt mit Pig aufzurufen. Gibt es also bereits fertige MapReduce Jobs, die mit Java und Apache Hadoop implementiert wurden, so kann dieser Job in Pig direkt aufgerufen und mit Daten versorgt werden. Hierbei kann jede JAR-Datei verwendet werden, die auch mit hadoop jar mymr.jar params lauffähig ist. Hierzu verwendet man das Schlüsselwort MAPREDUCE mit dem gewünschten MapReduce.jar und zusätzlichen Eingabeparametern. Das Laden und Speichern kann von Pig oder 4

8 dem MapReduce Job selbst übernommen werden. Im folgenden Beispiel wird ein MapReduceJob namens WordCount aufgerufen und mit dem Text aus A befüllt. A = LOAD WordcountInput.txt ; B = MAPREDUCE wordcount.jar STORE A INTO inputdir LOAD outputdir AS (word:chararray, count: int) org.myorg.wordcount inputdir outputdir ; In der Dokumentation von Pig sind noch viele weitere nützliche Sprachkonstrukte beschrieben, die Pig dem Nutzer bereitstellt (Vgl. [PIG]). Diese aber alle aufzuzählen, würde den Rahmen dieser Arbeit eindeutig übersteigen. Die vorgestellten Konstrukte und Mechanismen genügen jedoch, um ein einfaches Beispiel mit Pig auf einem Hadoop-Cluster auszuprobieren und zu untersuchen. 2.2 Beispiel Um nun die Leistungsfähigkeit im Vergleich mit Apache Hadoop zu untersuchen, wird ein einfaches Beispiel (Wörter zählen) genutzt. Die Arbeitsweise von Pig ist hierbei gut zu erkennen und die Vorteile gegenüber MapReduce mit Hadoop treten deutlich hervor. Der benötigte Java Programmcode für dieses Beispiel findet sich im Anhang A. Insgesamt benötigt dieses Hadoop MapReduce Programm circa 60 Zeilen Programmcode. Der Teil mit der eigentlichen Programmlogik benötigt allerdings nur elf Zeilen. Die restlichen Zeilen sind allein Verwaltungsaufgaben ohne wirkliche Funktionalität, so genannter glue code. Im Vergleich dazu wirkt der Programmcode eines Pig Skriptes ziemlich kurz. 1 A = load input / f i l e. txt ; 2 B = f o r e a c h A g e n e r a t e f l a t t e n (TOKENIZE( ( chararray ) $0 ) ) as word ; 3 C = f i l t e r B by word matches \\w+ ; 4 D = group C by word ; 5 E = f o r e a c h D g e n e r a t e COUNT(C) as count, group as word ; 6 F = order E by count desc ; 7 s t o r e F i n t o output / ; Wörter zählen als Pig Skript (Quelle:[WCP]) Trotzdem kann man bei erster Betrachtung leicht erkennen, was genau in welcher Zeile gemacht wird. Die Eingabedatei enthält folgenden Text: Hallo Welt Hallo Nutzer So soll zunächst die Datei eingelesen werden (Zeile 1) und in A gespeichert werden. (Hallo Welt) (Hallo Nutzer) Anschließend wird pro Zeile eine Liste von Wörtern generiert. Diese Zeile wird nun aufgespalten, so dass schließlich in C pro Zeile genau ein Wort steht. 5

9 (Hallo) (Welt) (Hallo) (Nutzer) Damit ist der Einlesevorgang beendet. In Zeile 4 werden alle vorkommenden Wörter gruppiert. Ausgabe von D ist ein Tupel, bestehend aus dem Wort und einer Liste des Wortes. (Hallo, {(Hallo),(Hallo)} (Welt,{(Welt)}) (Nutzer,{(Nutzer)}) Die Länge der Listen werden dann in Zeile 5 gezählt und dem Wort zu geordnet. Die Sortierung im Schritt von E nach F dient nur als Schönheitskorrektur. (2,Hallo) (1,Welt) (1,Nutzer) Abschließend wird das Ergebnis in einer Ausgabedatei gespeichert. 2.3 Bewertung In dem vorherigen Beispiel ist der Datenfluss von der Eingabe, über die Verarbeitung und Aggregation hin zur Ausgabe sehr gut zu erkennen. Hier wird der Vorteil, eine möglichst einfache Programmierung, von Pig ganz besonders deutlich. Zusätzlich zeigt sich eine Abstraktion von MapReduce. Der Nutzer muss sich in diesem Beispiel keine Gedanken um MapReduce selbst machen. Dies wird vom Pig Compiler komplett übernommen. Der Pig Compiler zerlegt dabei das Skript in einzelne MapReduce Jobs, die dann in der richtigen Reihenfolge ausgeführt das gewünschte Ergebnis liefern. Dies ist ein weiterer Vorteil gegenüber Programmen, die direkt für das Apache Hadoop System entwickelt wurden. Während man bei diesen nur einen einzelnen MapReduce Schritt pro Programm hat und nur umständlich eine Folge von mehreren MapReduce Schritten nacheinander schalten kann, wird dies von Apache Pig ganz automatisch erledigt. Aus dem obigen Beispiel wird so ein Folge von drei MapReduce Schritten. Der Hauptteil der Arbeit (Zeile 1-5) wird dabei in einem einzelnen Job erledigt. Das Sortieren und Speichern auf dem Dateisystem wird zu zwei weiteren Jobs kompiliert. Die genaue Aufteilung der Jobs wird aus Abbildung 1 ersichtlich. Dies verlangsamt zwar den Ablauf eines Pig Programms, doch wie Abbildung 2 zeigt, sind Pig Programme nur etwa 1,5x so langsam wie selbst geschriebene Hadoop MapReduce Jobs. Demgegenüber stehen die geringe Größe des Quellcodes und die geringe Dauer an Entwicklungszeit (siehe Abbildung 3). Beides spricht eher für eine Verwendung von Pig. Das ist wahrscheinlich einer der Gründe, warum bereits 2009 mehr als 50% der Hadoop Jobs, die bei Yahoo ausgeführt wurden, Pig verwendeten. 6

10 Abbildung 1: Job Ablaufdiagramm des Beispielprogramms Abbildung 2: Performancevergleich Hadoop und Pig, (Quelle: [Ols]) 7

11 Abbildung 3: Vergleich Hadoop und Pig in Lines-of-Code und Entwicklungszeit, (Quelle: [Ols]) 3 Apache Hive Einen Schritt weiter als Yahoo gingen die Entwickler von Facebook, als sie 2008 ihre Entwicklung einer Anfragesprache an ein Hadoop Cluster vorstellten. Ihre Anfragesprache, HiveQL, war nicht mehr als eine reine Datenfluss Sprache konzipiert, sondern ist kompatibel zum SQL-92 Standard. Dadurch wird in einem weit größerem Maße von der zugrundeliegenden Datenhaltung abstrahiert. Musste bisher der Nutzer von Hadoop oder auch Pig noch genau wissen, wie die Daten aussahen und wo welche Datei liegt, so ist dies bei Hive nur noch in geringem Maße nötig. In Hive spielen vor allem Tabellen eine wichtige Rolle. Dies ist begründet durch die Entwicklungsgeschichte von Hive. Ursprünglich wurden bei Facebook berechnungsintensive Analysen über Nutzungsverhalten und viele andere Statistiken hauptsächlich nachts durchgeführt. Dadurch sollte eine hohe Belastung der Server vermieden werden. Mit der wachsenden Nutzerzahl und vor allem der stetig größer werdenden Datenmenge wurde es immer schwieriger, bestimmte Analysen im laufenden Betrieb durchzuführen, ohne die Servicequalität von Facebook zu beeinträchtigen. Deshalb wurde nach einem System gesucht, das auf einer tabellarisch geordneten Datenmenge basiert. Ziel war es, an das System gestellte Anfragen schneller beantworten zu können. Mit Hadoop wurde zunächst ein System gefunden, mit dem große Datenmengen verteilt gespeichert werden können. Anschließend wurde Hive mit der Anfragesprache HiveQL entwickelt. Wie oben erwähnt ist diese Anfragesprache zum SQL-92 Standard kompatibel. Das hatte zur Folge, dass alle bisherigen Anfragen, die zur Statistik und Analyse auf den Datenbankserver entwickelt wurden nun bei gleicher Datenhaltung auch im Hadoop Cluster mit Hive wiederverwendet werden konnten. Außerdem musste nicht für jede Analyse ein eigenes MapReduce Programm in Java für Hadoop implementiert werden, sondern konnte weiterhin von den Datenanalytikern selbst erledigt werden (Vgl. [TSJ + 10]). Zu diesem Zweck können Daten aus dem laufenden Betrieb heraus in das Hive System importiert werden. Dadurch werden die Analysen unabhängig vom laufenden Betrieb durchführbar und können auch längere Zeit in Anspruch nehmen als nächtliche CronJobs. Um Hive nun genauer verstehen zu können, wird im folgenden Kapitel der Aufbau von Hive näher betrachtet. 8

12 3.1 Hive Architektur Abbildung 4: Die Hive Architektur (Quelle: [DZ]) Wie in Abbildung 4 deutlich wird, fungiert HiveQL als zentrale Schnittstelle zwischen der Anfrageschicht, bei der man mittels Webinterface oder JDB- C/ODBC Anfrage stellen kann, und der Hadoop Schicht. Diese kann man aufteilen in eine MapReduce und die HDFS Schicht, welche die Daten verteilt speichert. HiveQL besitzt einen Parser, Planer, Optimierer und eine Ausführungskomponente, um Anfragen an Hive zu bearbeiten. Zusätzlich hat Hive mehrere PlugIn Schnittstellen, um den Funktionsumfang von Hive zu erweitern. So können beispielsweise mit Hive auch eigene MapReduce Skripte ausgeführt werden, ohne dass diese zuerst in Hive neu geschrieben werden müssen. Außerdem ist es möglich, eigene definierte Funktionen beziehungsweise Aggregationsfunktionen zu schreiben und diese dann in Hive zu verwenden. Als eine Art Proxy fungiert die SerDe Komponente, eine Kurzform von serealization und deserealization, mit der man auf verschiedene Dateiformate zugreifen kann. Dadurch wird es unwichtig, ob die Datei in CSV Form oder in Tabellenform vorliegt. Außerdem kann man auch eigene Speicherformate implementieren, um Hive im eigenen Kontext zu verwenden. Aufgrund von SerDe sind in Hive alle Daten in Tabellenform verfügbar und können über HiveQL abgefragt werden. 3.2 HiveQL Wie bereits erwähnt ist HiveQL zum Standard von SQL aus dem Jahr 1992 kompatibel. Dadurch können Datenanalytiker sehr leicht mit Hive arbeiten, wenn sie bereits Erfahrung mit SQL haben. Hierzu gehören die Standardanfragen, die im folgenden Abschnitt näher erläutert werden 1. Anschließend wird mit einem 1 Eine ausführliche Beschreibung der Hivesyntax findet sich unter [HIV] 9

13 kleinen Beispiel die Arbeitsweise von Hive näher betrachtet. Bevor man Daten mit Hive analysieren kann, benötigt man Tabellen mit Daten. Das Erzeugen einer neuen Tabelle funktioniert mit dem Kommando CREATE: CREATE TABLE pokes (foo INT, bar STRING); Damit kennt das System eine Tabelle pokes und deren Spaltendefinition. Die genaue Speicherung, den Speicherort und die Partitionierung kann man hier ebenfalls angeben, um bei größeren Tabellen das System effizient zu halten. Um diese Tabelle mit Daten zu füllen, hat man mehrere Möglichkeiten. Falls die Daten bereits in einer anderen Tabelle vorliegen oder aus den anderen Tabellen generiert werden können, so arbeitet man mit SELECT und INSERT. Zusätzlich kann man Textdateien, die bereits tabellarisch formatiert sind, mit dem Befehl LOAD DATA vom System in eine Tabelle laden. LOAD DATA LOCAL INPATH./examples/files/kv3.txt OVERWRITE INTO TABLE pokes; Anschließend kann man mit den gewohnten SELECT Statements auf die Tabellen zugreifen. Hierbei ist es möglich, einzelne Spalten zu selektieren, Bedingungen anzugeben, Filter zu verwenden und die Daten zu Gruppieren. SELECT a.bar, count(*) FROM invites a WHERE a.foo > 0 GROUP BY a.bar; Besonders hilfreich ist die in SQL Anfragesprache übliche Funktion des Joins. Während dies bei Hadoop schwer zu realisieren ist, benötigt man hierfür mit Hive nur eine Select Anfrage. SELECT pv.pageid, u.age_bkt FROM page_view p JOIN user u ON (pv.uhash = u.uhash) JOIN newuser x on (u.uhash = x.uhash); Dadurch gewinnt man bei Hive eine sehr große Abstraktion vom eigentlichen Map Reduce. Dies führt zu einer nützlichen Erweiterung. Im folgenden Beispiel wird das bereits bekannte Wörterzählen-Beispiel wieder aufgegriffen. 3.3 Beispiel Zur Verdeutlichung wurde erneut das Beispiel Wörter zählen verwendet. Hierbei ergibt sich jedoch gleich ein Problem. Wie bringt man den Text in eine tabellarische Form, so dass man Hive verwenden kann? Text der Eingabedatei: Hallo Welt Hallo Nutzer Eine Lösung ist eine Vorverarbeitung mit einer anderen Programmiersprache, also beispielsweise mittels Java oder Pig. Anschließend lädt man den Text in eine vorher erzeugte Hive Tabelle. Text nach Vorverarbeitung: Hallo Welt 10

14 Hallo Nutzer Befehl zum erzeugen der Tabelle: CREATE TABLE words (word String) STORED AS TEXTFILE; Befehl zum Laden des Textes: LOAD DATA LOCAL INPATH words.txt INTO TABLE words; Nun hat man die gewünschten Daten in der Tabelle. Das eigentliche HiveQL Statement zum Zählen der Wörter ist nun nur noch ein einfaches Select Statement mit Gruppierung nach dem Wort und einer Count Aggregationsfunktion. Selbstverständlich kann man das Ergebnis nun auch noch absteigend nach der Anzahl der Wörter sortieren. SELECT word, COUNT(word) AS count FROM words GROUP BY word ORDER BY count DESC; Dadurch erhält man das gewünschte Ergebnis, welches in dem obigen Beispiel nur auf der Konsole zurückgegeben wird. Um das Ergebnis zu speichern kann man es mit INSERT auch in eine Ergebnistabelle einfügen. Die Abarbeitung dieser Query teilt Hive in zwei aufeinanderfolgende MapReduce Jobs auf. Der erste Job erzeugt aus der Eingabetabelle eine Tabelle mit gruppierten Wörtern und der Anzahl des Wortes. Im darauffolgenden MapReduce Job wird das Ergebnis nach der Anzahl geordnet. Die Erzeugung der MapReduce Jobs übernimmt Hive komplett. 3.4 Bewertung Das Beispiel zeigt sehr deutlich die einfache Nutzung von Hive auf, aber auch seine Schwächen sind gut erkennbar. Wenn die Daten nicht in tabellarischer Form gegeben sind, muss man diese zunächst über Drittprogramme einlesen. Dieser Nachteil ist jedoch zu vernachlässigen, wenn man bedenkt, in welchem Umfeld Hive entwickelt wurde und eingesetzt wird. Hive soll rechen- und zeitintensive Datenbankaufgaben von der Datenbank in ein Hadoop Cluster verlagern, ohne alles neu programmieren zu müssen. Dadurch sind die Daten meist in tabellarischer Form gegeben. Demgegenüber steht die einfache Nutzung aufgrund der verwendeten SQL Anfragesprache. Zusätzlich stellt man dem Benutzer mit Join ein vielseitig einsetzbares Hilfmittel zur Verfügung, welches in Hadoop nicht so einfach verwendbar ist. Hive ist außerdem sehr leicht durch eigene Funktionen erweiterbar. Sogar eigene MapReduce Jobs und flexible Speicherung der Dateien sind möglich. Für viele Probleme wird Hive dadurch zu einem leicht einsetzbaren und flexiblen System. 11

15 4 Zusammenfassung und Ausblick In den vorangegangenen Kapiteln wurden die Programmiersprachen Pig und Hive individuell beleuchtet. In diesem Abschnitt soll nun ein Vergleich von beiden gezogen werden. Dieser Sachverhalt ist aufgrund der gemeinsamen Entwicklungsgeschichte interessant. Facebook hat Hive entwickelt, weil Pig zum damaligen Zeitpunkt große Performanceverluste bei der Nutzung hatte. Ein weiteres Problem von Pig bestand im Trainingsaufwand der Entwickler für den Einsatz einer neuen Programmiersprache. Mit der Entscheidung eine Programmiersprache zu entwickeln, deren Syntax auf SQL basiert, konnte man eine steile Lernkurve, wie man dies von anderen Programmiersprachen kennt, vermeiden. Dieses Problem haben auch die Entwickler bei Hadoop und insbesondere auch bei Pig erkannt. Deshalb soll es in Zukunft auch eine SQL API für Pig geben. Fraglich bleibt, warum die Ingenieure von Pig sich nicht von Anfang an für eine SQL Anfragemöglichkeit entschieden haben. Andererseits hat man mit Pig eine viel größere Kontrolle wie und in welcher Reihenfolge die Daten verarbeitet werden. Dadurch wird Pig für manchen Nutzer möglicherweise einfacher zu bedienen sein. Pipeline-Verarbeitungen kann man in Pig leichter programmieren, was sich in Hive eher schwierig gestaltet. Beim Typsystem geht Hive einen restriktiveren Weg als Pig, denn bei Pig muss der Datentyp nicht unbedingt angegeben werden. Dadurch ist in manchen Situationen der Import von Fremddaten einfacher als bei Hive. Liegen die Daten jedoch bereits in Tabellenform vor, so sind die Daten schon strukturiert und haben auch einen Typ. Dadurch wiegt dieser Nachteil von Hive gegenüber Pig nicht so schwer. Sowohl Pig als auch Hive unterstützen einen Aufruf von externen Bibliotheken. Dadurch ist es möglich die Funktionen, zu erweitern und neue Funktionalitäten bereitzustellen. Auch lassen sich fertige MapReduce Jobs aufrufen. Somit ist eine gewisse Rückwärtskompatibilität garantiert, da alle alten Hadoop MapReduce Programme wiederverwendet werden können. Ein weiterer Vorteil von Hive gegenüber Pig ist die Exportschnittstelle über JDBC/ODBC. Dadurch ist es sehr leicht, die Anfragen an das Hadoop Cluster von einer anderen Programmiersprache zu stellen. Bei Pig muss man hierfür einen Umweg über das Dateisystem gehen, was zu einer Verschlechterung der Performanz führt. Betrachtet man die Performanz der beiden Systeme, so scheint es, dass Hive schneller ist als Pig. Doch dies ist nur eine Tendenz. Tatsächlich ist es wohl eher ein gemischtes Ergebnis. So ist bei manchen Anfragen Hive schneller und bei anderen Pig. In der Tabelle 1 wurde versucht mit einer Gegenüberstellung die wichtigsten Gemeinsamkeiten und Unterschiede darzustellen. Abschließend muss man grundsätzlich je nach Anwendung entscheiden, welche Technik beziehungsweise welches System man einsetzt. Gerade bei großen Datenmengen und komplizierten Systemen gibt es keinen optimalen Lösungsweg. In dieser Arbeit wurde der Fokus vor allem auf die beiden Sprachen Pig und Hive gelegt, weil sie zusammen in den weltweit größten Clustern eingesetzt werden. So betreibt Facebook ein Cluster mit etwa 800 Knoten und Yahoo ein Cluster mit circa 1000 Knoten. Beide Firmen wollen ihre Cluster stark vergrößern und nebenbei auch beweisen, dass ihre Anfragesprache besser als die der Konkurrenten ist. Es bleibt also abzuwarten, wie sich dieser Konkurrenzkampf in Zukunft entwickelt. 12

16 Kriterium Hive Pig Funktionalität Programmierschnittstelle Hive API Pig API Eingabedatenstruktur strukturiert unstrukturiert Eingabe- Rohdaten/Rohdaten Rohdaten/Rohdaten /Ausgabeformat Datenimportunterstützung Sqoop - Datenimport keine Toolunterstützung Schnittstellen zur ODBC/JDBC keine Exportschnittstellen Weiterverarbeitung Benutzerschnittstellen CLI, WebGUI CLI(Grunt) Benutzerfreundlichkeit Eclipse Plugins nicht vorhanden PigPen Benutzerdefinierte nutzbar nutzbar Funktionen (UDFs) Lernkurve einfache Einarbeitung lange Einarbeitung durch Nähe zu SQL in Pig eigene Script- Sprache Leistungsfähigkeit Performanz kein Schwerpunkt tendenziell langsamer als Hive Stabilität (Ausfall- hohe Stabilität durch hohe Stabilität durch sicherheit) HDFS Skalierbarkeit hoch skalierbar durch Hadoop Framework Allgemeine Projektinformationen Installationsaufwand Erweiterung von Hadoop HDFS hoch skalierbar durch Hadoop Framework Erweiterung von Hadoop Dokumentation Tutorials, Wikis Tutorials, Wikis Anwendungsszenarien Time Webanalyse, Logfile Analyse, Real- Logfile Analyse Data Mining, Data Warehousing Zielgruppe Business Analyst mit SQL Kenntnissen Lizenzmodell APL v2.0 / GPL APL v2.0 / GPL Anfragesprache HiveQL (deklarativ) PigLatin (prozedural) Metadaten vorhanden nicht verhanden Programmierer mit Bedarf für Ad-hoc Abfragen Schemata Unterstützung ja (nicht optional) nicht benötigt Plattform Apache Hadoop Apache Hadoop Tabelle 1: Vergleich zwischen Hive und Pig [VHP] 13

17 A Wörter zählen mit Apache Hadoop 1 package org. myorg ; 2 3 import java. i o. IOException ; 4 import java. u t i l. ; 5 6 import org. apache. hadoop. f s. Path ; 7 import org. apache. hadoop. conf. ; 8 import org. apache. hadoop. i o. ; 9 import org. apache. hadoop. mapreduce. ; 10 import org. apache. hadoop. mapreduce. l i b. input. FileInputFormat ; 11 import org. apache. hadoop. mapreduce. l i b. input. TextInputFormat ; 12 import org. apache. hadoop. mapreduce. l i b. output. FileOutputFormat ; 13 import org. apache. hadoop. mapreduce. l i b. output. TextOutputFormat ; p u b l i c c l a s s WordCount { p u b l i c s t a t i c c l a s s Map extends Mapper<LongWritable, Text, Text, IntWritable > { 18 p r i v a t e f i n a l s t a t i c IntWritable one = new IntWritable ( 1 ) ; 19 p r i v a t e Text word = new Text ( ) ; p u b l i c void map( LongWritable key, Text value, Context context ) throws IOException, I n t e r r u p t e d E x c e p t i o n { 22 S t r i n g l i n e = value. t o S t r i n g ( ) ; 23 S t r i n g T o k e n i z e r t o k e n i z e r = new S t r i n g T o k e n i z e r ( l i n e ) ; 24 while ( t o k e n i z e r. hasmoretokens ( ) ) { 25 word. s e t ( t o k e n i z e r. nexttoken ( ) ) ; 26 context. w r i t e ( word, one ) ; 27 } 28 } 29 } p u b l i c s t a t i c c l a s s Reduce extends Reducer<Text, IntWritable, Text, IntWritable > { p u b l i c void reduce ( Text key, I t e r a b l e <IntWritable > values, Context context ) 34 throws IOException, I n t e r r u p t e d E x c e p t i o n { 35 i n t sum = 0 ; 36 f o r ( IntWritable v a l : v a l u e s ) { 37 sum += v a l. get ( ) ; 38 } 39 context. w r i t e ( key, new IntWritable (sum) ) ; 40 } 41 } p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) throws Exception { 44 C o n f i g u r a t i o n conf = new C o n f i g u r a t i o n ( ) ; Job job = new Job ( conf, " wordcount " ) ; 14

18 47 48 job. setoutputkeyclass ( Text. c l a s s ) ; 49 job. setoutputvalueclass ( IntWritable. c l a s s ) ; job. setmapperclass (Map. c l a s s ) ; 52 job. setreducerclass ( Reduce. c l a s s ) ; job. setinputformatclass ( TextInputFormat. c l a s s ) ; 55 job. setoutputformatclass ( TextOutputFormat. c l a s s ) ; FileInputFormat. addinputpath ( job, new Path ( a r g s [ 0 ] ) ) ; 58 FileOutputFormat. setoutputpath ( job, new Path ( a r g s [ 1 ] ) ) ; job. waitforcompletion ( t r u e ) ; 61 } } Die Klasse WordCount für einen Apache Hadoop MapReduce Job (Quelle:[CLO]) 15

19 Literatur [CLO] Website von Cloudera. [DG08] Dean, Jeffrey ; Ghemawat, Sanjay: MapReduce: simplified data processing on large clusters. In: Commun. ACM 51 (2008), January, DOI / ISSN [DZ] [HAD] [HIV] [Ols] Dhruba, Borthakur ; Zheng, Shao: Hadoop and Hive Development at Facebook Website von Apache Hadoop. Website von Apache Hive. Olston, Christopher: Pig - web-scale data processing [ORS + 08] Olston, Christopher ; Reed, Benjamin ; Srivastava, Utkarsh ; Kumar, Ravi ; Tomkins, Andrew: Pig latin: a not-so-foreign language for data processing. In: Proceedings of the 2008 ACM SIGMOD international conference on Management of data. New York, NY, USA : ACM, 2008 (SIGMOD 08). ISBN , [PIG] [STL] Website von Apache Pig. Stewart, R.J. ; Trinder, P.W. ; Loidl, H.W.: Comparing High Level MR Query Languages [TSJ + 10] Thusoo, A. ; Sarma, J.S. ; Jain, N. ; Shao, Zheng ; Chakka, P. ; Zhang, Ning ; Antony, S. ; Liu, Hao ; Murthy, R.: Hive - a petabyte scale data warehouse using Hadoop. In: Data Engineering (ICDE), 2010 IEEE 26th International Conference on, 2010, S [VHP] Vergleich von Hive und Pig. [WCP] Pig Beispiel. (programming_language) 16

Hadoop Demo HDFS, Pig & Hive in Action. Oracle DWH Konferenz 2014 Carsten Herbe

Hadoop Demo HDFS, Pig & Hive in Action. Oracle DWH Konferenz 2014 Carsten Herbe Hadoop Demo HDFS, Pig & Hive in Action Oracle DWH Konferenz 2014 Carsten Herbe Wir wollen eine semi-strukturierte Textdatei in Hadoop verarbeiten und so aufbereiten, dass man die Daten relational speichern

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

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

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen Mit Einführung der 2010 TRY (Test Referenz Jahr) Klimadatensätze ist es erstmals möglich, neben den für 15

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Informatik 1 Tutorial

Informatik 1 Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Exchange Export. Mailbox Export

Exchange Export. Mailbox Export Exchange Export Mailbox Export msontheimer 18.06.2010 Inhalt Exchange Mailbox Export... 3 Rechte anpassen... 3 Zugriffsrechte anpassen... 3 SendAs-Rechte anpassen... 3 Mailbox Export... 4 Skript Anpassung...

Mehr

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P Wochenbericht Firas Zoabi Studienprojekt A: SIMPL 28. Dezember 2009 S I M P L Geplante Aufgaben und Tätigkeiten Erledigte Aufgaben und Tätigkeiten Übersicht Benötigte Arbeitszeit/Aufwände Gewonnene Erkenntnisse

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1 Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Tutorial: Wie kann ich Dokumente verwalten?

Tutorial: Wie kann ich Dokumente verwalten? Tutorial: Wie kann ich Dokumente verwalten? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Dokumente verwalten können. Dafür steht Ihnen in myfactory eine Dokumenten-Verwaltung zur Verfügung.

Mehr

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

Leitfaden #1a. zanox Publisher-Statistik (next generation) Leitfaden #1a "zanox Publisher-Statistik" (next generation) Thema: Sortieren von Leads und Sales nach dem Bearbeitungsdatum (inklusive Abschnitt "Filterung nach Transaktionsstatus") 1/8 Leitfaden "Sortieren

Mehr

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Bedienungsanleitung Anlassteilnehmer (Vereinslisten) Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

SQL - Übungen Bearbeitung der Datenbank Personal (1)

SQL - Übungen Bearbeitung der Datenbank Personal (1) Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

Mehr

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher.

Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher. Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher. Inhalt 1. Konvertieren von Adressbüchern und Verteilerlisten 1.1 Grundlagen 1.2 Adressbücher

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Schulberichtssystem. Inhaltsverzeichnis

Schulberichtssystem. Inhaltsverzeichnis Schulberichtssystem Inhaltsverzeichnis 1. Erfassen der Schüler im SBS...2 2. Erzeugen der Export-Datei im SBS...3 3. Die SBS-Datei ins FuxMedia-Programm einlesen...4 4. Daten von FuxMedia ins SBS übertragen...6

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Apache HBase. A BigTable Column Store on top of Hadoop

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

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Beheben von verlorenen Verknüpfungen 20.06.2005

Beheben von verlorenen Verknüpfungen 20.06.2005 Vor folgender Situation ist sicher jeder Solid Edge-Anwender beim Öffnen von Baugruppen oder Drafts schon einmal gestanden: Die Ursache dafür kann sein: Die Dateien wurden über den Explorer umbenannt:

Mehr

Das Handbuch zu KSystemLog. Nicolas Ternisien

Das Handbuch zu KSystemLog. Nicolas Ternisien Nicolas Ternisien 2 Inhaltsverzeichnis 1 KSystemLog verwenden 5 1.1 Einführung.......................................... 5 1.1.1 Was ist KSystemLog?................................ 5 1.1.2 Funktionen.....................................

Mehr

Doku zur Gebäudebrüter Datenbank

Doku zur Gebäudebrüter Datenbank Autor: Christina Baradari, christina.baradari@berlin.de, 0162 2008 114 Doku zur Gebäudebrüter Datenbank Team Web Programmierer: Rahim Baradari Inhaltsverzeichnis 1 Suchen nach Kartierungsdaten... 2 1.1

Mehr

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank Tutorials: Übertragung von Fotos (+ ) auf einen anderen Computer Export der In dieser Lektion erfahren Sie, wie Sie am effektivsten Fotos von einem Computer auf einen anderen übertragen. Wenn Sie Ihre

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Werkschau Web-Präsentationen

Werkschau Web-Präsentationen Werkschau Web-Präsentationen Willkommen zum Tutorial für neue Beiträge in der Werkschau. Mein Name ist Eugen Notter; ich habe für Sei diese Anleitung verfasst. Sie hilft Ihnen dabei, in der Medien-Galerie

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

EXASOL Anwendertreffen 2012

EXASOL Anwendertreffen 2012 EXASOL Anwendertreffen 2012 EXAPowerlytics Feature-Architektur EXAPowerlytics In-Database Analytics Map / Reduce Algorithmen Skalare Fkt. Aggregats Fkt. Analytische Fkt. Hadoop Anbindung R LUA Python 2

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Datenexport aus JS - Software

Datenexport aus JS - Software Datenexport aus JS - Software Diese Programm-Option benötigen Sie um Kundendaten aus der JS-Software in andere Programme wie Word, Works oder Excel zu exportieren. Wählen Sie aus dem Programm-Menu unter

Mehr

Import und Export von Übergängern

Import und Export von Übergängern Import und Export von Übergängern SibankPLUS bietet Ihnen eine komfortable Schnittstelle, um den Wechsel der Schüler nach der Stufe 4 von der Grundschule auf eine weiterführende Schule zu verarbeiten.

Mehr

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum? Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr