Как создать постоянный объект в hive python udf - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь кодировать 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).Кто-нибудь может мне помочь с примером кода?

Заранее спасибо!

...