Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

SQL & Python: Analyzing 8 Years of Last.fm Data

DZone's Guide to

SQL & Python: Analyzing 8 Years of Last.fm Data

· Java Zone ·
Free Resource

Build vs Buy a Data Quality Solution: Which is Best for You? Gain insights on a hybrid approach. Download white paper now!

Hey, MongoDB isn't the only thing you can use to crunch huge volumes of data (and neither is PostgreSQL, for that matter). In this recent post, Matthew Lewis has taken to his Last.fm data (eight years of it) with a Python script and a SQLite database, and it looks like an enjoyable activity for anybody interested in simultaneously playing with a database and reliving the musical horrors of his or her youth. Lewis, for example, made a few notable discoveries:

...I ran some queries to search for songs I played obsessively after I discovered them, and I found several of my music-listening phases, such as:

  • that period during which I listened exclusively to "Weird Al" Yankovic,
  • the landmark date in 2006 when I listened to Daft Punk's Discovery for the first time, and
  • that time I saw Wicked with my high school band and listened to the soundtrack for a week straight.

He also points to all the tools he used to do this, including the Python work, and provides his own SQLite database of results for download. Check out the full post for more details on how to use Python, SQLite, and Last.fm to learn your own embarassing secrets!

Build vs Buy a Data Quality Solution: Which is Best for You? Maintaining high quality data is essential for operational efficiency, meaningful analytics and good long-term customer relationships. But, when dealing with multiple sources of data, data quality becomes complex, so you need to know when you should build a custom data quality tools effort over canned solutions. Download our whitepaper for more insights into a hybrid approach.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}