présentation google dataflow

Post on 12-Apr-2017

599 Views

Category:

Data & Analytics

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Google Dataflow

Sommaire

Origine et principe

Mise en place

Concepts

Windowing / Watermark

Présentation GCP

Dataflow origine

MapReduce2004

FlumeJava2010

MillWheel2013

Présentation Dataflow

“ Se concentrer sur la logique des process plutôt que sur l’orchestration physique pour mettre des traitements en

parallèle “

Présentation Dataflow

SDK

Job de Traitement de donnée

GCP Service

Intégration et utilisation de la Google Cloud

Platform et de ses outils

Mise en place sur le cloud

Création Compte GCPMettre disponible les APIs :

Google Cloud Dataflow APICompute Engine API (Google Compute Engine)Google Cloud Logging APIGoogle Cloud StorageGoogle Cloud Storage JSON APIBigQuery APIGoogle Cloud Pub/SubGoogle Cloud Datastore API

Mise en place local

Launcher

DirectPipelineRunner : execution local

DataFlowPipelineRunner : lance l’execution / s’arrete

BlockingDataflowPipelineRunner : lance l’execution et attends qu’il se termine.

Launcher

Cloud Storage BucketsBigQuery DatasetsPub/Sub Topics and SubscriptionsCloud Datastore

=> Go to the Pipelines World

Concept

Source

PCollection PCollection PCollectionTransform Transform

PIPELINES

Sink

Sink

SinkSource

Concept

Pipelines : ensemble d’opération qui lis les données, les transforme et qui écris les résultats / job PCollections : Ensemble de données (bounded / unbounded )Transforms : Action pour manipuler les données, prend N PCollection en entrée et en fournit une autre en sortieI/O sources and sinks : sources en entrée / Sink en sortie.

Concept - Pipelines

“ensemble des opérations qui lis les données, les transforme et qui écris les résultats”

Possibilité de créer plusieurs Pipelines mais pas d’interaction entre.

Runner Cloud Dataflow Service ou autre.

Concept - PCollections

“represents a very large data set in the cloud”

immutable pas de ramdom accessUniquement dans le pipelines

Concept - PCollections

Bounded

Unbounded

Transform

ParDo GroupByKey

Combine Flatten

Transform

Transform - ParDo (“Parallel Do”)

LowerCase Filter

Data, Sfeir, Cloud, ...

data, sfeir, cloud, ...

Data, Sfeir, Cloud, ...

Sfeir, Cloud, ...

Transform - ParDo (“Parallel Do”)

ExplodePrefixes KeyByFirstLetter

Data, Sfeir, Cloud, ...

d, da, dat, data, s, sf, sfe, sfei, sfeir, c, cl, clo, clou, cloud, ...

Data, Sfeir, Cloud, Sync ...

<d, Data>, <s, Sfeir>, <c, Cloud>, <s, Sync>...

Transform - GroupByKey

GroupByKey

<d, {Data}>, <s, { Sfeir, Sync}>, <c, {Cloud}>

<d, Data>, <s, Sfeir>, <c, Cloud>, <s, Sync>...

Transform - Combine

Combine.perKey(CountFn())

GroupByKey

<d, Data>, <s, Sfeir>, <c, Cloud>, <s, Sync>...

<d, {Data}>, <s, { Sfeir, Sync}>, <c, {Cloud}>

CountByKey

<d, 1>, <s, 2>, <c, 1>

<d, Data>, <s, Sfeir>, <c, Cloud>, <s, Sync>...

<d, 1>, <s, 2>, <c, 1>

Source / Sink

Exemple

splitwords

Count

Format

Exemple

splitwords

Count

Format TopAndBottom

Windowing

Combine

GroupByKey

DataSet limité

Windowing

9:00 9:209:10 9:409:30

Windowing - Fixed

9:00 9:209:10 9:30 9:40

Défini le temps de la Window

Time

Windowing - Sliding

9:00 9:209:10 9:30 9:40

Défini le temps de la Window et la slide period

Time

Period

Windowing - Session

9:00 9:209:10 9:30 9:40

Défini le temps sans élement

Windowing

On joue avec le temps

Event Time Processing Time

Windowing - Watermark

9:00 9:209:10 9:30 9:40

Gérer le décalage entre le time event et le processing time

Event Time

Processing Time

1

42

3

1

234

5

5

Windowing - Watermark

9:00 9:209:10 9:30 9:40

Event Time

Processing Time

1

42

3

1

234

5

5

Le Watermark va permettre de prendre en compte la donnée 2 mais la donnée 5 sera considéré comme une donnée en retard (data late)On peut ajouter une gestion des data late au Watermark

Trigger

Aider à gérer les late data / Récupérer des informations sur les aggrégations en cours

3 types :

Time basedData drivenCombined

WordCount BigQuery + TOP & MIN value

Link

DataFlow Model http://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf

Video Frances Perry : https://www.youtube.com/watch?v=3UfZN59Nsk8

Dataflow GCP : https://cloud.google.com/dataflow/

Geoffrey GarnotelEmail : ggarnotel@gmail.com

Twitter : @ggarnotel

top related