SlideShare uma empresa Scribd logo
1 de 82
Do Flink onWeb
with FLOW
Dongwon Kim
eastcirclek@sk.com
Haemee Park
haemee.park@sk.com
T A B L E O F C O N T E N T S
Do Flink onWeb with FLOW
1. Motivation
2. Demo
3. Architecture
4. Supported operations & connectors
5. Summary
SKT FlinkForward talks
FlinkForward 2017
Predictive Maintenance
with Flink .
FlinkForward 2018
Real-time driving score
service using Flink
How we used to work
FlinkForward 2017
Predictive Maintenance
with Flink .
FlinkForward 2018
Real-time driving score
service using Flink
Domain experts Target systems Requirement
Refinery engineers Expensive refinery equipment
Driving score service
Generating alarms ASAP (in real time)
Generating scores ASAP (in real time)Mobility service planners
Needs for real-time stream processing
FlinkForward 2017
Predictive Maintenance
with Flink .
FlinkForward 2018
Real-time driving score
service using Flink
Apache Flink
SQL/Table API
DataStream API
Process Function
dynamic tables
streams, windows
events, state, time
Domain experts
Refinery engineers
Mobility service planners
How to process
real-time stream data?
Nonnegligible distance between domain experts and Flink
FlinkForward 2017
Predictive Maintenance
with Flink .
FlinkForward 2018
Real-time driving score
service using Flink
Apache Flink
SQL/Table API
DataStream API
Process Function
dynamic tables
streams, windows
events, state, time
JVM languages IDE
Project management
Data visualization
54.6 million
kilometers
384,400
kilometers
Domain experts
Refinery engineers
Mobility service planners
Data engineers bridge the gap
FlinkForward 2017
Predictive Maintenance
with Flink .
FlinkForward 2018
Real-time driving score
service using Flink
Apache Flink
SQL/Table API
DataStream API
Process Function
dynamic tables
streams, windows
events, state, time
JVM languages IDE
Project management
Data visualization
Data engineersDomain experts
Refinery engineers
Mobility service planners
Data engineers bridge the gap
FlinkForward 2017
Predictive Maintenance
with Flink .
FlinkForward 2018
Real-time driving score
service using Flink
Apache Flink
SQL/Table API
DataStream API
Process Function
dynamic tables
streams, windows
events, state, time
JVM languages IDE
Project management
Data visualization
Data engineersDomain experts
Refinery engineers
Mobility service planners
Data
Domain knowledge
Requirement
Data
Domain knowledge
Requirement
Training & Transfer
Maintenance
Maintenance
Training & Transfer
Very inefficient!
Let domain experts do Flink directly via FLOW
Apache Flink
SQL/Table API
DataStream API
Process Function
dynamic tables
streams, windows
events, state, time
JVM languages IDE
Project management
Data visualization
Various domains of SK
Mobility
IoTTelco
Energy Semiconductor
E-commerce Media
FLOW
Abstraction layer to hide
the details of Flink app. development.
Let domain experts do Flink directly via FLOW
Apache Flink
SQL/Table API
DataStream API
Process Function
dynamic tables
streams, windows
events, state, time
JVM languages IDE
Project management
Data visualization
Various domains of SK
Mobility
IoTTelco
Energy Semiconductor
E-commerce Media
Graphical user interface to build
stream processing pipelines of
SQL operations and connectors
Data
Domain knowledge
Requirement
SQL!
SQL!
SQL!
SQL!
T A B L E O F C O N T E N T S
Do Flink onWeb with FLOW
1. Motivation
2. Demo – identifying popular places with FLOW
3. Architecture
4. Supported operations & connectors
5. Summary
Demo Scenario: Identifying popular places in NYC
Kafka
Ride Id: 3249850213
Taxi Id: 3459809419
Driver Id: 0812398723
Is Start:True
Start Coord: (-73.866135, 40.771091)
EndCoord: (-73.961334, 40.764912)
PassengerCount: 1
EventTime: 2019-10-09 19:35:08.2
16 110 6 313 2457891214151718 11
Demo Scenario: Identifying popular places in NYC
Kafka
16 110 6 313 2457891214151718 11
Removing events that do not st
art or end in NewYork City
16 110 3 257891214151718 11
Demo Scenario: Identifying popular places in NYC
Kafka
100m
100m
Mapping coordinates of each re
cord into a grid cell
16 110 3 257891214151718 11
Demo Scenario: Identifying popular places in NYC
Kafka
Creating a sliding window of size 10 minutes
that slides by 5 minutes
16 110 3 257891214151718 11
Demo Scenario: Identifying popular places in NYC
Kafka
100m
100m
1
2
10
Counting the number of events
in each grid cell per window
16 110 3 257891214151718 11
100m
100m
Demo Scenario: Identifying popular places in NYC
Kafka
1Identifying the cells whose count is
10 or more as a popular place
2
10
16 110 3 257891214151718 11
5 min5 min 5 min
T A B L E O F C O N T E N T S
Do Flink onWeb with FLOW
1. Motivation
2. Demo
3. Architecture – how FLOW interacts with Flink
4. Supported operations & connectors
5. Summary
Overall architecture of FLOW
RESTfulWeb Server
by Spring
Frontend Interface
by Angular.js
Spec.
Spec. Schema
Preview
expected to be returned
as response
Preview
Schema
not computed yet
Kafka
source
Overall architecture of FLOW
RESTfulWeb Server
by Spring
Frontend Interface
by Angular.js
Preview
Schema
Spec.
Spec. Schema
Preview
Schema
Preview
Kafka
source
Spec.
Preview Loaders
KafkaPreview
Loader
Kafka
consumer
Kafka
source
Spec.
IN
Schema
Preview
OUT
Kafka
source
FlinkPreview
LoaderParent
Schema
Preview
Child
Spec.
IN
Local Flink minicluster
Schema
Preview
OUT
Overall architecture of FLOW
RESTfulWeb Server
by Spring
Frontend Interface
by Angular.js
Preview
Schema
Spec.
Kafka
source
Preview Loaders
Spec.
Kafka
source
Schema
Preview
Filter
Spec.
Spec.
but also parent's
schema&preview
KafkaPreview
Loader
Kafka
consumer
Kafka
source
Spec.
IN
Schema
Preview
OUT
FlinkPreview
LoaderParent
Schema
Preview
Child
Spec.
IN
Local Flink minicluster
Schema
Preview
OUT
Preview
Schema
not computed yet
Filter
not only spec
LocalStreamEnvironment
(env)
FlinkPreviewLoader
StreamTableEnvironment
(tEnv)
val parentTable = tEnv.registerTable( )
Kafka
source
Schema
Preview
// register all known UDF instances
tEnv.registerFunction("isInNYC", new GeoUtils.IsInNYC())
tEnv.registerFunction("toCellId", new GeoUtils.toCellId())
tEnv.registerFunction("toCoords", new GeoUtils.ToCoords())
www.halloweencostumes.com/adult-piggyback-ride-on-costume.html
FLOW piggybacks on Flink
for schema & preview
computation
val env = StreamExecutionEnvironment.createLocalStreamEnvironment()
val tEnv = StreamTableEnvironment.create(env)FlinkPreview
Loader
Local Flink mini cluster
Schema
Preview
OUT
val table = parentTable.filter("isInNYC(startLon, startLat)&&isInNYC(startLon, startLat)")
Filter
Spec.
// to get the result in this thread
tEnv.toAppendStream(table, Row.class)
.addSink(new CollectSink())
env.execute()
// return and
return (CollectSink.values, table.getSchema())
SchemaPreview
Kafka
source
Schema
Preview
Filter
Spec.
IN
Tables
Functions
parentTable table
isInNYC: (float, float) → boolean
toCellId: (float, float) → int
toCoord: int → (float, float)
Kafka
source
Schema
Preview
Schema
Preview
Filter
Overall architecture of FLOW
RESTfulWeb Server
by Spring
Frontend Interface
by Angular.js
Preview
Schema
Spec.
Kafka
source
Preview Loaders
Spec.
Kafka
source
Schema
Preview
Filter
Spec.
Schema
Preview
Preview
Schema
Spec.
Filter
KafkaPreview
Loader
Kafka
consumer
Kafka
source
Spec.
IN
Schema
Preview
OUT
FlinkPreview
LoaderParent
Schema
Preview
Child
Spec.
IN
Local Flink minicluster
Schema
Preview
OUT
Overall architecture of FLOW
RESTfulWeb Server
by Spring
Preview
Schema
Spec.
Kafka
source
Preview
Schema
Spec.
Filter
Preview
Schema
Spec.
Select
Preview
Schema
Spec.
Window
Preview
Schema
Spec.
SQL
query
Preview Loaders
Spec.
Parent
Schema
Preview
Child
Spec.
Schema
Preview
Frontend Interface
by Angular.js
KafkaPreview
Loader
Kafka
consumer
Kafka
source
Spec.
IN
Schema
Preview
OUT
FlinkPreview
LoaderParent
Schema
Preview
Child
Spec.
IN
Local Flink minicluster
Schema
Preview
OUT
Parent
Schema
Preview
Schema
Preview
Child
Overall architecture of FLOW
RESTfulWeb Server
by Spring
Frontend Interface
by Angular.js
Preview
Schema
Spec.
Kafka
source
Preview
Schema
Spec.
Filter
Preview
Schema
Spec.
Select
Preview
Schema
Spec.
Window
Preview
Schema
Spec.
SQL
query
Preview
Schema
Spec.
ES Sink
Project Generator
by javapoet/freemarker Schema
Spec.
Kafka
source
Schema
Spec.
Filter
Schema
Spec.
Select
Schema
Spec.
Window
Schema
Spec.
SQL
query
Schema
Spec.
ES Sink
Maven project
Flink application
T A B L E O F C O N T E N T S
Do Flink onWeb with FLOW
1. Motivation
2. Demo
3. Architecture
4. Supported operations & connectors
5. Summary
Supported operations & connectors
Basic SQL operationsExternal connectors Advanced SQL operations
Pattern recognition (MATCH_RECOGNIZE clause)
Pattern recognition (MATCH_RECOGNIZE clause)
Pattern recognition (MATCH_RECOGNIZE clause)
Pattern recognition (MATCH_RECOGNIZE clause)
Pattern recognition (MATCH_RECOGNIZE clause)
Pattern recognition (MATCH_RECOGNIZE clause)
Pattern recognition (MATCH_RECOGNIZE clause)
Pattern recognition (MATCH_RECOGNIZE clause)
Supported operations & connectors
Basic SQL operationsExternal connectors Advanced SQL operations
Temporal join
Temporal join
Temporal join
Temporal join
T A B L E O F C O N T E N T S
Do Flink on Web with FLOW
1. Motivation
2. Demo
3. Architecture
4. Supported operations & connectors
5. Summary
Summary
Connectors
- Kafka source
- Kafka sink
- Elasticsearch sink
Chart backend
- Elasticsearch + Kibana
- metatron discovery (sister project)
SQL operations
- Select
- Filter
- Window
- SQL query
- Pattern recognition
- Temporal join
Project/code generation
- Maven
- Gradle
UDF support
- Scalar functions
- Table functions
- Aggregate functions
- Table aggregate functions
Data preview
- Table
- Timeseries chart
- Geographical map
Future work
- More connectors & operations
- Job management
- Batch job support

Mais conteúdo relacionado

Mais procurados

Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...StreamNative
 
Spring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise PlatformSpring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise PlatformVMware Tanzu
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuFlink Forward
 
A Deep Dive into Structured Streaming: Apache Spark Meetup at Bloomberg 2016
A Deep Dive into Structured Streaming:  Apache Spark Meetup at Bloomberg 2016 A Deep Dive into Structured Streaming:  Apache Spark Meetup at Bloomberg 2016
A Deep Dive into Structured Streaming: Apache Spark Meetup at Bloomberg 2016 Databricks
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
Extending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesExtending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesFlink Forward
 
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Zalando Technology
 
Change Data Feed in Delta
Change Data Feed in DeltaChange Data Feed in Delta
Change Data Feed in DeltaDatabricks
 
Introducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using itIntroducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using itBruno Faria
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorFlink Forward
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkDatabricks
 
Oracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningOracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningScott Jenner
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?Kai Wähner
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Claus Ibsen
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internalsKostas Tzoumas
 
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementIntro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementBurasakorn Sabyeying
 

Mais procurados (20)

Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
 
Spring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise PlatformSpring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise Platform
 
Apache flink
Apache flinkApache flink
Apache flink
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
 
A Deep Dive into Structured Streaming: Apache Spark Meetup at Bloomberg 2016
A Deep Dive into Structured Streaming:  Apache Spark Meetup at Bloomberg 2016 A Deep Dive into Structured Streaming:  Apache Spark Meetup at Bloomberg 2016
A Deep Dive into Structured Streaming: Apache Spark Meetup at Bloomberg 2016
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
Extending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesExtending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use cases
 
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
 
Change Data Feed in Delta
Change Data Feed in DeltaChange Data Feed in Delta
Change Data Feed in Delta
 
Introducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using itIntroducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using it
 
Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Unified Stream and Batch Processing with Apache Flink
Unified Stream and Batch Processing with Apache FlinkUnified Stream and Batch Processing with Apache Flink
Unified Stream and Batch Processing with Apache Flink
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache Spark
 
Oracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningOracle R12 EBS Performance Tuning
Oracle R12 EBS Performance Tuning
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internals
 
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementIntro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
 

Semelhante a Do flink on web with flow - Dongwon Kim & Haemee park, SK Telecom)

Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...
Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...
Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...Flink Forward
 
Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...
Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...
Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...Codemotion
 
Stateful stream processing made easy with Apache Flink
Stateful stream processing made easy with Apache FlinkStateful stream processing made easy with Apache Flink
Stateful stream processing made easy with Apache FlinkK-TEQ Srls
 
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...Flink Forward
 
Flink at netflix paypal speaker series
Flink at netflix   paypal speaker seriesFlink at netflix   paypal speaker series
Flink at netflix paypal speaker seriesMonal Daxini
 
Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink huguk
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Building Stream Processing as a Service
Building Stream Processing as a ServiceBuilding Stream Processing as a Service
Building Stream Processing as a ServiceSteven Wu
 
Building Applications with Streams and Snapshots
Building Applications with Streams and SnapshotsBuilding Applications with Streams and Snapshots
Building Applications with Streams and SnapshotsJ On The Beach
 
Writing an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on FlinkWriting an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on FlinkEventador
 
Apache Flink Training: System Overview
Apache Flink Training: System OverviewApache Flink Training: System Overview
Apache Flink Training: System OverviewFlink Forward
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnelukdpe
 
Apache Flink - a Gentle Start
Apache Flink - a Gentle StartApache Flink - a Gentle Start
Apache Flink - a Gentle StartLiangjun Jiang
 
K. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward KeynoteK. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward KeynoteFlink Forward
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyftmarkgrover
 
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward
 
Mark Rendle ".NET Is Dead. Long Live .NET!"
Mark Rendle ".NET Is Dead. Long Live .NET!"Mark Rendle ".NET Is Dead. Long Live .NET!"
Mark Rendle ".NET Is Dead. Long Live .NET!"Fwdays
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Aljoscha Krettek
 

Semelhante a Do flink on web with flow - Dongwon Kim & Haemee park, SK Telecom) (20)

Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...
Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...
Flink Forward San Francisco 2018: - Jinkui Shi and Radu Tudoran "Flink real-t...
 
Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...
Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...
Stateful stream processing made easy with Apache Flink. - A.Mancini F.Tosi - ...
 
Stateful stream processing made easy with Apache Flink
Stateful stream processing made easy with Apache FlinkStateful stream processing made easy with Apache Flink
Stateful stream processing made easy with Apache Flink
 
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
 
Flink at netflix paypal speaker series
Flink at netflix   paypal speaker seriesFlink at netflix   paypal speaker series
Flink at netflix paypal speaker series
 
Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
Building Stream Processing as a Service
Building Stream Processing as a ServiceBuilding Stream Processing as a Service
Building Stream Processing as a Service
 
Building Applications with Streams and Snapshots
Building Applications with Streams and SnapshotsBuilding Applications with Streams and Snapshots
Building Applications with Streams and Snapshots
 
Writing an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on FlinkWriting an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on Flink
 
Apache Flink Training: System Overview
Apache Flink Training: System OverviewApache Flink Training: System Overview
Apache Flink Training: System Overview
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
 
Apache Flink - a Gentle Start
Apache Flink - a Gentle StartApache Flink - a Gentle Start
Apache Flink - a Gentle Start
 
K. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward KeynoteK. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward Keynote
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 
Concurrecny inf sharp
Concurrecny inf sharpConcurrecny inf sharp
Concurrecny inf sharp
 
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
 
Mark Rendle ".NET Is Dead. Long Live .NET!"
Mark Rendle ".NET Is Dead. Long Live .NET!"Mark Rendle ".NET Is Dead. Long Live .NET!"
Mark Rendle ".NET Is Dead. Long Live .NET!"
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
 

Mais de Flink Forward

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Flink Forward
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkFlink Forward
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...Flink Forward
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Flink Forward
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Flink Forward
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkFlink Forward
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxFlink Forward
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink Forward
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkFlink Forward
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022Flink Forward
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink Forward
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsFlink Forward
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotFlink Forward
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesFlink Forward
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Flink Forward
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergFlink Forward
 
Welcome to the Flink Community!
Welcome to the Flink Community!Welcome to the Flink Community!
Welcome to the Flink Community!Flink Forward
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsFlink Forward
 
The top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scaleThe top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scaleFlink Forward
 
Using Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitUsing Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitFlink Forward
 

Mais de Flink Forward (20)

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 
Welcome to the Flink Community!
Welcome to the Flink Community!Welcome to the Flink Community!
Welcome to the Flink Community!
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
The top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scaleThe top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scale
 
Using Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitUsing Queryable State for Fun and Profit
Using Queryable State for Fun and Profit
 

Último

Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 

Último (20)

Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 

Do flink on web with flow - Dongwon Kim & Haemee park, SK Telecom)

  • 1. Do Flink onWeb with FLOW Dongwon Kim eastcirclek@sk.com Haemee Park haemee.park@sk.com
  • 2. T A B L E O F C O N T E N T S Do Flink onWeb with FLOW 1. Motivation 2. Demo 3. Architecture 4. Supported operations & connectors 5. Summary
  • 3. SKT FlinkForward talks FlinkForward 2017 Predictive Maintenance with Flink . FlinkForward 2018 Real-time driving score service using Flink
  • 4. How we used to work FlinkForward 2017 Predictive Maintenance with Flink . FlinkForward 2018 Real-time driving score service using Flink Domain experts Target systems Requirement Refinery engineers Expensive refinery equipment Driving score service Generating alarms ASAP (in real time) Generating scores ASAP (in real time)Mobility service planners
  • 5. Needs for real-time stream processing FlinkForward 2017 Predictive Maintenance with Flink . FlinkForward 2018 Real-time driving score service using Flink Apache Flink SQL/Table API DataStream API Process Function dynamic tables streams, windows events, state, time Domain experts Refinery engineers Mobility service planners How to process real-time stream data?
  • 6. Nonnegligible distance between domain experts and Flink FlinkForward 2017 Predictive Maintenance with Flink . FlinkForward 2018 Real-time driving score service using Flink Apache Flink SQL/Table API DataStream API Process Function dynamic tables streams, windows events, state, time JVM languages IDE Project management Data visualization 54.6 million kilometers 384,400 kilometers Domain experts Refinery engineers Mobility service planners
  • 7. Data engineers bridge the gap FlinkForward 2017 Predictive Maintenance with Flink . FlinkForward 2018 Real-time driving score service using Flink Apache Flink SQL/Table API DataStream API Process Function dynamic tables streams, windows events, state, time JVM languages IDE Project management Data visualization Data engineersDomain experts Refinery engineers Mobility service planners
  • 8. Data engineers bridge the gap FlinkForward 2017 Predictive Maintenance with Flink . FlinkForward 2018 Real-time driving score service using Flink Apache Flink SQL/Table API DataStream API Process Function dynamic tables streams, windows events, state, time JVM languages IDE Project management Data visualization Data engineersDomain experts Refinery engineers Mobility service planners Data Domain knowledge Requirement Data Domain knowledge Requirement Training & Transfer Maintenance Maintenance Training & Transfer Very inefficient!
  • 9. Let domain experts do Flink directly via FLOW Apache Flink SQL/Table API DataStream API Process Function dynamic tables streams, windows events, state, time JVM languages IDE Project management Data visualization Various domains of SK Mobility IoTTelco Energy Semiconductor E-commerce Media
  • 10. FLOW Abstraction layer to hide the details of Flink app. development. Let domain experts do Flink directly via FLOW Apache Flink SQL/Table API DataStream API Process Function dynamic tables streams, windows events, state, time JVM languages IDE Project management Data visualization Various domains of SK Mobility IoTTelco Energy Semiconductor E-commerce Media Graphical user interface to build stream processing pipelines of SQL operations and connectors Data Domain knowledge Requirement SQL! SQL! SQL! SQL!
  • 11. T A B L E O F C O N T E N T S Do Flink onWeb with FLOW 1. Motivation 2. Demo – identifying popular places with FLOW 3. Architecture 4. Supported operations & connectors 5. Summary
  • 12. Demo Scenario: Identifying popular places in NYC Kafka Ride Id: 3249850213 Taxi Id: 3459809419 Driver Id: 0812398723 Is Start:True Start Coord: (-73.866135, 40.771091) EndCoord: (-73.961334, 40.764912) PassengerCount: 1 EventTime: 2019-10-09 19:35:08.2 16 110 6 313 2457891214151718 11
  • 13. Demo Scenario: Identifying popular places in NYC Kafka 16 110 6 313 2457891214151718 11 Removing events that do not st art or end in NewYork City
  • 14. 16 110 3 257891214151718 11 Demo Scenario: Identifying popular places in NYC Kafka 100m 100m Mapping coordinates of each re cord into a grid cell 16 110 3 257891214151718 11
  • 15. Demo Scenario: Identifying popular places in NYC Kafka Creating a sliding window of size 10 minutes that slides by 5 minutes 16 110 3 257891214151718 11
  • 16. Demo Scenario: Identifying popular places in NYC Kafka 100m 100m 1 2 10 Counting the number of events in each grid cell per window 16 110 3 257891214151718 11
  • 17. 100m 100m Demo Scenario: Identifying popular places in NYC Kafka 1Identifying the cells whose count is 10 or more as a popular place 2 10 16 110 3 257891214151718 11
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. 5 min5 min 5 min
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. T A B L E O F C O N T E N T S Do Flink onWeb with FLOW 1. Motivation 2. Demo 3. Architecture – how FLOW interacts with Flink 4. Supported operations & connectors 5. Summary
  • 59. Overall architecture of FLOW RESTfulWeb Server by Spring Frontend Interface by Angular.js Spec. Spec. Schema Preview expected to be returned as response Preview Schema not computed yet Kafka source
  • 60. Overall architecture of FLOW RESTfulWeb Server by Spring Frontend Interface by Angular.js Preview Schema Spec. Spec. Schema Preview Schema Preview Kafka source Spec. Preview Loaders KafkaPreview Loader Kafka consumer Kafka source Spec. IN Schema Preview OUT Kafka source FlinkPreview LoaderParent Schema Preview Child Spec. IN Local Flink minicluster Schema Preview OUT
  • 61. Overall architecture of FLOW RESTfulWeb Server by Spring Frontend Interface by Angular.js Preview Schema Spec. Kafka source Preview Loaders Spec. Kafka source Schema Preview Filter Spec. Spec. but also parent's schema&preview KafkaPreview Loader Kafka consumer Kafka source Spec. IN Schema Preview OUT FlinkPreview LoaderParent Schema Preview Child Spec. IN Local Flink minicluster Schema Preview OUT Preview Schema not computed yet Filter not only spec
  • 62. LocalStreamEnvironment (env) FlinkPreviewLoader StreamTableEnvironment (tEnv) val parentTable = tEnv.registerTable( ) Kafka source Schema Preview // register all known UDF instances tEnv.registerFunction("isInNYC", new GeoUtils.IsInNYC()) tEnv.registerFunction("toCellId", new GeoUtils.toCellId()) tEnv.registerFunction("toCoords", new GeoUtils.ToCoords()) www.halloweencostumes.com/adult-piggyback-ride-on-costume.html FLOW piggybacks on Flink for schema & preview computation val env = StreamExecutionEnvironment.createLocalStreamEnvironment() val tEnv = StreamTableEnvironment.create(env)FlinkPreview Loader Local Flink mini cluster Schema Preview OUT val table = parentTable.filter("isInNYC(startLon, startLat)&&isInNYC(startLon, startLat)") Filter Spec. // to get the result in this thread tEnv.toAppendStream(table, Row.class) .addSink(new CollectSink()) env.execute() // return and return (CollectSink.values, table.getSchema()) SchemaPreview Kafka source Schema Preview Filter Spec. IN Tables Functions parentTable table isInNYC: (float, float) → boolean toCellId: (float, float) → int toCoord: int → (float, float)
  • 63. Kafka source Schema Preview Schema Preview Filter Overall architecture of FLOW RESTfulWeb Server by Spring Frontend Interface by Angular.js Preview Schema Spec. Kafka source Preview Loaders Spec. Kafka source Schema Preview Filter Spec. Schema Preview Preview Schema Spec. Filter KafkaPreview Loader Kafka consumer Kafka source Spec. IN Schema Preview OUT FlinkPreview LoaderParent Schema Preview Child Spec. IN Local Flink minicluster Schema Preview OUT
  • 64. Overall architecture of FLOW RESTfulWeb Server by Spring Preview Schema Spec. Kafka source Preview Schema Spec. Filter Preview Schema Spec. Select Preview Schema Spec. Window Preview Schema Spec. SQL query Preview Loaders Spec. Parent Schema Preview Child Spec. Schema Preview Frontend Interface by Angular.js KafkaPreview Loader Kafka consumer Kafka source Spec. IN Schema Preview OUT FlinkPreview LoaderParent Schema Preview Child Spec. IN Local Flink minicluster Schema Preview OUT Parent Schema Preview Schema Preview Child
  • 65. Overall architecture of FLOW RESTfulWeb Server by Spring Frontend Interface by Angular.js Preview Schema Spec. Kafka source Preview Schema Spec. Filter Preview Schema Spec. Select Preview Schema Spec. Window Preview Schema Spec. SQL query Preview Schema Spec. ES Sink Project Generator by javapoet/freemarker Schema Spec. Kafka source Schema Spec. Filter Schema Spec. Select Schema Spec. Window Schema Spec. SQL query Schema Spec. ES Sink Maven project Flink application
  • 66. T A B L E O F C O N T E N T S Do Flink onWeb with FLOW 1. Motivation 2. Demo 3. Architecture 4. Supported operations & connectors 5. Summary
  • 67. Supported operations & connectors Basic SQL operationsExternal connectors Advanced SQL operations
  • 76. Supported operations & connectors Basic SQL operationsExternal connectors Advanced SQL operations
  • 81. T A B L E O F C O N T E N T S Do Flink on Web with FLOW 1. Motivation 2. Demo 3. Architecture 4. Supported operations & connectors 5. Summary
  • 82. Summary Connectors - Kafka source - Kafka sink - Elasticsearch sink Chart backend - Elasticsearch + Kibana - metatron discovery (sister project) SQL operations - Select - Filter - Window - SQL query - Pattern recognition - Temporal join Project/code generation - Maven - Gradle UDF support - Scalar functions - Table functions - Aggregate functions - Table aggregate functions Data preview - Table - Timeseries chart - Geographical map Future work - More connectors & operations - Job management - Batch job support

Notas do Editor

  1. We also support Temporal JOIN operation. First you configure the temporal table, then the append-only table, then finally list up expressions like you did in the select operation