У меня есть CustomEstimator, который возвращает CustomEstimatorModel в PySpark с MLLib. Я хочу сохранить метаданные моей модели. В Scala я вижу интерфейс под названием «Saveable». Могу ли я использовать это в PySpark и как я могу это сделать?
Код Psuedo:
class CustomEstimatorModel(Model, DefaultParamsReadable, DefaultParamsWritable):
def _transform(self, df):
huge_df = read_metadata_from_training_data() # what is the cleanest way to read this in?
df2 = df.join(huge_df, on=['somekey'], how='left')
return df2
class CustomEstimator(Estimator, DefaultParamsReadable, DefaultParamsWritable):
@keyword_only
def __init__(self):
super(CustomEstimator, self).__init__()
kwargs = self._input_kwargs
self.setParams(**kwargs)
@keyword_only
def setParams(self):
kwargs = self._input_kwargs
return self._set(**kwargs)
def _fit(self, df):
huge_df = calculate_metadata_from_training_data(df)
save(huge_df) # what is the cleanest way to store this together with all the other components in my pipeline?
return CustomEstimatorModel()