第一个 count()
方法调用中的非常简单的 Scala 代码文件。
def main(args: Array[String]) {
// create Spark context with Spark configuration
val sc = new SparkContext(new SparkConf().setAppName("Spark File Count"))
val fileList = recursiveListFiles(new File("C:/data")).filter(_.isFile).map(file => file.getName())
val filesRDD = sc.parallelize(fileList)
val linesRDD = sc.textFile("file:///temp/dataset.txt")
val lines = linesRDD.count()
val files = filesRDD.count()
}
我现在不想为此设置 HDFS 安装。如何配置 Spark 使用本地文件系统?这适用于 spark-shell
。
最佳答案
要从本地文件系统(从 Windows 目录)读取文件,您需要使用以下模式。
val fileRDD = sc.textFile("C:\\Users\\Sandeep\\Documents\\test\\test.txt");
请参阅下面的示例工作程序以从本地文件系统读取数据。
package com.scala.example
import org.apache.spark._
object Test extends Serializable {
val conf = new SparkConf().setAppName("read local file")
conf.set("spark.executor.memory", "100M")
conf.setMaster("local");
val sc = new SparkContext(conf)
val input = "C:\\Users\\Sandeep\\Documents\\test\\test.txt"
def main(args: Array[String]): Unit = {
val fileRDD = sc.textFile(input);
val counts = fileRDD.flatMap(line => line.split(","))
.map(word => (word, 1))
.reduceByKey(_ + _)
counts.collect().foreach(println)
//Stop the Spark context
sc.stop
}
}
关于scala - spark-submit 无法访问本地文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41176460/