如何使用Scala在边缘节点中读取.text文件。
def main(args: Array[String]) {
val srcFile=sc.textFile("file://home//viji.palanisamy//dev//kpi_library//EDI//Prof_test1").toString()
readFile(srcFile)
}
def readFile(filename: String) = {
val bufferedSource = Source.fromFile(filename)
println("bufferedSource"+bufferedSource)
}
出现错误,如找不到文件。有没有使用 Scala 从节点读取文本的解决方案。
有没有使用 Scala 从节点读取文本的解决方案。
除非你想在本地读取文件,使用标准的IO工具(在Scala中读取整个文件?(并且parallelize
没有。
您必须将文件分发到每个执行程序节点或将其放置在分布式存储中。
此处显示的技巧由 user8371915 https://stackoverflow.com/a/47845360/9658417:
import org.apache.spark.SparkFiles
val filename: String = ???
sc.addFile(filename)
val srcFile=sc.textFile(SparkFiles.get(filename))
但是,如果您只想读取驱动程序上的本地文件,请跳过textFile
部分,仅:
Source.fromFile(filename)