我是一名 Java 开发人员,正在为 Apache Spark 编写(独立)应用程序。为了创建工件,我使用 Gradle 和 ShadowJar 插件。
有几个队友想用 Python。目前,他们使用 JetBrains PyCharm 编写这些 Python 脚本并在 Spark 集群环境中远程执行它们。但是,这个过程不能很好地扩展(如果涉及多个文件怎么办?),我正在寻找 Python 生态系统中的解决方案。问题是我和我的团队成员都不是 Python 专家(实际上其他团队成员都不是开发人员,但必须编写代码。管理决策......),所以我们不知道什么是Python 开发的最佳实践。
我尝试了 PyGradle,但感觉不能顺利集成,尤其是使用 Apache Spark。我被 Pip、Pex、Setuptools、VirtualEnv 之类的名字绊倒了。那些工具是什么?它们是如何相互干扰的?
为了防止 XY 问题:我想要一个可以使用一个命令(如 gradle build)构建、(单元)测试和打包的代码库。生成的工件应该能够在 Spark 集群上部署和执行。