Scala 如何打印spark rdd结构数据并保存到本地文件

Scala 如何打印spark rdd结构数据并保存到本地文件,scala,rdd,Scala,Rdd,rdd数据是键、值格式,值是结构数据 如何打印前100个数据,并将其保存为本地文件 它可以使用rdd.take(10).saveAsTextFile,但如果您在rdd上使用take,它会报告错误。 rdd.take(10) 它将返回一个Array而不是rdd,并且saveAsTextFile将无法使用数组 您可以使用zipWithIndex进行过滤,并将过滤后的数据另存为 rdd.zipWithIndex().filter(_._2 < 100).map(_._1).saveAsText

rdd数据是键、值格式,值是结构数据 如何打印前100个数据,并将其保存为本地文件


它可以使用
rdd.take(10).saveAsTextFile
,但如果您在
rdd
上使用
take
,它会报告错误。

rdd.take(10)
它将返回一个
Array
而不是
rdd
,并且
saveAsTextFile
将无法使用数组

您可以使用
zipWithIndex
进行过滤,并将过滤后的数据另存为

rdd.zipWithIndex().filter(_._2 < 100).map(_._1).saveAsTextFile("path to the output file")
rdd.zipWithIndex().filter(u._2<100).map(u._1).saveAsTextFile(“输出文件的路径”)

此处使用
。\u 2<100
,正如您所说,您希望保存前100个数据

rdd的错误和数据类型是什么?我们可以在UserProfiles.scala:52的map中看到一些示例行sres1:org.apache.spark.rdd.rdd[(Long,com.UserProfiles.UserTags)]=MapPartitionsRDD[1],UserTags是struct UserTags{int a,int b,inc};take返回一个数组,saveAsTextFile是rdd的函数。并且rdd应该是要与saveAsTextFile一起使用的rdd[String]的名称。因此,请确保在处理之前牢记这两点。如果我想从rdd获取一些数据,如何保存到本地文件