如何使用 Spark(pySpark)在 RDD 中选择多个列?

数据挖掘 阿帕奇火花 pyspark
2022-03-10 07:53:11

假设我有一个包含逗号分隔数据的 RDD。每个逗号分隔的值表示一周中一天中的睡眠小时数。

所以对于即 [8,7,6,7,8,8,5]

如何操纵 RDD,使其只有星期一、星期三、星期五的值?顺便说一下,没有列名。但是 PySpark 平台似乎有 _co1,_co2,...,_coN 作为列。

1个回答

我不知道您使用的是哪个版本,但我推荐DataFrames,因为大多数升级都是针对DataFrames 的。(我更喜欢火花2.3.2)

首先转换rddDataFrame

df = rdd.toDF(["M","Tu","W","Th","F","Sa","Su"])

然后选择您要使用的日期:

df.select("M","W","F").show(3)

或直接使用mapwith lambda

rdd.map(lambda x: [x[i] for i in [0,2,4])

希望能帮助到你!