Я пытаюсь запустить симуляцию в python с использованием искрового кластера, который принимает форму двух шагов:
Выполнить (параллельно через несколько рабочих узлов) наборфункции питона.Результаты их должны быть записаны в виде текстовых файлов
Собрать результаты.Это будет происходить с использованием фреймов данных pyspark.
Можно ли поручить Spark выполнять код Python на рабочих узлах в кластере Spark (т. Е. С использованием обычного Python) для выполнения этого первого шага?Когда я пытаюсь использовать spark-submit
, на кластере искр выполняются только команды, которые находятся в контексте искры.Остальная часть кода Python выполняется на локальной машине, что я не хочу делать.
Этот ответ, кажется, говорит нет: Использование обычного кода Python в кластере Spark , ноне очень специфично.
Пример для уточнения
Чтобы привести пример шага 1, у меня есть скрипт с именем draw_from_uniform_distribution.py
, который выполняет следующее:
import numpy
the_output_file=sys.argv[1] #get output file from command line
the_number=numpy.random.uniform(size=1)
f_out=open(the_output_file,'w')
print(the_number,file=f_out)
Iхочу запустить этот скрипт 1000 раз параллельно на кластере искр.Как мне это сделать?