【发布时间】:2022-03-23 17:36:28
【问题描述】:
我正在学习如何将 kubeflow 管道用于 Apache Spark 作业并有一个问题。如果您能分享您的想法,我将不胜感激!
据我了解,SparkSession 之间无法共享数据,并且在每个管道步骤/组件中,您需要实例化一个新的 SparkSession(如果我错了,请纠正我)。这是否意味着为了使用来自先前管道步骤的 spark 作业的输出,我们需要将其保存在某个地方?我怀疑这会导致磁盘读/写负担并减慢整个过程。您能否与我分享一下使用管道进行火花工作会有多大帮助?
我正在想象一个潜在的用例,其中希望在 pyspark 中提取数据,对其进行预处理,为 ML 作业选择特征,然后尝试不同的 ML 模型并选择最佳模型。在没有火花的情况下,我可能会为“加载数据”、“预处理数据”和“特征工程”的每个步骤设置单独的组件。但是,由于上述问题,最好在流水线中一步完成所有这些,将输出保存在某个地方,然后为每个模型专用单独的流水线组件并并行训练它们?
您能分享任何其他潜在的用例吗?提前非常感谢!
【问题讨论】:
标签: apache-spark kubernetes kubeflow kubeflow-pipelines