Python 组件之间共享数据帧的正确方式是什么?
我正在处理Kubeflow的一个遗留项目,管道有一些组件,以便对数据帧应用某种过滤器 为了做到这一点,每个组件从S3下载数据帧并应用过滤器,然后再次将其上传到S3 在数据帧用于训练或验证模型的组件中,从S3下载数据帧 问题在于这是一种最佳实践,还是最好在组件之间直接共享数据帧,因为上传到S3可能会失败,然后管道会失败Python 组件之间共享数据帧的正确方式是什么?,python,dataframe,amazon-s3,kubeflow,kubeflow-pipelines,Python,Dataframe,Amazon S3,Kubeflow,Kubeflow Pipelines,我正在处理Kubeflow的一个遗留项目,管道有一些组件,以便对数据帧应用某种过滤器 为了做到这一点,每个组件从S3下载数据帧并应用过滤器,然后再次将其上传到S3 在数据帧用于训练或验证模型的组件中,从S3下载数据帧 问题在于这是一种最佳实践,还是最好在组件之间直接共享数据帧,因为上传到S3可能会失败,然后管道会失败 谢谢对于询问“最佳”或“推荐”方法的问题,基本答案是:“视情况而定” 然而,在您的案例中有一些值得详细说明的考虑因素 在管道步骤之间保存到S3。 这将存储管道的中间结果,并且只要这
谢谢对于询问“最佳”或“推荐”方法的问题,基本答案是:“视情况而定” 然而,在您的案例中有一些值得详细说明的考虑因素
- 这些步骤(可重启)吗
- 管道故障的频率是多少
- 从某个中点重新开始处理是否容易
- 您是否更关心处理时间而不是失去一些工作的风险
- 您是否关心S3存储/传输的成本
- 这些步骤(可重启)吗
- 管道故障的频率是多少
- 从某个中点重新开始处理是否容易
- 您是否更关心处理时间而不是失去一些工作的风险
- 您是否关心S3存储/传输的成本
不管怎样,还有什么选择?如何在不通过网络发送的情况下在分布式容器化程序之间发送数据?但我可以理解,您希望存储数据帧,以避免从scatch启动管道,但无论如何,这不是通过组件并仅存储在每个组件末尾的最佳选择?对不起,我不明白这个问题。你能换个说法吗?>“缺点是:如果你中途失败了,你必须从头开始。”-我不确定是这样。缓存功能确保管道可以再次启动,并且只执行未完成的步骤。事实上,选项2更安全,因为它不使用可能损坏和破坏一切的可变外部状态。@Ark kun:你是说?事实上,它似乎提供了步骤缓存,您可能是对的。是的,我指的是Kubeflow管道的执行缓存。但我可以理解,您希望存储数据帧,以便不从scatch启动管道,但无论如何,这不是传递组件的最佳选项,而只存储在每个组件的末尾?对不起,我不明白这个问题。你能换个说法吗?>“缺点是:如果你中途失败