我遵循了这篇指南(对Medium帖子表示歉意(,它展示了如何为Spark执行器和驱动程序单独打包您的python环境和库。什么时候你会期望每个库都需要不同的库?我认为一个简单但具体的例子会有所帮助。
想象一个场景,在这个场景中,一旦火花作业完成,你需要向用户发送一封电子邮件作为通知,现在发送电子邮件的这个特定功能将始终在驱动程序上执行,因此,smtplib
和相关库只需要在驱动程序上可用,因为执行者不会发送电子邮件。