Related Nanodegree Program
Introduction to Programming
Earn a Nanodegree program certificate to accelerate your career.
Learn moreThe "Hadoop of Real-Time"
Earn a Nanodegree program certificate to accelerate your career.
Learn moreApprox. 2 Weeks
Intermediate
The world is trending in real time! Learn from Twitter to scalably process tweets, or any big data stream, in real-time to drive d3 visualizations using Apache Storm, the "Hadoop of Real Time." Storm is free, open source, and fun to use! Learn from Karthik Ramasamy, Technical Lead of Storm@Twitter, about the distributed, fault-tolerant, and flexible technology used to power Twitter’s real-time data flow pipeline. Twitter open sourced Storm in 2011, and it graduated to a top-level Apache project in September, 2014.
Starting from basic distributed concepts presented during our first Udacity-Twitter Storm Hackathon, link Storm concepts to Storm syntax to scalably drive Word Cloud visualizations with Vagrant, Ubuntu, Maven, Flask, Redis, and d3. Link to the public Twitter gardenhose stream to process live tweets, parse embedded URLs, and calculate Top worldwide hashtags. Extend beyond Storm basics by exploring multi-language capabilities in Python, integrate open source components, and implement real-time streaming joins.
In your final project, follow real-time trending topics by implementing the data pipeline to visualize only tweets that contain Top worldwide hashtags. Extend your project by exploring the Twitter API, or any data source, alongside Hackathon participants as they design their own ideas, receive feedback from Karthik, and open source a final project calculating real-time tweet sentiment and geolocation to drive a U.S. Map.
Programming language required: Java
To be successful, you'll need intermediate knowledge of Java. Specifically, this is defined by experience and comfort with Java syntax, compile & run-time error diagnostics and debugging, ability to use javadocs as needed, and intermediate data structures including Arrays, HashMaps, and LinkedLists. If you need to build these skills, a good starting point is Udacity’s Introduction to Java with additional comfortability needed identifying and debugging compile & run-time errors.
No prior experience is assumed in Ubuntu, git, Maven, Redis, Flask (Python) or d3 (Javascript). Python is useful, but optional. A basic course such as CS101 or OO in Python would be helpful.
See the Technology Requirements for using Udacity.
Learn by doing! The world is going real time. Batch processing, popularized by Hadoop, has latency exceeding required real-time demands of modern mobile, connected, always-on users. Stream processing with seconds-required response time is necessary to meet this demand. Twitter is a world leader in real-time processing at scale. Learn the future from the company defining it.
Instructor
Instructor