如何打印RDD的内容?

9 浏览
0 Comments

如何打印RDD的内容?

我试图将集合的内容打印到Spark控制台。

我有一个类型:

linesWithSessionId: org.apache.spark.rdd.RDD[String] = FilteredRDD[3]

然后我使用命令:

scala> linesWithSessionId.map(line => println(line))

但是输出结果是:

res1: org.apache.spark.rdd.RDD[Unit] = MappedRDD[4] at map at :19

如何将RDD写入控制台或保存到磁盘以查看其内容?

admin 更改状态以发布 2023年5月22日
0
0 Comments

map函数是一种转换,这意味着在您对其执行一个操作之前,Spark实际上不会评估您的RDD。

要打印它,您可以使用foreach(这是一个操作):

linesWithSessionId.foreach(println)

要将它写入磁盘,您可以使用saveAs...函数之一(仍然是RDD API中的操作)

0
0 Comments

如果您想查看RDD的内容,则一种方法是使用collect()

myRDD.collect().foreach(println)

然而,当RDD具有数十亿行时,这不是一个好主意。使用take()只取几个打印出来:

myRDD.take(n).foreach(println)

0