为什么我的 rdd 中的 println 会打印元素字符串?

2024-02-15

当我尝试打印 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

这是因为它使用了toString给定对象的实现。在这种情况下Array打印出类型和哈希值。如果将其转换为List那么这将是一个更漂亮的输出,因为List's toString执行

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

scala>println(Array("foo").toList)
List(foo)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 rdd 中的 println 会打印元素字符串? 的相关文章

随机推荐