Designing and writing a real-time streaming publication with Apache Apex
About This Book
- Get a clear, practical approach to real-time data processing
- Program Apache Apex streaming applications
- This book shows you Apex integration with the open source Big Data ecosystem
Who This Book Is For
This book assumes knowledge of application development with Java and familiarity with distributed systems. Familiarity with other real-time streaming frameworks is not required, but some practical experience with other big data processing utilities might be helpful.
What You Will Learn
- Put together a functioning Apex application from scratch
- Scale an Apex application and configure it for optimal performance
- Understand how to deal with failures via the fault tolerance features of the platform
- Use Apex via other frameworks such as Beam
- Understand the DevOps implications of deploying Apex
Apache Apex is a next-generation stream processing framework designed to operate on data at large scale, with minimum latency, maximum reliability, and strict correctness guarantees.
Half of the book consists of Apex applications, showing you key aspects of data processing pipelines such as connectors for sources and sinks, and common data transformations. The other half of the book is evenly split into explaining the Apex framework, and tuning, testing, and scaling Apex applications.
Much of our economic world depends on growing streams of data, such as social media feeds, financial records, data from mobile devices, sensors and machines (the Internet of Things - IoT). The projects in the book show how to process such streams to gain valuable, timely, and actionable insights. Traditional use cases, such as ETL, that currently consume a significant chunk of data engineering resources are also covered.
The final chapter shows you future possibilities emerging in the streaming space, and how Apache Apex can contribute to it.
Style and approach
This book is divided into two major parts: first it explains what Apex is, what its relevant parts are, and how to write well-built Apex applications. The second part is entirely application-driven, walking you through Apex applications of increasing complexity.
Table of Contents
Chapter 1. Introduction to Apex
Chapter 2. Getting Started with Application Development
Chapter 3. The Apex Library
Chapter 4. Scalability, Low Latency, and Performance
Chapter 5. Fault Tolerance and Reliability
Chapter 6. Example Project – Real-Time Aggregation and Visualization
Chapter 7. Example Project – Real-Time Ride Service Data Processing
Chapter 8. Example Project – ETL Using SQL
Chapter 9. Introduction to Apache Beam
Chapter 10. The Future of Stream Processing