scala – 在Apache Spark中传递参数
发布时间:2020-12-16 09:03:04 所属栏目:安全 来源:网络整理
导读:我在本地计算机上运行此代码: import org.apache.spark.SparkContextimport org.apache.spark.SparkContext._import org.apache.spark.SparkConfobject SimpleApp { def main(args: Array[String]) { val logFile = "/Users/username/Spark/README.md" val
我在本地计算机上运行此代码:
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文档以获取更多信息,但是,您只需在下一行输入它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |