Cod*_*joy 5 scala apache-spark
我一直在运行一些测试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
Run Code Online (Sandbox Code Playgroud)
这将在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
Run Code Online (Sandbox Code Playgroud)
但是它不喜欢.scala文件,因此必须将其编译为类吗?scala代码是一个简单的scala文件,其中定义了几个帮助程序类,可以说没有真正的主类。我看不到他的帮助文件,但也许我丢失了它,我可以只是提交文件还是必须以某种方式给它上课?从而更改我的Scala代码?
我也将其添加到我的scala代码中:
从这里去了
val conf = new SparkConf.setMaster("local").setAppName("neo4jspark")
val sc = new SparkContext(conf)
Run Code Online (Sandbox Code Playgroud)
对此:
val sc = new SparkContext(new SparkConf().setMaster("spark://192.20.0.71:7077")
Run Code Online (Sandbox Code Playgroud)
有两种快速而肮脏的方法:
只需使用带有-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 <> .
小智 4
您将需要使用 sbt 打包您的 scala 应用程序,并将 Spark 作为依赖项包含在您的 build.sbt 文件中。
有关完整说明,请参阅快速入门指南的自包含应用程序部分https://spark.apache.org/docs/latest/quick-start.html
| 归档时间: |
|
| 查看次数: |
9913 次 |
| 最近记录: |