Personally, I play on both sides, which I found interesting with a cascade
1) concise and expressive in terms of simple keywords, such as flow, tap, pipe, etc.,
2) amazing TDD based approach for local development and research
3) A good look at the scheduler (.dot file) and will be useful after the project has been grown, therefore simplifying maintenance.
4) DSL-based approach using groovy, scala, cloujre. therefore, there is no need to worry about learning any new language, or rather, chaos.
5) easy cloud deployment (for example, supporting Amazon as an open flag deployment).
6) you can call something like an existing pig or hive or a clean other can MR, as long as they expose java api.
7) surprising for jobs related to ML and NLP.
Gomes
source share