Book Image

Building Python Real time Applications with Storm

Book Image

Building Python Real time Applications with Storm

Overview of this book

Big data is a trending concept that everyone wants to learn about. With its ability to process all kinds of data in real time, Storm is an important addition to your big data “bag of tricks.” At the same time, Python is one of the fastest-growing programming languages today. It has become a top choice for both data science and everyday application development. Together, Storm and Python enable you to build and deploy real-time big data applications quickly and easily. You will begin with some basic command tutorials to set up storm and learn about its configurations in detail. You will then go through the requirement scenarios to create a Storm cluster. Next, you’ll be provided with an overview of Petrel, followed by an example of Twitter topology and persistence using Redis and MongoDB. Finally, you will build a production-quality Storm topology using development best practices.
Table of Contents (14 chapters)

What is Petrel?


All Python topologies in this book rely on an open source Python library called Petrel. If you have prior experience with Storm, you may recall that there is a GitHub project called storm-starter that includes examples of using Storm with various languages (you can find the latest version of storm-starter at https://github.com/apache/storm/tree/master/examples/storm-starter). The storm-starter project includes a module called storm.py, which allows you to implement Storm topologies in Python. Given the availability of storm.py, is it really necessary to use another library? While it is certainly possible to build topologies using storm.py, it lacks some important features. To work around those gaps, a developer must use languages and tools that won't be familiar to most Python developers. If you are already familiar with these tools and do not mind juggling multiple technology stacks as you work with Storm, you may be happy with storm.py. But most developers who are new to...