big data: massenserialisierung mit apache hadoop · pdf fileurn:epc:id:giai:4012345.667788 ...

24
Big Data: Massenserialisierung mit Apache Hadoop Ralph Tröger | GS1 Tech | DOAG 2012 | 2012-11-22

Upload: hamien

Post on 05-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Big Data: Massenserialisierung mit Apache Hadoop

Ralph Tröger | GS1 Tech | DOAG 2012 | 2012-11-22

Page 2: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 2

Beispiel: GTIN (Global Trade Item Number)

Wer bzw. was ist GS1? [1/3]

Page 3: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 3

Wer bzw. was ist GS1? [2/3]

Beispiel: SSCC (Serial Shipping Container Code)

Page 4: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 4

Datenaustausch

BGM+380+48675–0060942' DTM+137:20020228:102' NAD+SU+4000001000005::9'

EANCOM® GS1 XML <?xml version="1.0" encoding="UTF–8" ?> <orders xmlns:xsi="http://www.w3.org/2001/XMLSchema–instance" xsi:noNamespaceSchemaLocation="GS1 orders v093.xsd">

EAN–13

GS1 DataBar

EPC-Transponder

GS1-128

GS1 DataMatrix

40 12345 12345 6

GTIN

3 4012345 000000000 0

NVE (SSCC)

40 12345 00000 9

GLN

urn:epc:id:sgtin:4012345.000000.12345

SGTIN-EPC

EPCIS <eventTime>2011-02-18T06:41:50Z</eventTime> <recordTime>2011-02-18T06:41:50Z</recordTime>

<eventTimeZoneOffset>+01:00</eventTimeZoneOffset> <epcList> <epc>urn:epc:id:sgtin:4000001.001602.112</epc> </epcList> <bizStep>urn:epcglobal:cbv:bizstep:packing</bizStep> <bizLocation> <id>urn:epc:id:sgln:4000001.00002.0</id> </bizLocation>

Wer bzw. was ist GS1? [3/3]

Page 5: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 5

Dienstleister für global etablierte Standards

Neutral & Not-for-Profit

Mehr als 110 GS1-Ländergesellschaften

Beteiligungen (u. a.):

Ca. 160 Mitarbeiter (Köln)

Deutscher Repräsentant von

Kurzprofil GS1 Germany

Page 6: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 6

Enorm wachsende Datenvolumina im SCM

Händler

Zentrallager

Produktion

Hafen 1

Hafen 2

GPS-Daten Statusmeldungen Sensordaten

… GPS-Daten Statusmeldungen Sensordaten

Kassenscanner-

date

n

EA

S-S

ensor-

Date

n

Legende: EAS … Elektronische ArtikelsicherungGPS … Global Positioning System

Sta

tus-

meld

ungen

……

Statusmeldungen Sensordaten

…Steuerungsdaten

…StatusmeldungenSteuerungsdaten StatusmeldungenSteuerungsdaten

Page 7: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 7

Massendaten-Beispiele aus Industrie & Handel

Zweck von Big Data: große, unstrukturierte Datenmengen nach immer neuen Kriterien analysieren Ursprung in der New Economy:

Auch übertragbar auf „klassische“ Branchen:

GPS-Bewegungsdaten von Fahrzeugflotten

Sensordaten von Maschinen/ Anlagen/ etc.

(z. B. Drehzahl, Temperatur, Produktionsausstoß, Laufzeiten, …)

RFID-Lesedaten

Telemetrie-Daten

Page 8: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 8

Problemstellung

Wie gewinnt man aus massenhaft unstrukturierten Daten strukturierte,

auswertbare bzw. interpretierbare Geschäftsdaten?

Page 9: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 9

<AggregationEvent> <eventTime>2012-11-22T06:41:50Z</eventTime> <recordTime>2012-11-22T06:41:50Z</recordTime> <eventTimeZoneOffset>+01:00</eventTimeZoneOffset> <parentID>urn:epc:id:giai:4012345.667788</parentID> <childEPCs>

<epc>urn:epc:id:sscc:4000001.0222222222</epc> <epc>urn:epc:id:sscc:4000001.0222222225</epc>

</childEPCs> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:loading</bizStep> <disposition>urn:epcglobal:cbv:disp:in_progress</disposition> <readPoint> <id>urn:epc:id:sgln:4000001.00005.0</id> </readPoint> <bizLocation> <id>urn:epc:id:sgln:4000001.00002.0</id> </bizLocation>

</AggregationEvent>

Was?

Wo?

Warum?

Wann?

Zielformat: EPCIS-Ereignisse

Ein EPCIS-Ereignis dokumentiert in einem standardisiertem Format einen Schritt eines Geschäftsprozesses:

© ORACLE

Page 10: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 10

EPC Information Services (EPCIS)

verbessert Kontrolle, Steuerung & Dokumentation von Prozessen

erhöht Transparenz ( Was/ Wann/ Wo/ Warum?)

unternehmensintern und – übergreifend einsetzbar

ergänzt (ersetzt nicht!) klassisches EDI

ist datenträgerunabhängig (RFID oder Strichcodes)

direkt nutzbar in XML-basierten Integrations- und Prozessmodellierungswerkzeugen

Warum EPCIS?

Page 11: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 11

EPCIS als Brücke zwischen Prozess und IT

Ist Kundenauftrag 4711 schon auf dem Weg?

Wie gut ist unsere Lieferqualität?

EPCIS- Repository

EPCIS

-Erf

assungs-

schnitts

telle

EPCIS

-Abfr

age-

schnitts

telle

Welchen Weg hat unsere Ware zurückgelegt?

© http://epcmashup.appspot.com/

Wieso kam es bei Sendung 789 zu Verzögerungen?

Geschäftsprozesse S

yste

me

Auto-ID-Systeme Big Data …

Page 12: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Ralph Tröger | DOAG 2012 | 2012-11-22 | 12

Vielen Dank für Ihre Aufmerksamkeit.

Ralph Tröger Projektmanager AutoID GS1 Technologien T +49(0)221-94714-243 [email protected] www.gs1-germany.de

Page 13: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 13

Page 14: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Big Data - Massenserialisierung mit Apache Hadoop

Marcel Amende

Senior Leitender Systemberater

Business Unit Middleware

Page 15: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 15

Hadoop

Hadoop Distributed File System (HDFS)

MapReduce

Ein Zoo von Werkzeugen (verwaltet von Zookeeper):

– Hive: MapReduce ohne Java, HiveQL – SQL-ähnlich

– Pig: MapReduce Skriptsprache (PigLatin)

– Flume: Datenladen von File in das HDFS

– Sqoop: Datenladen von SQL Datenbank in das HDFS

– Oozie: Workflow aus MapReduce Jobs

– HBase: NoSQL Datenbank

Cloudera Distribution

Page 16: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 16

Hadoop Ditributed File System (HDFS)

Java-basiertes Filesystem auf Linux Filesystem

unstrukturierte Daten, moderate Zahl großer Dateien

feste Blockgröße (z.B. 64MB)

definierbare Zahl von Kopien (z.B. 2)

auf kostengünstigen Platten

einmalig schreibender Zugriff

vielfach lesender Zugriff

Page 17: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 17

Anhaltspunkte: klassisches RDBMS vs. Hadoop

RDBMS

Terabyte-Datenvolumen,

nicht-lineare Skalierung

festes Schema

SQL

hohe Datenintegrität

niedrige Latenz

Lesen und Schreiben

Hadoop

Petabyte-Datenvolumen,

lineare skalierung

unstrukturierte Daten

prozedural (Java, Skript, ...)

niedrige Datenintegrität

hohe Latenz

1x schreiben, vielfach lesen

Page 18: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 18

MapReduce

Programmiermodell

Verteilung und Parallelisierung von Aufgaben auf viele Knoten

primäre Verarbeitung der Daten auf dem jeweils lokalen Knoten

MapReduce Programme in Java oder Skript (Hadoop Streaming)

3 Phasen, gesteuert durch JobTracker:

– Map: (Zwischen-)Schlüssel finden

– Shuffle & Sort: Aggregation nach (Zwischen-)Schlüssel, als Liste

– Reduce: 1 Thread je Schlüssel/Liste, generiert ein Schlüssel/Wert-Paar

Page 19: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 19

Big Data Verarbeitungsbeispiel I Hadoop Cluster

Hadoop Node

Hadoop Node

Hadoop Node Lieferdokumente

(EDI)

Lokationsdaten

GPS

Bewegungsdaten

Sh

uff

le &

So

rt

Map

Map

Map

Map

Map

Map

Map

Map

Map

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Sh

uff

le &

So

rt

...

...

... Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Map

Map

Map

Map

Map

Map

Map

Map

Map Timestamp

& Asset#

(GRAI)

Location#

(SGLN)

Page 20: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 20

Big Data Verarbeitungsbeispiel II Hadoop Cluster

Hadoop Node

Hadoop Node

Hadoop Node

Sh

uff

le &

So

rt

...

...

... Map

Map

Map

Map

Map

Map

Map

Map

Map

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

Reduce

EPCIS

Ereignis

<TransactionEvent>

<eventTime>2012-11-22T14:34:39.172+01:00</eventTime>

<!-- Verweis auf Auftrag -->

<bizTransactionList>

<bizTransaction type="urn:epcglobal:cbv:btt:po">

http://doag.org/po/12345678

</bizTransaction>

</bizTransactionList>

<!-- Inhalt der Wechselbrücke -->

<parentID>urn:epc:id:giai:4012345.667788</parentID>

<epcList>

<epc>urn:epc:id:sscc:4012345.0999999998</epc>

<epc>urn:epc:id:sscc:4012345.0999999999</epc>

</epcList>

<action>OBSERVE</action>

<!-- Geschäftsvorfall ‘Auslieferung’ -->

<bizStep>urn:epcglobal:cbv:bizstep:accepting</bizStep>

<disposition>urn:epcglobal:cbv:disp:in_progress</disposition>

<!-- ID Betriebshof -->

<readPoint><id>urn:epc:id:sgln:4012341.23456.12568</id></readPoint>

<bizLocation><id>urn:epc:id:sgln:4000001.23456.25</id></bizLocation>

</TransactionEvent>

Shipment#

(SSCC)

& PO#

Page 21: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 21

Welche Frage ist beantwortet?

Big Data dokumentiert den Lieferprozess (Liefertreue,

Falschlieferungen, Lieferzeiten, ...)

Was wäre mit derselben Datenbasis zudem bestimmbar?

Berechnung des CO2 Footprints einer Ware

Routen- und Fahrzeitenoptimierung

Überwachung Ruhezeiten und ökonomische Fahrweisen

Kapazitätsplanung

u.v.a.m.

Page 22: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 22

Oracle Big Data Appliance

HDFS: Speicherplatz 12 Server x 12 Platten à 3GB = 648 TB

Inter-Rack Konnektivität

MapReduce: Rechenleistung 12 Server x 2 CPU x 6 Cores= 216 Cores

Shuffle&Sort: Netzwerkbandbreite und –Latenz internes 40Gb/s Infiniband Netzwerk

Integration mit RDBMS (Exadata) & BI (Exalytic) Inter-Rack über (24 x) 40Gb/s Infiniband Netzwerk

Rechenzentrumseinbindung über 10Gb/s Ethernet

Die ideale Hadoop-Maschine...

Page 23: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 23

Page 24: Big Data: Massenserialisierung mit Apache Hadoop · PDF fileurn:epc:id:giai:4012345.667788  urn:epc:id: ... MapReduce Programme in Java oder Skript (Hadoop Streaming)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 24