Buy New
$54.99$54.99
Ships from: Amazon.com Sold by: Amazon.com
Used - Good
$27.19$27.19
Ships from: ThriftBooks-Baltimore Sold by: ThriftBooks-Baltimore
Sorry, there was a problem.
There was an error retrieving your Wish Lists. Please try again.Sorry, there was a problem.
List unavailable.
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Clojure Data Analysis Cookbook
Purchase options and add-ons
- ISBN-10178216264X
- ISBN-13978-1782162643
- PublisherPackt Publishing
- Publication dateMarch 25, 2013
- LanguageEnglish
- Dimensions7.5 x 0.78 x 9.25 inches
- Print length326 pages
There is a newer edition of this item:
Similar items that may deliver to you quickly
Clojure Data Analysis Cookbook - Second EditionPaperbackFREE Shipping by AmazonGet it as soon as Thursday, May 21


Python for Finance Cookbook: Over 50 recipes for applying modern Python libraries to financial data analysisPaperbackFREE Shipping by AmazonGet it as soon as Thursday, May 21
Python Data Science Handbook: Essential Tools for Working with DataPaperbackFREE Shipping by AmazonGet it as soon as Thursday, May 21
Product details
- Publisher : Packt Publishing
- Publication date : March 25, 2013
- Language : English
- Print length : 326 pages
- ISBN-10 : 178216264X
- ISBN-13 : 978-1782162643
- Item Weight : 1.35 pounds
- Dimensions : 7.5 x 0.78 x 9.25 inches
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
- 5 out of 5 stars
All set to do research & analysis
Reviewed in the United States on April 13, 2013A great introduction to most of the topics related to data analysis. If you are into Clojure and you need a brief yet sufficient overview of what Clojure has to offer then you should buy this book immmediatelly.
You should have some knowledge about Clojure, especially how to interact with the repl, load & create projects.
I have taken giant steps in my own projects thanks to this book. I have been too lazy to dig into all the great libraries that Clojure has to offer but now all that has changed.
Clojure is a great tool for data analysis!
Can Arel, Stockholm
4 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again - 5 out of 5 stars
Terrific book on Data Analysis
Reviewed in the United States on June 24, 2013This is a terrific book that answered the key question for a lot of Clojure newbies like me - Now, you know a little bit about the Clojure language, what's next?
As it turns out, Data Analysis has been an interest for me from the days of writing simple awk scripts in my earlier projects. This book really gives a comprehensive introducton into the area of Data Analysis using Clojure and an assortment of tools in the Clojure ecosystem - some of which you may already be familiar and most of which I heard for the first time.
It starts gently by walking you through recipes which help you consume data from a variety of formats such as csv, database, webpages etc., and then goes into advanced areas around cleaning up data and consuming large data sets. It then ventures into STM and introduces tecnhiques for maintaining data consistency among others. From there it goes into parallel processing whch was particularly useful for me since I had always conflated concurrent programming with parallel programming. It then moves into Big Data territory by introducing Cascalog and then settles down into making interactive charts for the web using D3. (I am skipping the area which introduces statistical analysis, interoperability with Mathematica/R and machine learning since i havent explored those sections in the book, yet!)
As you can see, the scope of the book is quite ambitious which begs the question who should read the book?
I can broadly see that the readers of the book can come from two different directions
- Some folks like me who have a beginners understanding of clojure and who have trouble progressing beyond the basic exercises of clojure into how effectively can this language be applied in different areas.
- the other set of folks could be the new age "data scientists" who have a keen and abiding interest in Data Analysis and who have dabbled with similar Python books in the past and looking for some tool/language to improve their effectiveness. I can see that the natural style of this book will push them to go get a Clojure book to expand on the possibilities outlined in this text.
Ok, coming to the key question - Does this book deliver?
Yes - many times over. For busy professionals like most of us which the book has targeted, there has been an explosive growth in the Clojure tools ecosystem for which we havent kept score or checked on how to use it (beyond reading it on HN). This book provides a birds-eye overview with examples on how and where these could be used. With our ability to make sense of the pervasive data around us fast becoming a key determining factors for success in our projects/careers, this book provides a great link to catch up with what the world has been upto in the recent years - which was very helpful to me.
Apart from this, there's the joy of data analysis - for ex, a simple webscraping or a visualization provides those joys which pays for itself without accounting for any potential benefits that you may accrue in the future and in that way it has managed to keep me engaged.
what could have been better?
- Maybe its just me because of my clojure knowledge (beginner level), but i had to refer to other Clojure programming books for truly understanding some of the examples. (STM and enlive for example). I think this was mentioned as an expectation in the book so I dont want to go overboard with this minor criticism but suffice to say that there are areas where they could have "dumbed down" a little bit more in consideration for the newbies.
Full Disclosure: I wrote this review of the book in exchange for a free copy of the book. http://www.packtpub.com/clojure-data-analysis-cookbook/book
One person found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again - 3 out of 5 stars
Kindle formatting stinks for books.
Reviewed in the United States on December 4, 2013Again, this is a review of the kindle format of the book and not the book itself. However, the book is almost indigestible in the kindle format and that really is a show stopper for technical books with charts, tables, and graphs. I chose to buy the ebook from the publisher in PDF format in which typography can be used to create a usable and sometimes beautiful document. Oreilly provides their book in 4 different ebook formats and I can download all formats if I need to. Amazon, please start offering ebooks in PDF format in addition to the kindle format and I'll buy technical ebooks from you again.
Sending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again - 4 out of 5 stars
Book delivers exactly what TOC promises.
Reviewed in the United States on May 6, 2013I spent the last week reading the Clojure Data Analysis Cookbook by Eric Rochester. As you may expect from the name, this book follows a traditional cookbook format. Each section presents a goal and then some code which achieves the goal.
The text covers a variety of data analysis topics. Some include reading data from files, machine learning, graphing, and interfacing with other analysis tools. I particularly enjoyed the section on lazily processing large data sets. I find this is an area of frustration for many and this should serve as a reference to point them towards.
The examples are fairly easy to follow. Many of the examples use `require` to alias dependent namespaces. I think this is key when presenting Clojure examples. Having to prefix calls to library functions causes them to stand out from uses of core Clojure functions. It also lets readers know from which library each function comes from. I would have liked to see all of the examples use `require` instead of `use` for pulling in dependencies because of the clarity it brings.
I do have a sort of nit-picky negative about this (in particular, the PDF I received from the Packt Publishing website) book. While the vast majority of the code examples were well formatted every once in a while one would be poorly formatted. Poorly formatted code in a book all about showing code is disappointing and interrupts the flow of reading a recipe. One example of this is found in the first step of chapter 3's "Combining agents and STM" recipe.
Recommendation:
Would I recommend getting this book? If any section in the table of contents sounds useful to you then yes, you should buy the book. It will be a useful reference.
Would I recommend reading this book front to back? Probably not. I would recommend reading sections that interest you and skimming others.
Just like a food cookbook's purpose (usually) isn't to teach you how to cook, this book will not teach you how to write Clojure. It will help you become better at specific tasks. It is best used as a reference.
One person found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again - 2 out of 5 stars
I did not like neither the style nor the contents
Reviewed in the United States on June 12, 2015The book is a strange mix of recipes collection and some (insufficient) theoretical information on Clojure. I did not like neither the style nor the contents. The theory is not deep enough to understand the concepts and the recipes tend to repeat themselves (for example, the book to explains how to read data from CVS on a few pages, then on another few pages basically the very same matters for reading out Excel, then JDBC). Should have been enough to give the basic principle and references to libs which can do the job.
Probably this is just not my format of a book.
Sending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again - 5 out of 5 stars
A bag of tricks for Data Analysis in Clojure
Reviewed in the United States on April 24, 2013Data analysis happens to one of the major niches where Clojure has been gaining popularity. However, the documentation on the subject is far from focused.
The book provides a collection of recipes for accomplishing common tasks associated with analyzing different types of data sets. It starts out by showing how to read data from a variety of sources such as JSON, CSV, and JDBC. The next chapter provides a number of examples of how to sanitize the collected data and sample large data sets. After covering loading and sanitizing the data, the book discusses a number of different strategies for processing it.
Some of the highlights include using the Clojure STM, parallel processing of the data, including useful tricks for partitioning, using reducers, and distributed processing with Hadoop and Casalog.
I found the sections on handling large amounts of data particularly interesting. Often times, it's easy to come up with a solution that works for a small data set, but doesn't scale to handle large amounts of data. One of the techniques the book discusses is the use of lazy sequences. Another example is using heuristics to decide how to partition large data sets data sets effectively.
The book closes with a chapter dealing with the presentation the processed data. First, it covers using Incanter charts and then shows how to display the results in the browser with ClojureScript and NVD3.
For the most part, the book is very much example oriented. The examples are accompanied by explantation of how they all fit together. If you're like me and like to get hands on experience then I think you'll like the style of the book.
The examples are short in size and easy to understand. I found that the best way to work through the book was by following along with a REPL session open.
The book also introduces the reader to a number of libraries. Some, such as Incanter are well known, others like parse-ez less so. In my experience, the documentation for many Clojure libraries is often lacking. The recipes in the book serve as a good reference for how to make the most of the tools available.
I would say one missed opportunity in the book is that the examples don't seem to build on each other. You'll see many examples of doing specific tasks, but they will tend to be self contained and don't build up to anything more substantial.
I suspect this was done in order to keep content accessible so that the reader can look at any section without having to have read the others. Conversely, don't expect to see examples of how to structure your projects and build applications end to end.
Overall, I would say this book is aimed at somebody who is already comfortable using Clojure and would like to learn some of the more advanced techinques for working with data processing and analysis. If you're thinking of using Clojure for analyzing your data sets this book will likely save you a lot of time and serve as a handy reference down the road.
9 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again - 5 out of 5 stars
A nice collection of recipes for an intermediate Clojure developer
Reviewed in the United States on June 3, 2013The book is exactly what it says on the tin. It's recipe after recipe of little tricks for parsing, crunching, and displaying data. Most of the recipes are oriented around processing data on the REPL rather than building data analysis systems. The book starts out simple and gradually grows in complexity, building on the recipes that come before. So despite being a cookbook, the recipes are ordered such that it's perfectly reasonable to read the book cover to cover.
Perhaps the most valuable aspect of the book is the exposure it gives to many of the Clojure and Java data analysis libraries out there. Before reading the associated recipes I had no idea many of them existed. Not only was I informed of their existence, the book provided a practical, idiomatic example of its use as part of the recipe.
I said in the title that this book is for the intermediate Clojure developer. It assumes the reader is already comfortable with Clojure's syntax and semantics, but beyond this it's careful to explain how the examples work, including those that involve Clojure's STM.
There are a few recipes, such as the spelling correction recipe (p. 57), that don't use an external library but instead provide a detailed code listing. The front of the book has a standard all-rights-reserved copyright notice with no exceptions made for source code. Strictly speaking, this means these recipes aren't as useful as they could be, because the book forbids reusing the code.
Some of the recipes are designed for performance, particularly ones that involve multi-threading. Oddly, these recipes don't actually provide data on what sort of performance gains they have over the simpler, straightforward method. For me this information is valuable in deciding whether or not to use the technique, as multi-threading so often comes with few performance gains.
Despite these two small issues it's a very informative and direct book.
Sending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again - 4 out of 5 stars
A good book for developers
Reviewed in the United States on May 6, 2013I read the PDF version and I love the book already from the beginning.
Most books will show you "How to read data" and go through a trivial parse string sample. This book does this well, as well as a thorough step by step guide for JDBC, XML, JSON, web scraping, RDF and SPARQL. The labor that the author gone through is impressive. Also, a brief introduction statistics terms too. When to use different statistic tools is also included. Use "this method when you want that" is very nice and helpful.
The book states that it is not for beginners. I agree with that, some understanding of programming is required. But it would be interesting to see what would happen to a complete stranger to Clojure would think. I think the author is wrong. The book is both for the beginner and the intermediate Clojure programmer.
4 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try again

