Имхо,
Начинать надо с рабочего программирования на джаве, нужно более чем понимание синтаксиса
-> функциональная джава
-> почитать, понять-простить-принять что hadoop это фреймворк включающий в себя немало инструментов(все на jvm), с одним "но" - весь стэк базируется на хдфс (распред файловой системе), а дальше все от потребностей, нужны распред бд, или еще что...
и можно еще поглядеть такую штуку
https://blog.dataiku.com/2013/05/01/a-complete-guide-to-writing-hive-udfну и книжку functional programming simplified