gpt4 book ai didi

scala - .scala 文件的 spark-submit

转载 作者:行者123 更新时间:2023-12-04 17:07:07 34 4
gpt4 key购买 nike

我一直在运行一些测试 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 上执行我的代码并在完成后弹出 shell。

现在我正在尝试在集群上运行它,我想我需要使用 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")

最佳答案

有两种快速而肮脏的方法可以做到这一点:

  • 不修改scala文件

  • 只需将 Spark shell 与 -i 一起使用旗帜:
    $SPARK_HOME/bin/spark-shell -i neo4jsparkCluster.scala
  • 修改 scala 文件以包含主要方法

  • 一种。编译:
    scalac -classpath <location of spark jars on your machine> neo4jsparkCluster
    湾将其提交到您的集群:
    /usr/lib/spark/bin/spark-submit --class <qualified class name> --master <> .

    关于scala - .scala 文件的 spark-submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47663695/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com