An Architecture to Tweet Them All
summary
Claims a production-tested pipeline that ingests Twitter via Spark Streaming (Scala), stores raw JSON in CouchDB, uses Kafka/RabbitMQ for IDs between stages, runs Python analyzers for translation sentiment classification and influence, consolidates per-tweet state machine in the DB so failed steps are retryable via a garbage-collector, and indexes results in Elasticsearch for Kibana dashboards. It handles the free API volume (~2,000 tweets/day), favors CouchDB over HDFS/Hive, and reports the architecture as working and scalable.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:08Project goals
- 2:37Problem solution approach
- 3:17Technology stack
- 4:44Database choice
- 5:30Message queuing design
- 6:16Collector with Spark Streaming
- 7:19Analyzer with Python
- 8:03Actor roles
- 9:08Failure handling
- 10:36State machine workflow
- 13:29Tweet processing example
- 14:58Visualization with Grafana
- 16:26Architecture conclusions
- 17:34Extending beyond Twitter
- 19:04Improvements
- 20:47Q&A
related talks
01h 01mStream Data Processing for Fun and Profit
36mData pipelines engineering made simple with Scala
30mThe Distributed Database Behind Twitter
34mBig and Small Data at @Twitter
34mChasing the Stream Processing Utopia
01h 22mWhen Rotten Tomatoes Isn’t Enough: Analyzing Twitter Movie Reviews
35mStorage, Then and Now
41mInside Twitter's Realtime Delivery of Tweets for Enterprise Customers
