我正在尝试用.net spark作业提交dataproc。
命令行如下所示:
gcloud dataproc jobs submit spark \
--cluster=<cluster> \
--region=<region> \
--class=org.apache.spark.deploy.dotnet.DotnetRunner \
--jars=gs://bucket/microsoft-spark-2.4.x-0.11.0.jar \
--archives=gs://bucket/dotnet-build-output.zip \
-- find
此命令行应调用 find
函数显示当前目录中的文件。
我只看到两个文件:
././microsoft-spark-2.4.x-0.11.0.jar
././microsoft-spark-2.4.x-0.11.0.jar.crc
最终gcp不会从指定为 --archives
. 指定的文件存在,并且路径是从gcp ui复制的。此外,我还尝试从存档(存在)中运行一个精确的程序集文件,但它失败了 File does not exist
2条答案
按热度按时间uqdfh47h1#
我认为问题是您的命令是在主节点上运行的spark驱动程序中运行的,因为dataproc在默认情况下是在客户机模式下运行的。您可以通过添加
--properties spark.submit.deployMode=cluster
提交作业时。根据使用帮助
--archives
标志:存档将仅提取到工作节点中。我试着提交一份工作
--archives=gs://my-bucket/foo.zip
其中包括2个文件foo.txt
以及deps.txt
,则可以在工作节点上找到提取的文件:gg0vcinb2#
正如@大港提到的
--archives
以及--files
参数不会将zip文件复制到驱动程序示例,因此这是错误的方向。我用这种方法: