Я пытаюсь запустить некоторый код в кластере искровых kubernetes
"spark.kubernetes.container.image", "kublr/spark-py:2.4.0-hadoop-2.6"
Код, который я пытаюсь запустить, выглядит следующим образом:
def getMax(row, subtract):
'''
getMax takes two parameters -
row: array with parameters
subtract: normal value of the parameter
It outputs the value most distant from the normal
'''
try:
row = np.array(row)
out = row[np.argmax(row-subtract)]
except ValueError:
return None
return out.item()
from pyspark.sql.types import FloatType
udf_getMax = F.udf(getMax, FloatType())
Фрейм данных, который я передаю, имеет вид ниже
Однако я получаю следующую ошибку
ModuleNotFoundError: No module named 'numpy'
Когда я выполнял поиск в стеке, я мог найти похожую проблему numpy ошибка импорта при искре в пряже.
ImportError: Нет модуля с именем numpy на искровых рабочих
И самое смешное, что я могу импортировать numpy снаружи и
import numpy as np
Команда
вне функции не выдает никаких ошибок.
Почему это происходит? Как это исправить или как go переслать. Любая помощь приветствуется.
Спасибо