Twitter data collection framework for dummies.
Submitted by Nischal HP (@nischalhp) on Wednesday, 11 June 2014
Section: Full talk Technical level: Beginner
This talk is about how I got 200 odd GB of tweets over a 45 day period to build a Trend Summarizer. I chose to build this as part of the dissertation for my MS Programme. The main objective here was to fetch tweets belonging to a trend in different locations. Additionally, I wanted this to be scalable out of the box i.e. if I increased the number of locations to look for, It shouldn't run into problems with going over the twitter rate limit. This talk is about how I took the decisions to design for scalability and how I went around making the choices to build this data collection framework.
There have been many a time when I have wanted to do some analysis on twitter but then ended up pushing it because I didn't have one important thing - The Data itself. When I set out to build a Trend Summarizer, I knew that I would have deal with this problem and wanted to solve it for myself. As I started building the framework, I faced a big hurdle of having to deal with rate limits.
The trend summarizer is a temporal and spatial system that required tweets belonging to trends in different locations. This meant that I had to have the ability to add locations and trends on a runtime basis without running into Twitter rate limit problems. Building a temporal and spatial system came with its own challenges of having to fetch data continuously and reduce redundant data as much as possible. To accomodate this, I had to spread out the calls to get data evenly over time and stay within limits. Also, given all these constraints, I had to collect large amounts of data for the summarizer to make sense.
This talk is about how I went around understanding the Twitter API along with its constraints and built a data collection framework. I built this out using Java with PostgreSQL as the backend.
Basic Java, SQL and Twitter API familiarity
Nischal HP is a Software Engineer working at SAP Labs Pvt. Ltd. building a Stock Market analysis product based on Algorithmic trading practices. This gets interesting because they bring in the concept of Text Analytics along with Algorithmic Trading to allow the user to make better business decisions keeping in mind the buzz around the stock. This product is built on the SAP In-Memory database - SAP HANA. He works majorly on the backend building out the core algorithms that run the system but has also contributed to the Text Analysis part as well.
He has a bachelors degree in Computer Applications from National College Jayanagar and a Masters in Software Engineering from BITS, Pilani. He enjoys having conversations about data mining, visualizations, machine learning and text analytics over a mug of beer(doh!). He is an ardent football fan and supports BFC and Manchester United.
This is Nischal's first public talk.