我正在做一个 scala Spark 作业,它需要使用 Java 库 (youtube/vitess),它依赖于较新版本的 GRPC (1.01)、Guava (19.0) 和 Protobuf (3.0.0),而不是 DataProc 1.1 目前提供的图片。
在本地运行项目并使用 maven 构建时,将加载这些依赖项的正确版本,作业将毫无问题地运行。将作业提交到 DataProc 时,首选这些库的 DataProc 版本,并且作业将引用无法解析的类函数。
在 DataProc 上提交 Spark 作业时,确保加载正确版本的依赖项依赖项的推荐方法是什么?我无法重写该库的组件以使用 DataProc 提供的这些包的旧版本。