Apache Flink Training - Hands-on Sessions

9
Apache Flink® Training Hands-on! June 3rd, 2015

Transcript of Apache Flink Training - Hands-on Sessions

Page 1: Apache Flink Training - Hands-on Sessions

Apache Flink® Training

Hands-on!

June 3rd, 2015

Page 2: Apache Flink Training - Hands-on Sessions

Hands-on “Rules”

Hands-on time is also time to take a break

Don’t waste your time!• Let us know when you are stuck

Ask us anytime anything (about Flink)

2

Page 3: Apache Flink Training - Hands-on Sessions

Setup Development Environment

Ready, Set, GO!

3

Page 4: Apache Flink Training - Hands-on Sessions

Setup Development Environment

Goals:• Setup development environment• Have a Flink Maven project imported into your IDE• Execute & debug a Flink program in your IDE• Start a local Flink instance

VM image is being distributed• IDE and Flink project already set up

Follow instructions at• http://dataartisans.github.io/flink-training/setup.html

4

Page 5: Apache Flink Training - Hands-on Sessions

Write your first Flink Program

5

Page 6: Apache Flink Training - Hands-on Sessions

6

Generate Test Data Set

All exercises use the same data set• Mails extracted from the archives of Flink’s

developer mailing list

Data set is extracted from raw data by running a Flink program

Follow instructions to extract the data• http://dataartisans.github.io/flink-training/

exercises/mailData.html

Page 7: Apache Flink Training - Hands-on Sessions

Write your first Flink program

Implement the Mail Count exercise• Use quickstart Maven project• http://dataartisans.github.io/flink-training/

exercises/mailCount.html

Exercises include• Implementation hints• Reference solutions

If done with Mail Count, go to next exercise

7

Page 8: Apache Flink Training - Hands-on Sessions

More Fun with Flink

8

Page 9: Apache Flink Training - Hands-on Sessions

More Fun with Flink

Continue with exercises

Play around with Flink’s features!• Try to use a POJO or CaseClass• Use a Combiner or ReduceFunction• Use a RichFunction• Use a BroadcastSet • Use an Accumulators• …

Implement your own task9