2016-12-16 2 views
0

Действительно простые файлы кода Scala при первом вызове метода count().Spark-submit не может получить доступ к локальной файловой системе

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.

ответ

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 

    } 
} 
0

вал СБН = новый SparkContext (новый SparkConf(). SetAppName ("Искра файла Count")). SetMaster ("локальный [8]")

может помочь

Смежные вопросы