为什么我的println在rdd中打印出元素串?

use*_*835 3 scala apache-spark

当我尝试打印RDD的内容时,会打印下面显示的内容,如何打印内容?谢谢!

scala> lines
res15: org.apache.spark.rdd.RDD[Array[String]] = MapPartitionsRDD[3] at filter at <console>:23



scala> lines.take(5).foreach(println)

[Ljava.lang.String;@6d3db5d1
[Ljava.lang.String;@6e6be45e
[Ljava.lang.String;@6d5e0ff4
[Ljava.lang.String;@3a699444
[Ljava.lang.String;@69851a51
Run Code Online (Sandbox Code Playgroud)

Jus*_*ony 6

这是因为它使用toString给定对象的实现.在这种情况下Array打印出类型和哈希.如果您将其转换为一个List那么这将是一个漂亮的输出因ListtoString实施

scala>println(Array("foo"))
[Ljava.lang.String;HASH    

scala>println(Array("foo").toList)
List(foo)
Run Code Online (Sandbox Code Playgroud)