Assigningparenttosparkrow
创始人
2024-09-20 18:00:08
0

将Spark行分配给父行

通常在处理具有分层结构的数据时,我们会需要为Spark DataFrame中的每一行分配一个父行。这可以通过使用Spark中的Column(列)和struct(结构)类型来实现。

例如,考虑以下数据:

id parent
1 null
2 1
3 1
4 2
5 3

要将每个行Spark分配给其父行,我们可以使用withColumn函数并使用struct类型来创建一个新列。下面是例子:

from pyspark.sql.functions import struct

df = spark.createDataFrame([(1, None), (2, 1), (3, 1), (4, 2), (5, 3)], ["id", "parent"])

Assign parent to each row

df = df.withColumn("row_and_parent", struct("*", "parent"))

Show the result

df.show()

输出结果如下:

+---+------+----------------+ | id|parent| row_and_parent| +---+------+----------------+ | 1| null| [1,null] | | 2| 1| [2,1] | | 3| 1| [3,1] | | 4| 2| [4,2] | | 5| 3| [5,3] | +---+------+----------------+

现在,我们可以访问每行的父行并执行操作。例如,要过滤具有id = 4的行的父行,我们可以使用以下代码:

Filter rows with id=4 and its parent row

df.filter("id = 4 or row_and_parent.parent = 4").show()

输出结果:

+---+------+----------------+ | id|parent| row_and_parent| +---+------+----------------+ | 2|

相关内容

热门资讯

透视代打!aapoker辅助器... 透视代打!aapoker辅助器是真的吗(透视)丫丫陕西扑克绿色透视(本来是真的辅助软件)-哔哩哔哩1...
透视软件!wepoker破解版... 透视软件!wepoker破解版内购(透视)兴动互娱游戏辅助器好用吗(果然真的有辅助软件)-哔哩哔哩1...
据了解!wpk刷入池率脚本(透... 据了解!wpk刷入池率脚本(透视)新蜜瓜大厅免费控制器(其实存在有辅助app)-哔哩哔哩1、任何新蜜...
今日!aapoker透视怎么用... 今日!aapoker透视怎么用(透视)传送屋有挂吗(真是是真的辅助工具)-哔哩哔哩1、传送屋有挂吗免...
透视辅助!wepoker科技辅... 透视辅助!wepoker科技辅助器(透视)wepoker辅助器是真的吗(切实是真的辅助下载)-哔哩哔...
透视真的!wepoker透视辅... 透视真的!wepoker透视辅助下载(透视)天酷辅助器(真是真的有辅助神器)-哔哩哔哩1、下载好天酷...
最终!wepoker国外版透视... 最终!wepoker国外版透视(透视)hhpoker大菠萝有没有作比(本来真的是有辅助安装)-哔哩哔...
透视线上!wepoker辅助工... 透视线上!wepoker辅助工具(透视)余干中至小程序辅助器免费(果然有辅助软件)-哔哩哔哩该软件可...
透视真的!wpk官网下载链接(... 透视真的!wpk官网下载链接(透视)卡农大厅辅助(好像真的是有辅助app)-哔哩哔哩小薇(辅助器软件...
近日!WePoKer辅助器(透... 近日!WePoKer辅助器(透视)悠闲游戏辅助(总是真的有辅助神器)-哔哩哔哩1、玩家可以在悠闲游戏...