我正在尝试使用Google Cloud Dataproc在存储在GCS中的CSV文件上运行Spark ML作业。但是,我无法弄清楚如何编译胖JAR以供提交。
我可以从文档中看出云数据空间节点已预先安装了连接器,但我不知道如何将连接器添加到我的SBT配置中,因此我可以在本地开发和编译胖JAR以提交给dataproc。有没有我可以添加到build.sbt
的行,所以我可以在本地访问连接器(即它会编译)?如果需要,标记为“提供”,以便它不与工作节点上预安装的版本冲突?
任何指针或示例都会受到超级赞赏。
TIA!
答案 0 :(得分:1)
在build.sbt中明确引用连接器:
libraryDependencies += "com.google.cloud.bigdataoss" % "gcs-connector" % "1.6.1-hadoop2" % "provided"
请注意,这是库的非阴影版本。在Dataproc集群上,提供了阴影工件,并且可以使用“阴影”分类器在maven中心找到此工件:
libraryDependencies += "com.google.cloud.bigdataoss" % "gcs-connector" % "1.6.1-hadoop2" % "provided" classifier "shaded"
对于开发,您可以通过使用Hadoop FileSystem接口以及使用“gs:// [bucket] / [path / to / object]'形式的路径而不是本地路径部署到Dataproc时侥幸成功路径。