gpt4 book ai didi

scala - 在Apache Spark中传递参数

转载 作者:行者123 更新时间:2023-12-03 14:51:22 27 4
gpt4 key购买 nike

我在本地计算机上运行此代码:

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

object SimpleApp {
def main(args: Array[String]) {
val logFile = "/Users/username/Spark/README.md"
val conf = new SparkConf().setAppName("Simple Application")
val sc = new SparkContext(conf)
val logData = sc.textFile(logFile, 2).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
}
}


我想运行该程序,但要在其他文件上运行-当前仅在README.md上运行。运行Spark(或与此相关的任何其他参数)时如何传递另一个文件的文件路径?例如,我想将 contains("a")更改为另一个字母。

我通过以下方式运行程序:

$ YOUR_SPARK_HOME/bin/spark-submit \
--class "SimpleApp" \
--master local[4] \
target/scala-2.10/simple-project_2.10-1.0.jar


谢谢!

最佳答案

当您设置主电源时

 def main(args: Array[String]) {


您正在准备让主体接受.jar行之后的任何内容作为参数。它将为您创建一个名为“ args”的数组。然后,您可以像往常一样使用args [n]访问它们。

检查参数的类型和/或格式可能会很好,通常是您是否可以运行此参数。

因此,与其设置

val logFile = "String here"


设置它

val logFile = args(0)


然后将文件作为第一个参数传递。有关更多信息,请查看spark-submit docs,但是,您基本上只需在下一行输入它即可。

关于scala - 在Apache Spark中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27403571/

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