Проходя через архитектуру SPARK, я хотел бы подтвердить следующее:
Мы можем написать наше приложение SPARK, используя Scala, Java, R и Python. Драйвер анализирует каждую задачу в нашем приложении (она могла быть написана на одном из четырех языков); генерирует DAG; переводит его в Scala код; затем отправляет его исполнителям.
В этом процессе, скажем, если мы напишем наше приложение на Python / R, я понимаю, что если мы установим Python / R в узел, где выполняется драйвер, то этого достаточно. Нам НЕ нужно иметь Python / R во всех узлах кластера (при условии, что у нас нет UDF в Python / R)
Может кто-нибудь подтвердить, пожалуйста, я прав здесь.
Спасибо!