Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Exploring Public APIs with MongoDB and Analytica

1,503 views

Published on

  • Be the first to comment

Exploring Public APIs with MongoDB and Analytica

  1. 1. Exploring Public APIs with MongoDB and Analytica Nosh Petigara nosh@analytica.com @noshp
  2. 2. Today• MongoDB and public APIs• What is Analytica?• Demo – Analytica shell (twitter data) – Analytica for Excel (StackOverflow data)
  3. 3. MongoDB and public APIs• Most APIs talk JSON – MongoDB’s native JSON import• APIs vary wildly (internally and between one another) – MongoDB is schema-free• Data import is only half the battle – MongoDB’s query language and aggregation framework
  4. 4. Some data sets to explore• Twitter API (JSON) – https://dev.twitter.com/• Crunchbase API (JSON) – http://developer.crunchbase.com/• Stackoverflow (JSON and CSV) – http://data.stackexchange.com/• NYTimes (JSON, XML) – http://developer.nytimes.com/docs
  5. 5. Importing data sets• Streaming JSON directly into MongoDB – curl https://stream.twitter.com/1/statuses/sample.jso n –uUSERNAME:PASSword| ./mongoimport –d twitter –c tweets• Importing JSON files – ./mongoimport –d mydb –c mycoll file.json• CSV – ./mongoimport –d db –c coll --type csv -- headerline myfile.csv
  6. 6. Analytica• Analytics & reporting platform for MongoDB – Natively understands JSON/document hierarchy – Tailored for analytics (not querying) – Works directly on MongoDB• Discovery, analysis, visualization cycle• In private beta [http://analytica.com]
  7. 7. What can you do with Analytica?• Inspect and extract data• Augment your data model• Calculate & aggregate• Filter and transform data• Join collections
  8. 8. Demos• Today – Twitter stats [using the Analytica Shell] – Stackoverflow community analysis [using Analytica for Excel]• Not shown – REST API – Analytica web (Coming soon)
  9. 9. Demo 1: Twitter data
  10. 10. Some other examplesTweets vs. retweets count(select(twitter.tweets.where(retweet_count <> 0)))vs. repliesFollower counts max(twitter.tweets.user.followers_count)Popular hashtags set twitter.byhashtag = group(tweets.by(entities.hashtags.text)) set twitter.byhashtag.tweetcount = count(tweets) set twitter.populartags = orderdesc(byhashtag.by(tweetcount)) get twitter.populartags.text
  11. 11. Demo 2: StackOverflow User Profiles
  12. 12. Next steps• Private beta – http://analytica.com• Get in touch – nosh@analytica.com or info@analytica.com• @analytica_inc on twitter

×