You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Spark DataFrame转换为指定格式的Pair RDD[(String, String)]

Spark DataFrame转指定Pair RDD实现方案

实现逻辑

  • 先提取DataFrame的所有列名
  • 对每一行数据做扁平化映射,把每个列和对应的行值拼接为二元组
  • 最终输出格式为RDD[(String, String)]

Scala 版本代码

import org.apache.spark.sql.DataFrame
import org.apache.spark.rdd.RDD

// 替换为你自己的原始DataFrame
val df: DataFrame = ???
val cols = df.columns

val resultRDD: RDD[(String, String)] = df.rdd.flatMap(row => {
  cols.map(col => (col, row.get(col).toString))
})

// 测试打印输出
resultRDD.collect().foreach(println)

PySpark 版本代码

from pyspark.sql import DataFrame

# 替换为你自己的原始DataFrame
df: DataFrame = ... 
cols = df.columns

result_rdd = df.rdd.flatMap(lambda row: [(c, str(row[c])) for c in cols])

# 测试打印输出
print(result_rdd.collect())

输出结果示例

运行上述代码后输出的RDD内容和你预期的完全一致:

(col1,1)
(col2,2)
(col3,3)
(col1,4)
(col2,5)
(col3,6)

内容的提问来源于stack exchange,提问作者MightyOak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:24:08