Big Data Technologien - BICCnet...Prof. Dr. Jens Albrecht Big Data 30 Streaming Frameworks Storm...

Preview:

Citation preview

Prof. Dr. Jens Albrechtjens.albrecht@th-nuernberg.de

Big Data Technologien- Ein Überblick -

Prof. Dr. Jens Albrecht Big Data 3

Big Data Landscape 2016

Prof. Dr. Jens Albrecht Big Data 5

Appliance

Systemarchitektur im Wandel

Gestern und heute

Strukturierte DatenModerate Größe (S-XL)

"General Purpose"RDBMS

Heute und morgen

Polystrukturierte Datenin allen Größen (S-XXXL) {json}

<xml/>

InMemory

RDBMSHadoop

Streaming

NoSQL

ZweckoptimierteSpezialisten

Prof. Dr. Jens Albrecht Big Data 6

Business Cases

Benefits of Big Data Technologies

Scalability

Throughput (Velocity)

Computing Power

Agility

Data Volume

Data Exploration

Schema-on-Read

Integration on Demand

EfficientDevelopment

DataVirtualization

Real-timeDecisions

SimplifiedData Access

AdvancedAnalytics

Cost Efficiency

Prof. Dr. Jens Albrecht Big Data 7

BI/Big Data ArchitekturA

nal

yse

Dat

en

hal

tun

gD

ate

nq

uel

len

Klassische Datenquellen

OLTP-Systeme

Big-Data-Quellen

Dokumente, Server Logs, Sensor Daten,Social, Clickstream, GPS,

BusinessIntelligence

EnterpriseDWH

Data Marts

Predictive Analytics

OperationalAnalytics

In-MemoryRDBMS

ExplorativeAnalyse

Data Lake

NoSQL

Prof. Dr. Jens Albrecht Big Data 8

Data Lake: Herausforderungen

Data Lake

Viele heterogene Datenquellen

Viele heterogene Nutzer

Skalierbare Integration On-the-fly,einfach zu entwickeln und zu betreiben

Prof. Dr. Jens Albrecht Big Data 9

HadoopHDFS

Big Data Processing

Ingest Store Process AnalyzeAccess & Visualize

Data Sources

Flume

Kafka

Spark

Map Reduce

Hive

Storm

Spark ML

Impala

SparklingWater

SOLR

Looker

H2O

Zeppelin

Flink

Sqoop

Drill Datameer

Atlas

Waterline

Governance

NoSQL

Nifi

Ranger

Sentry

Samza

Prof. Dr. Jens Albrecht Big Data 10

Batch vs. Stream

Clickstream

Transactions

Machine Logs

Sensor Data

Data Producers Batches of Data Batch Processing

Clickstream

Transactions

Machine Logs

Sensor Data

Stream Processing Streams of Data

Prof. Dr. Jens Albrecht Big Data 12

>

Batch Processing & Analysis

Prof. Dr. Jens Albrecht Big Data 13

YARN + Map Reduce

Distributed Storage (HDFS)

Hadoop

Batch-Processing-Framework

Komponenten

▸HDFS, HBase

▸ YARN, Zookeeper

▸Map Reduce, Hive, Pig, Sqoop, …

Stärken und Grenzen

▸ ausgereifte Basistechnologie

▸ umfangreiches Ökosystem

▸ breite Kompatibilität

▸MapReduce ist langsam und umständlich

Prof. Dr. Jens Albrecht Big Data 16

Apache Spark – Swiss Army Knife of Big Data

☛ Agilität und Skalierbarkeit mit und ohne Hadoop▸ Effiziente Entwicklung durch mächtige API (identisch für Scala, Java, Python)

▸ In-Memory-Ausführung und SQL-ähnliche Anfrageoptimierung

▸ Einheitliches System für Batch- und Stream-Processing

Batch Processing

Machine Learning

JavaPython

Scala R

Data Streaming

Graph Processing

SQL

Apache Spark

Prof. Dr. Jens Albrecht Big Data 18

Map Reduce vs. Spark

Quelle: https://spark.apache.org/examples.html

file = spark.textFile("hdfs://...")counts = file.flatMap(lambda line: line.split(" ")) \

.map(lambda word: (word, 1)) \

.reduceByKey(lambda a, b: a + b)counts.saveAsTextFile("hdfs://...")

… und in Spark

Hadoop-MapReduceWordcount in Java

Prof. Dr. Jens Albrecht Big Data 19

Spark RDDs und DataFrames

http://de.slideshare.net/databricks/spark-sql-deep-dive-melbroune

Prof. Dr. Jens Albrecht Big Data 21

SQL for Big Data

HDFS

MR / Tez

HiveQL

Hive (Native Hadoop) Hadoop SQL Engines

HDFS

DistributedSQL Engine

HDFS

DistributedSQL Engine

NoSQLHive

Format-agnostic SQL Engines

RDBMS

Relational

RDBMS with Hadoop Access

Hadoop

Stinger Big Insights

Prof. Dr. Jens Albrecht Big Data 22

Datenbanken als Lego-Baukasten!?

SQL Prozessor

Verteilte Ausführung

Speicherverwaltung

Dat

a D

icti

on

ary

SQL

Klassisches monolithisches System

SQL Prozessor

MapReduce

Spark

CSV Parquet Kudu

JSON Avro ???

SQL

Baukasten

• Generische Ausführungs-Engine• Metadaten-Sharing über Hive Repository oder

selbstbeschreibende Dateiformate• Operatoren-Push-Down durch intelligente Dateien

Prof. Dr. Jens Albrecht Big Data 23

>

Streaming

Prof. Dr. Jens Albrecht Big Data 24

Anforderungen an Streaming Frameworks

Low Latency

High Throughput Scale-out Absorb backpressure

Fault Tolerant No message lost Exactly-once delivery Preserve order

Powerful computation model and API

Prof. Dr. Jens Albrecht Big Data 25

Lambda und Kappa Architektur

Streaming Data

Speed LayerKafka, Storm

Batch LayerHadoop, Spark

Serving LayerLambda

Streaming DataMessage Buffer

and BrokerKafka

Stream ProcessorFlink, Spark

Serving Layer

Kappa

Speed Table

Batch Table

Prof. Dr. Jens Albrecht Big Data 30

Streaming Frameworks

Storm Flink Spark Streaming

Delivery Guarantees at least once exactly once exactly once

Latency very low low high

Throughput medium high high

Processing Model stream stream micro-batch

Resource Management

YARN YARN YARN

Functionality stream-only stream & batch stream & batch

https://www.digitalocean.com/community/tutorials/hadoop-storm-samza-spark-and-flink-big-data-frameworks-comparedhttps://databaseline.wordpress.com/2016/03/12/an-overview-of-apache-streaming-technologies/

http://data-artisans.com/high-throughput-low-latency-and-exactly-once-stream-processing-with-apache-flink/

Prof. Dr. Jens Albrecht Big Data 31

>

Fazit

Prof. Dr. Jens Albrecht Big Data 32

Entscheidungen

Volumen / Kapazität Durchsatz / Latenz

Konsistenz Verfügbarkeit / Performance

SQL NoSQL (API)

On-Premise Cloud

Batch Stream

Strukturen Agilität

Prof. Dr. Jens Albrecht Big Data 33

Fazit

1. Skalierbarkeit ist gegeben, Agilität und Effizienz bei Entwicklung und Betrieb sind erforderlich

2. Open Source Effekt 1: Big Data Technologien sind im ständigen Wandel und werden das auch bleiben

3. Open Source Effekt 2: Offene Schnittstellen und breite Kompatibilität

4. Open Source Effekt 3: Mächtige Werkzeuge für kleines Geld

Prof. Dr. Jens Albrecht Big Data 34

>

Vielen DankJens.Albrecht@th-nuernberg.de

Recommended