gpt4 book ai didi

apache-spark - 如何向 Spark RDD 添加新列?

转载 作者:行者123 更新时间:2023-12-03 07:15:56 25 4
gpt4 key购买 nike

我有一个包含许多列(例如数百)的 RDD,如何在此 RDD 末尾添加一列?

例如,如果我的 RDD 如下所示:

    123, 523, 534, ..., 893
536, 98, 1623, ..., 98472
537, 89, 83640, ..., 9265
7297, 98364, 9, ..., 735
......
29, 94, 956, ..., 758

如何向其中添加一列,其值是第二列和第三列的总和?

非常感谢。

最佳答案

您根本不必使用 Tuple* 对象来向 RDD 添加新列。

可以通过映射每一行,获取其原始内容加上要附加的元素来完成,例如:

val rdd = ...
val withAppendedColumnsRdd = rdd.map(row => {
val originalColumns = row.toSeq.toList
val secondColValue = originalColumns(1).asInstanceOf[Int]
val thirdColValue = originalColumns(2).asInstanceOf[Int]
val newColumnValue = secondColValue + thirdColValue
Row.fromSeq(originalColumns :+ newColumnValue)
// Row.fromSeq(originalColumns ++ List(newColumnValue1, newColumnValue2, ...)) // or add several new columns
})

关于apache-spark - 如何向 Spark RDD 添加新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com