我正在尝试找出如何优化 PySpark 中的 .fit() 和 .transform()
我有:
pipeline = Pipeline(stages=[topic_vectorizer_A, cat_vectorizer_A,
topic_vectorizer_B, cat_vectorizer_B,
fil_top_a_vect, fil_top_b_vect,
fil_cat_a_vect, fil_cat_b_vect,
fil_ent_a_vect, fil_ent_b_vect,
assembler])
# Note that all the operations in the pipeline are transforms only.
model = pipeline.fit(cleaned)
# wait 12 hours
vectorized_df = model.transform(cleaned)
# wait another XX hours
# save to parquet.
我见过这样的事情:
vectorized_df = model.fit(cleaned).transform(cleaned)
但我不确定这是否相同,或者以某种方式优化了操作
最佳答案
没有什么可做的。如果
- stage 是一个
Estimator
(如CountVectorizer
),它在Pipeline.fit
中进行训练。 - stage 是一个
Transformer
(如HashingTF
),它直接返回。
关于apache-spark - PySpark:有没有一种方法可以在一次操作中执行 .fit() 和 .transform() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40469243/