為什麼我在 rdd 中的 println 會打印元素字符串? (Why does my println in rdd prints the string of elements?)


問題描述

為什麼我在 rdd 中的 println 會打印元素字符串? (Why does my println in rdd prints the string of elements?)

當我嘗試打印我的 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

參考解法

方法 1:

This is because it uses the toString implementation for the given object. In this case Array prints out the type and hash. If you convert it to a List then it will be a prettier output due to List's toString implementation

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

scala>println(Array("foo").toList)
List(foo)

方法 2:

Depending on how you want to print them out you can change your line that prints the elements to:

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

(by user3180835Justin PihonyGreg)

參考文件

  1. Why does my println in rdd prints the string of elements? (CC BY‑SA 2.5/3.0/4.0)

#apache-spark #scala






相關問題

為什麼我在 rdd 中的 println 會打印元素字符串? (Why does my println in rdd prints the string of elements?)

如何在 PySpark 中有效地按值排序? (How to sort by value efficiently in PySpark?)

Apache Spark 導致 Tomcat 正常關閉 (Apache Spark cause Tomcat to graceful shutdown)

查看 Spark 中派生的機器學習模型 (view machine learning model derived in Spark)

在 Spark 與 Redshift 上執行查詢 (Execute query on Spark vs Redshift)

Apache Spark:指向父 RDD 的引用指針 (Apache Spark: Reference pointer to the parent RDD)

防止 Spark Shell 中結構化流的進度輸出 (Prevent progress output from Structured Streaming in Spark Shell)

火花非確定性和重新計算安全 (Spark nondeterminism and recomputation safety)

使用 spark-submit 為 Spark Job 設置 HBase 屬性 (set HBase properties for Spark Job using spark-submit)

ST_WITHIN 使用 Spark/Java (ST_WITHIN using Spark / Java)

spark中的jdbc更新語句 (Jdbc update statement in spark)

使用 when() 進行條件聚合 (Conditional aggregation using when())







留言討論