[英]spark-submit for a .scala file
我一直在运行一些测试spark scala代码,可能使用了一种不好的方式来处理spark-shell:
spark-shell --conf spark.neo4j.bolt.password=Stuffffit --packages neo4j-contrib:neo4j-spark-connector:2.0.0-M2,graphframes:graphframes:0.2.0-spark2.0-s_2.11 -i neo4jsparkCluster.scala
这将在spark上执行我的代码,并在完成后弹出到外壳中。
现在,我试图在集群上运行它,我认为我需要使用spark-submit,我认为应该是:
spark-submit --conf spark.neo4j.bolt.password=Stuffffit --packages neo4j-contrib:neo4j-spark-connector:2.0.0-M2,graphframes:graphframes:0.2.0-spark2.0-s_2.11 -i neo4jsparkCluster.scala
但是它不喜欢.scala文件,因此必须将其编译为类吗? scala代码是一个简单的scala文件,其中定义了几个帮助程序类,可以说没有真正的主类。 我看不到他的帮助文件,但也许我丢失了它,我可以只是提交文件还是必须以某种方式给它上课? 从而更改我的Scala代码?
我也将其添加到我的scala代码中:
从这里去了
val conf = new SparkConf.setMaster("local").setAppName("neo4jspark")
val sc = new SparkContext(conf)
对此:
val sc = new SparkContext(new SparkConf().setMaster("spark://192.20.0.71:7077")
有两种快速而肮脏的方法:
只需使用带有-i
标志的spark shell:
$SPARK_HOME/bin/spark-shell -i neo4jsparkCluster.scala
一种。 编译:
scalac -classpath <location of spark jars on your machine> neo4jsparkCluster
b。 提交到您的集群:
/usr/lib/spark/bin/spark-submit --class <qualified class name> --master <> .
您将需要使用sbt打包scala应用程序,并将Spark作为依赖项包含在build.sbt文件中。
有关完整说明,请参见快速入门指南的独立应用程序部分。https://spark.apache.org/docs/latest/quick-start.html
您可以看一下以下用于Spark的Hello World示例,该示例将应用程序打包为已经提到的@ zachdb86。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.