Я пытаюсь кодировать Hive UDF на python, который загружает объект pickle (в основном набор весов линейной модели).Эти веса, которые считываются с рассола, используются для оценки набора наблюдений из таблицы улья.После того, как я вычислил оценки, я также хотел бы обновить весовые коэффициенты, основываясь на значении истинности, которое я получаю из той же таблицы Hive, чтобы следующее наблюдение оценивалось по обновленным весовым коэффициентам.
Что-то вродеэто:
Код Python UDF:
import pickle
import sys
import numpy as np
betas = pickle.load(open('B.pkl','rb'))
for line in sys.stdin:
data = line.strip().split('\t')
X = np.array(data[:-1])
y = np.array(data[-1])
ycap = sigmoid(np.dot(betas,X))
new_beta = np.dot(np.dot(np.linalg.inv(np.dot(X.T,X)),X.T),y)
Я читал о том, как сделать объект Python в hive udf постоянным во всех ядрах (с сохранением состояния udtf).Кто-нибудь может мне помочь с примером кода?
Заранее спасибо!