第一次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
。
答案 0 :(得分:1)
要从本地文件系统(从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
}
}
答案 1 :(得分:0)
val sc = new SparkContext(new SparkConf()。setAppName(" Spark File 计数"))setMaster("本地[8]&#34)
可能有帮助