Introducing Cascalog: a Clojure-based query language for Hadoop
I’m very excited to be releasing Cascalog as open-source today. Cascalog is a Clojure-based query language for Hadoop inspired by Datalog.
Highlights
- Simple – Functions, filters, and aggregators all use the same syntax. Joins are implicit and natural.
- Expressive – Logical composition is very powerful, and you can run arbitrary Clojure code in your query with little effort.
- Interactive – Run queries from the Clojure REPL.
- Scalable – Cascalog queries run as a series of MapReduce jobs.
- Query anything – Query HDFS data, database data, and/or local data by making use of Cascading’s “Tap” abstraction
- Careful handling of null values – Null values can make life difficult. Cascalog has a feature called “non-nullable variables” that makes dealing with nulls painless.
- First class interoperability with Cascading – Operations defined for Cascalog can be used in a Cascading flow and vice-versa
- First class interoperability with Clojure - Can use regular Clojure functions as operations or filters, and since Cascalog is a Clojure DSL, you can use it in other Clojure code.
via nathanmarz.com
Cascalog is a great tool that we use at BackType to explore massive data sets and examine complex relationships in online social media. We're very excited to share this project and look forward to seeing more developers get involved. We'd love to hear your feedback, and be sure to stop by @nathanmarz's blog for more awesomeness.




