Я бы добавил комментарий, но не набрал достаточно очков, поэтому пишу здесь.
Если я вас правильно понял, вы хотите получать +/- 100 строк из Oracle каждые 4 часа, верно? Если да, то зачем вам это делать с Spark или Hive? Вы не можете просто создать представление непосредственно в Oracle с этими 100 строками каждые 4 часа и запросить его напрямую? Проблема заключается в том, что если данные помещаются на вашем компьютере и не должны быстро расти, вам не нужно распределенное решение.