This is great. I've been learning Scalding, which is a vaguely similar Scala library for doing map-reduce jobs (where you're writing higher level workflow, and it handles the map/reduce/map/reduce.... cycle to get it done).
I'm going to have to give this a try :)