如何将rdd /数据框/数据集转换为String

时间:2019-09-24 10:06:35

标签: scala apache-spark hadoop apache-spark-sql

如何在Spark Scala中将rdd /数据帧/数据集转换为String / List而无需收集

2 个答案:

答案 0 :(得分:1)

Spark DataFrame / Dataset / RDD分发了一个数据集合,另一方面,List是一个集合并且没有分发。

因此,将RDD转换为List的唯一方法是将RDD的所有分区都转换为单个JVM,然后将其转换为List。那将是有效的收集操作。

简而言之,收集是执行工作的唯一适当方法。

答案 1 :(得分:0)

考虑您要使行中的每一列成为由定界符分隔的字符串

将rdd行转换为字符串

val out_rdd = rdd.map(x => x.mkString(",")

将数据框/数据集行转换为字符串

val out_rdd = df.rdd.map(x => x.mkString(",")

希望这会有所帮助!