datascience lab 2017_kappa architecture: how to implement a real-time streaming data analytics...

Post on 21-Jan-2018

140 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Juantomás García - Open Sistemas

Kappa Architecture 2.0 DataScience Lab, Odessa

Доброго ранку Одеса!!

(Dobroho ranku Odesa)

first

Juantomás García

• Data Solutions Manager @ OpenSistemas

• GDE (Google Developer Expert) for cloud

Others

• Co-Author of the first Spanish free software book “La Pastilla Roja”

• President of Hispalinux (Spanish Linux User Group)

• Organizer of the Machine Learning Spain and GDG Cloud Madrid.

Who I am

What’s Kappa Architecture?

July 2, 2014 Jay Kreps coined the term Kappa Architecture in an article for O’reilly Radar

“Maybe we could call this the Kappa Achitecture, though it may be too simple of an idea to merit a Greek letter”

Jay has been involved in lots of projects:

✓ Author of the essay: The Log: What every software engineer should know about real-time data's unifying abstraction (12/16/2013)

✓ Author of the book I love Logs

Who is Jay Kreps?

•Involved with projects as: ✓ Apache Kafka ✓ Apache Samza ✓ Voldemort ✓ Azkaban ✓ Ex-Linkedin ✓ Now co-founder and CEO of Confluent

Who is Jay Kreps?

Usual Data Flow

Usual Data Flow

Usual Data Flow

Kappa Architecture Way

Tools we use

Tools we use

Tools we use

✓ If you have an schema spark SQL, is perfect.

✓ Spark streaming works very fine with spark and almost each streaming sources.

✓ Structured queries will be a huge advance.

✓ We love Scala, the spirit of Spark.

Some Favorite Spark Features

We love code like this:

Some Favorite Spark Features

• One of our clients wanted to monitor all the car's information via OBD II

• OBD II is a car interface with the car electronics.

• Our client developed an app for reading all the car information throw ODB II with bluetooth

A Real Use Case

A Real Use Case

• We needed to scale the rest interfaces. There were too many requests.

• MySQL don’t scale

• Client wanted to do realtime expensive queries.

First Problems

Some metrics

Architecture v 2.0

Architecture v 3.0

We can have queries like:

“What are the drivers that are not client of the X gas brand, has a few gas and are near of gas station of the brand X and if true, send a notification with a discount coupon and a link with the route."

Now we’re more flexible!!

• Kappa architecture is not a silver bullet but helps with a lot of solutions.

• Kafka + spark streaming are our favorite tools

• There are a lots of improvements:

Takeaways

✓ OLAP like Apache Druid

✓ Graph databases like neo4j

✓ Kafka streams and compacts logs

✓ Apache Beams

✓ Scio Scala bindings

Takeaways: Apache Beam

Takeaways: Scio Scala Binding

Think Big

Think Big

• Forget Legacy Architectures • Forget Old Tools • Use Light Technologies / Serverless • Use pieces of Lego • Mix different technologies from diverse sources

Spark Use Cases

Not to do list• Avoid install & config a server even a VM.

• Avoid installs tools instead use containers and/or cloud services.

• In general: think if there is a simpler way to do it and needs less effort

Spark Use Cases

Architecture & Tools• To use Cloud Services is not a brainer decision.

• Git + Containers + Kubernetes • Use the best language* for each module.

• Use Notebooks: Jupyter, Zeppelin, DSX

(*) Even java might be an option - unprovable

Google Cloud Version

Kappa Architecture

Questions?

• email: juantomas@opensistemas.com • twitter: @juantomas

This talk have a free questions lifetime warranty: If you have any questions or concerns

about this talk, feel free to contact me anytime.

Selfie Time: If you like the talk just smile while I take the selfie ;-)

Kappa Architecture

велике спасибі

top related