- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通常,如果我将 Scala 用于 Spark 作业,我将编译一个 jarfile 并使用 gcloud dataproc jobs submit spark
提交它。 ,但有时对于非常轻量级的工作,我可能会在笔记本中使用未编译的 Scala 代码或使用 spark-shell
REPL,我假设 SparkContext 已经可用。
对于其中一些轻量级用例,我可以等效地使用 PySpark 并提交 gcloud dataproc jobs submit pyspark
但有时我需要更轻松地访问 Scala/Java 库,例如直接创建 org.apache.hadoop.fs.FileSystem
映射函数内部的对象。是否有任何简单的方法可以使用 Dataproc 作业 API 直接从命令行提交此类“spark-shell”等效作业?
最佳答案
目前,对于未编译的 Spark Scala 没有专门的顶级 Dataproc 作业类型,但在幕后,spark-shell
只是使用与 spark-submit
相同的机制运行专门的 REPL 驱动程序:org.apache.spark.repl.Main
.因此,将此与 --files
结合使用标志在 gcloud dataproc jobs submit spark
中可用,您可以只编写您可能已经在 spark-shell
中测试过的 Scala 片段。或笔记本 session ,并将其作为整个 Dataproc 作业运行,假设 job.scala
是您机器上的本地文件:
gcloud dataproc jobs submit spark --cluster ${CLUSTER} \
--class org.apache.spark.repl.Main \
--files job.scala \
-- -i job.scala
--files
中指定任何与 Hadoop 兼容的路径。参数也是如此,例如
gs://
甚至
hdfs://
,假设您已经放置了您的
job.scala
文件在那里:
gcloud dataproc jobs submit spark --cluster ${CLUSTER} \
--class org.apache.spark.repl.Main \
--files gs://${BUCKET}/job.scala \
-- -i job.scala
gcloud dataproc jobs submit spark --cluster ${CLUSTER} \
--class org.apache.spark.repl.Main \
--files hdfs:///tmp/job.scala \
-- -i job.scala
file:///
指定在集群的本地文件系统上找到该文件,而不是在运行 gcloud 的本地文件系统上找到该文件:
gcloud dataproc jobs submit spark --cluster ${CLUSTER} \
--class org.apache.spark.repl.Main \
--files file:///tmp/job.scala \
-- -i job.scala
关于scala - 如何将未编译的 Spark Scala/spark-shell 代码作为 Dataproc 作业运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60592577/
我是一名优秀的程序员,十分优秀!