Giter Club home page Giter Club logo

infoworld-post's Introduction

Examples for
"Building Stateful Streaming Applications with Apache Flink"

This repository contains three example applications that are discussed in the blog post "Building Stateful Streaming Applications with Apache Flink". The post presents Apache Flink's APIs for stateful stream processing. Please have a look at a previous blog post to learn more about "Stateful Stream Processing with Apache Flink".

You can fork and clone this repository to run the example applications. All three applications process a stream of taxi ride events that is ingested from a gzipped CSV file, which can be downloaded from Google Drive:

Taxi Ride Data Set

Modify the applications and experiment with Flink's APIs to learn more about Flink and stateful stream processing.

Happy Hacking!

Example applications

  • WorkingTimeMontior: This event-driven application is based on Flink's DataStream API and a ProcessFunction. The application ingests a stream of taxi ride events and notifies taxi drivers when they have to stop working according to work time regulations. A driver's shift may last for at most 12 hours, meaning that rides may only be started within a 12 hour period that begins with the first ride of a shift. After a 12 hour shift, a driver needs to take a break of at least 8 hours. The application notifies drivers until when the last ride of their shift may be started and when they violate the regulation.

  • AreasTotalPerHour: This streaming analytics application is based on Flink's SQL support. The application runs a SQL query on a stream of taxi ride events. The query computes the average total amount paid per drop off-location and hour. We discretize the coordinates of the drop-off location into cells of 250x250 meters.

  • AreasTotalPerHourOfDay: This streaming analytics application is based on Flink's SQL support. The application runs a SQL query on a stream of taxi ride events. The query computes the average total amount paid per drop off-location and hour of day. We discretize the coordinates of the drop-off location into cells of 250x250 meters.

infoworld-post's People

Contributors

fhueske avatar praneel-gavali avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.