Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Currently working for Hazelcast. Also double as a teacher in universities and higher education schools, a trainer and triples as a book author.
Vladimir is a technical manager with an engineering background (Master’s degree in Computer science) and deep expertise in stream processing and real-time data pipelines. Ten years of building internal software platforms and development infrastructure have made him passionate about new technologies and finding ways to simplify data processing. Therefore Vladimir joined Hazelcast in 2016 and he is a product guy behind Hazelcast Jet streaming engine. He authored the Understanding Stream Processing DZone Refcard. Vladimir is also a lecturer with the Czechitas Foundation, whose mission is to inspire women and girls to explore the world of information technology.
Stream Processing Essentials
Time & Date
M. K. Čiurlionio str. 84, Vilnius, Lithuania
Take your first steps to understanding and start working with stream processing! By the end of the course, you will be able to build and run distributed streaming pipelines in Java:
- Explain when to use streaming
- Design a streaming application from the building blocks
- Transform, match, correlate and aggregate continuous data
- Scale, deploy, and operate streaming apps
We will also cover the advantages and disadvantages of the stream processing technologies available when approaching real-world problems.
Part 1: Stream Processing Overview
- Streaming: what is it and where did it come from
- How streaming fits into the architecture
- Continuous data pipelines
- The architecture of current streaming frameworks
Part 2: Transforming a Stream of Data (Lab)
- Transforming and filtering
Part 3: Enrichment (lab)
- Local and remote lookup services
- Caching for performance
Part 4: Aggregations (lab)
- Stateful Streaming
- Batch x windowed aggregations
- Time-series data and late events
Part 5: Scaling and Operations (lab)
- Going distributed
- Embedded and Remote cluster setups
- Elasticity and fault tolerance
- Upgrading the running job
- Monitoring and diagnostics
Part 6: Q&A and Conclusion
This workshop is designed for Java Developers who want to take their first steps to understanding and start working with stream processing.
Bring your laptop, prepared with:
- A recent Java 8 JDK or newer
- Your IDE of choice installed – IntelliJ Idea, Eclipse, NetBeans, etc.
- Download lab code from https://github.com/hazelcast/hazelcast-jet-trainingand import it to the IDE as a Maven project
- Build the labs using Maven to get the dependencies
Attendees should be familiar with Java 8 concepts and APIs (collections, concurrency, lambdas). No prior knowledge of data processing is required.