41
Big Data in Azure Ein Beispiel mit HD Insight Ralf Stemmer

Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Big Data in AzureEin Beispiel mit HD Insight

Ralf Stemmer

Page 2: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

oWas ist Big Data? Was ist HD Insight?

oWelche Probleme kann man damit lösen?

oDemo

Agenda

Page 3: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Was ist Big Data? Was ist HD Insight?

Datenexplosion - Rasanter Zuwachs der Datenmenge

• Günstiger Speicher (Hardware & Cloud)

• Günstige Rechenpower

• Soziale Netzwerke (Mehr digitale Kommunikation)

• Device Explosion (Wearables, Smart Phones)

• Internet of Things (Sensoren, Kameras, RFID, Industrie 4.0)

= Big Data

Page 4: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Big Data…wird klassifiziert durch folgenden Eigenschaften:

• Volume – Große Datenmengen

• Variety - Strukturierte und unstrukturierte Daten

• Velocity - Konstanter Datenstrom mit großer Bandbreite

• Veracity –Sicherheit, Präzision (z.B. Soziale Medien)

Page 5: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Umgang mit Big DataKlassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert• Relationale Datenbanken sind konzipiert für die Speicherung von strukturierten Daten

• Parallele Ausführung von Abfragen wird nur begrenzt unterstützt

Apache Hadoop= Open Source Framework für die verteilte Verarbeitung von Big Data

HDFS – Verteiltes Dateisystem

Map Reduce - Abfragesprache

HD Insight

= auf Apache Hadoop basierender Microsoft Cloud Dienst

Page 6: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Hadoop - AnwendungsbeispieleLuftfahrt• Sehr viele Sensoren in Flugzeugen

• Boeing 777 erzeugt auf einem Transatlantikflug 30 TB Daten

Soziale Netzwerke• Twitter Real Time Stimmungsanalyse

UIDAI (Unique Identification Authority of India) Aadhaar-Program • 1,2 Mrd Einwohner

• Biometrische Merkmale

• Real Time Zugriff (für Erstellung von Bankkonten etc., )

Page 7: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenspeicherung

NameNode

DataNode 1

o 1) HDFS – Hadoop Distributed File System

DataNode 2

DataNode …

Page 8: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

DataNode …

Client

File1.txt

Page 9: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

DataNode …

Client

Block 1 Block 2 Block 311

Page 10: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

DataNode …Data

Node …

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

DataNode 3, 4, 5

Client

Block 1 Block 2 Block 3

22

„Wohin soll Block 1 gespeichert werden ?

11

Page 11: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

DataNode …Data

Node …

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

DataNode 3, 4, 5

Client

Block 1 Block 2 Block 3

22

Data Node 1, 2 und 4

11 33

Page 12: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

DataNode …Data

Node …

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

DataNode 3, 4, 5

ClientKopiere Daten in Data Node 1

11

Block 1

44

22

33

Page 13: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

DataNode …Data

Node …

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

DataNode 3, 4, 5

ClientKopiere Daten in Data Node 2

11

Block 1

44

55

22

33

Block 1

Page 14: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

DataNode …Data

Node …

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

DataNode 3, 4, 5

ClientKopiere Daten in Data Node 4

11

44

55 66

22

33

Block 1 Block 1

Block 1

Page 15: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

DataNode …Data

Node …

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

ClientData Node 4: Fertig

11

44

55 66

77

22

33

Block 1 Block 1 Block 1DataNode 3, 4, 5

Page 16: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

ClientData Node 2: Fertig

11

44

55 66

7788

22

33

Block 1 Block 1 DataNode …Data

Node …Block 1Data

Node 3, 4, 5

Page 17: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

ClientData Node 1: Fertig

11

44

55 66

7788

99

22

33

Block 1 Block 1 DataNode …Data

Node …Block 1Data

Node 3, 4, 5

Page 18: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenspeicherung

NameNode

DataNode 1

DataNode 2

Client Metadata:Block 1: Node 1, 2, 4Block 2: …11

44

55 66

7788

99

22

33

Block 1 Block 1 DataNode …Data

Node …Block 1Data

Node 3, 4, 5

Page 19: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenspeicherung

oRedundante Datenspeicherung

Standardreplikationsfaktor = 3

oData Nodes benutzen Azure Blob Store-> HD Insight nur benötigt während der Auswertung

-> Daten auch für andere Anwendungen ohne HD Insight zugreifbar

-> Extra Level an Redundanz

Page 20: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

HD Insight - Datenabfrage2) Abfragesprache: Map Reduce

1) Große Probleme in kleine Probleme aufspalten

2) Die Aufgabe ausführen

3) Ergebnisse kombinieren

Ergebnis

Map

Reduce

Page 21: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Abfragen

oMap Reduce (Java, .Net, C#)+ Strukturierte und unstrukturierte Daten+ Sehr mächtig (z.B. im Umgang mit Hierarchien)+ Gute Performance- Aufwendig zu entwickeln

oHive (HiveQL)+ Schnell zu entwickeln - SQL sehr ähnlich+ Gut für adhoc Analyse- Nur für strukturierte Daten geeignet- Schlechtere Performance- Weniger mächtig

Page 22: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Demo

Einrichten eines HD Insight Clusters in Azure

Page 23: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Hive Beispiel – Klimaanlageo Einfaches Beispiel mit kleiner Datenmenge zur Verdeutlichung der Funktionsweise

o Sensordaten von Heizung, Klimaanlage

o 20 große Gebäude

o Strukturierte Quelldaten:

Page 24: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Hive Beispiel – KlimaanlageoVorgehen:

1) Erstellen einer externen (logischen) Rohdatentabelle mit den Sensortransaktionsdaten

2) Erstellen einer externen (logischen) Rohdatentabelle mit den Gebäudestammdaten

3) Erstellen einer (physischen) Tabelle mit eigenen berechneten Feldern

4) Erstellen einer (physischen) Tabelle , die die Sensordaten mit Gebäudedaten anreichert

Page 25: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Hive Beispiel – Klimaanlage oErstellen einer Sensordatentabelle

--create the hvac table on comma-separated sensor data

CREATE EXTERNAL TABLE hvac(date STRING, time STRING, targettemp BIGINT,

actualtemp BIGINT,

system BIGINT,

systemage BIGINT,

buildingid BIGINT)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

STORED AS TEXTFILE LOCATION

'wasb://[email protected]/HdiSamples/SensorSampleData/hvac/';

Page 26: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Hive Beispiel – Klimaanlage oErstellen einer Gebäudetabelle

--create the building table on comma-separated building data

CREATE EXTERNAL TABLE building(buildingid BIGINT, buildingmgr STRING,

buildingage BIGINT,

hvacproduct STRING,

country STRING)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

STORED AS TEXTFILE LOCATION

'wasb://[email protected]/HdiSamples/SensorSampleData/building/';

Page 27: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Hive Beispiel – Klimaanlage o Interpretieren der Sensordaten

--create the hvac_temperatures table by selecting from the hvac table

CREATE TABLE hvac_temperatures AS

SELECT *, targettemp - actualtemp AS temp_diff,

IF((targettemp - actualtemp) > 5, 'COLD',

IF((targettemp - actualtemp) < -5, 'HOT', 'NORMAL')) AS temprange,

IF((targettemp - actualtemp) > 5, '1', IF((targettemp - actualtemp) < -5, '1', 0)) AS extremetemp

FROM hvac;

Page 28: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Hive Beispiel – Klimaanlage oErstellen einer Gebäudetabelle

--create the hvac_building table by joining the building table and the hvac_temperatures table

CREATE TABLE hvac_building AS

SELECT h.*, b.country, b.hvacproduct, b.buildingage, b.buildingmgr

FROM building b JOIN hvac_temperatures h ON b.buildingid = h.buildingid;

Page 29: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

RahmenbedingungenDatenschutz – Sind meine Daten vor dem Zugriff anderer geschützt?

• Zugriffsmöglichkeit durch US Regierung bzw. Justiz unklar

-> Speicherung von streng vertraulichen Daten in der Cloud überprüfen

Alternative Möglichkeiten

-> Vorerst Entwicklungs- oder Testumgebungen in Cloud nutzen

-> Daten anonymisiert speichern und die Schlüssel lokal belassen

-> Anwendungen mit weniger sensiblen Daten in der Cloud hosten

Page 30: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Ausblick - Weitere Nutzungsmöglichkeiteno Archivierung von älteren Daten auf Hadoop

o Erstellung des HD Insight Clusters per Skript1) Automatisches Erstellen des Clusters2) Auswerten der Daten3) Speichern der Ergebnisse, z.B. in anderer Azure Datenbank oder als Datei4) Löschen des Clusters-> Daten sind noch vorhanden-> Kein Vorhalten von Hadoop notwendig-> Geringere Kosten wegen nur kurzer Bereitstellung/Nutzung des Clusters

o HD Insight als Verdichtungsstufe vor dem Data Warehouse

Quellen ETL mit HD Insight DWH BI Reporting

Page 32: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert
Page 33: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Literatursammlung

Page 34: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Zusätzliche HelferprogrammeAzure Power Shell

o Kommandozeilentool um Azure Dienste zu Erstellen, Steuern und zu Managen

o Anmelden am persönlichen Azure Account:Add-AzureAccount

AzCopy

o Kommandozeilen Kopierprogramm Lokal -> Azure Blob Storage

o http://aka.ms/downloadazcopy

o Liegt in %ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy

o Doku: http://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/

Page 35: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

Literatursammlung• Hive - SQL Ähnliche Höhere Programmiersprachen, die von MapReduce abstrahieren

• Pig - Scriptsprache für Datentransformationen

• Storm - Stream Analytics

• Hbase - Apache HBase ist eine nichtrelationale Datenbank basierend auf Hadoop und eignet sich speziell

für große Mengen unstrukturierter und teilstrukturierter Daten - bis zu Milliarden von Zeilen mal Millionen

von Spalten.

• Mahaud - Machine Learning

• Sqoop - Import & Export von Daten

Page 36: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert

VorbereitungDesktop aufräumen

IE Starten

Azure anmelden

Azure Power Shell starten

Favouriten ausblenden

Evtl. Präsiuser anlegen

Page 37: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert
Page 38: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert
Page 39: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert
Page 40: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert
Page 41: Big Data in Azure - ERGON Datenprojekte...Umgang mit Big Data Klassische relationale Datenbanken sind nicht für Umgang mit Big Data konzipiert • Relationale Datenbanken sind konzipiert