2016-08-24 4 views
0

Я использую Scala для создания RDD, но когда я пытаюсь увидеть содержание РДА я получаю ниже результатыне в состоянии увидеть содержимое РДДА

MapPartitionsRDD[25] at map at <console>:96 

Я хочу видеть содержимое РДА, как может я вижу это ?

ниже мой код Scala:

object WordCount { 
    def main(args: Array[String]): Unit = { 
    val textfile = sc.textFile("/user/cloudera/xxx/File") 
    val word = textfile.filter(x => x.length > 0).map(_.split('|')) 
    println(word) 
    } 
} 
+2

Возможный дубликат [Невозможно распечатать содержимое RDD] (HTTP: // StackOverflow. com/questions/39038249/can not-print-the-contents-of-rdd) – eliasah

+1

@eliasah Большое спасибо за ссылку, которая содержит некоторые подробные объяснения. – animal

ответ

2

Вы должны предоставить output transformation (action). например использовать RDD.collect:

object WordCount { 
    def main(args: Array[String]): Unit = { 
    val textfile = sc.textFile("/user/cloudera/xxx/File") 
    val word = textfile.filter(x => x.length > 0).map(_.split('|')) 
    word.collect().foreach(println) 
    } 
} 

Если у вас есть Array[Array[T]], вам необходимо flatten перед использованием foreach:

word.collect().flatten.foreach(println) 
+0

Я пробовал свой путь, я получаю '[[Ljava.lang.String; @ 18e39f6f ' как мой вывод – animal

+0

Я попытался с помощью 'word.collect(). Foreach (println)' i am get '[Ljava.lang.String ; @ 1ec0cf46 [Ljava.lang.String; @ 4680c70 [Ljava.lang.String; @ 4b088f52 [Ljava.lang.String; @ 1ef976fa [Ljava.lang.String; @ bf226f9 [Ljava.lang.String ; @ 46dcab8f [Ljava.lang.String; @ 41835da1 ' – animal

+0

Похоже, у вас есть' Array [Array [String]] '. Сначала вам нужно сгладить: 'word.collect(). Flatten.foreach (println)' –

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