You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PySpark/Python RDD操作:提取指定字段并组合成目标格式

PySpark RDD:提取并组合指定字段生成目标列表

看你已经成功提取出了名字和对应的角色/赛事字段,现在只需要把这两个字段在同一个map操作里拼接起来就好啦,不用分开处理两个RDD再合并,这样更高效简洁。

解决方案代码

你可以直接在分割后的RDD上,通过一次map操作完成两个字段的拼接:

# 初始化原始RDD
m = sc.parallelize(["Dhoni 35 WC 785623","Sachin 40 Batsman 4500","Dravid 45 Batsman 50000","Kumble 41 Bowler 456431","Srinath 41 Bowler 65465"])

# 先分割字符串为列表,再拼接第0位和第2位元素
n = m.map(lambda k: k.split(' '))
result = n.map(lambda s: f"{s[0]} {s[2]}")

# 查看最终结果
print(result.collect())
# 输出:['Dhoni WC', 'Sachin Batsman', 'Dravid Batsman', 'Kumble Bowler', 'Srinath Bowler']

或者你也可以把分割和拼接合并成一步,减少中间RDD的生成:

result = m.map(lambda k: f"{k.split(' ')[0]} {k.split(' ')[2]}")
result.collect()

这样就能直接得到你想要的目标列表啦。

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

火山引擎 最新活动