如何在spark scala中不使用collect将rdd /数据帧/数据集转换为字符串/列表
发布于 2019-09-24 18:59:49
Spark DataFrame/Dataset/RDD是分布式的数据集合,另一方面,列表是一个集合,不是分布式的。
因此,将RDD转换为列表的唯一方法是将RDD的所有分区放到单个JVM中,并将其转换为列表。这将是有效的收集操作。
简而言之,collect是做你正在做的事情的唯一合适的方法。
发布于 2019-09-24 18:18:41
假设您正在尝试将行中的每一列作为由分隔符分隔的字符串
将rdd行转换为字符串
val out_rdd = rdd.map(x => x.mkString(",")
将数据帧/数据集行转换为字符串
val out_rdd = df.rdd.map(x => x.mkString(",")
希望这能有所帮助!
https://stackoverflow.com/questions/58077865
复制相似问题