【发布时间】:2020-09-04 20:19:58
【问题描述】:
我有一个测试脚本来读取作为参数提供的文本文件,如下所示:
test.scala:
$ cat test.scala
import scala.io.Source
val filename = args(0)
for (line <- Source.fromFile(filename).getLines) {
println(line)
}
我想阅读下面的文本文件:
$ cat test.txt
test1
test2
test3
我需要在命令行中运行 scala,如下所示:
spark-shell -i test.scala test.txt
我希望 test.txt 被识别为 args(0),但我看到的输出如下:
:26: 错误:未找到:值 args val 文件名 = args(0)
谁能告诉我这样做的正确用法是什么?非常感谢。
更新:
cat test.scala
import scala.io.Source
val args = spark.sqlContext.getConf("spark.driver.args").split(",")
val filename = args(0)
for (line <- Source.fromFile(filename).getLines) {
println(line)
}
测试结果:
spark-shell -i test.scala --conf spark.driver.args="test.txt"
SQL context available as sqlContext. Loading test.scala... import scala.io.Source <console>:26: error: not found: value spark val args = spark.sqlContext.getConf("spark.driver.args").split(",")
【问题讨论】:
-
spark 1.6 和 2.3,谢谢
标签: scala apache-spark