Scala 如何打印spark rdd结构数据并保存到本地文件
rdd数据是键、值格式,值是结构数据 如何打印前100个数据,并将其保存为本地文件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.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获取一些数据,如何保存到本地文件