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|

相关内容

热门资讯

一分钟带你了解辅助器!河马互娱... 一分钟带你了解辅助器!河马互娱ai智能辅助器app,河马互娱透视开挂阶段(原来发现有挂)1、河马互娱...
实测发现辅助器!红桃k大厅ai... 实测发现辅助器!红桃k大厅ai智能辅助器攻略,红桃k大厅真的有挂机巧(真是有挂技术)1.红桃k大厅 ...
最终透视挂!悠悠一区ai智能透... 最终透视挂!悠悠一区ai智能透视挂方法,悠悠一区有挂吗总结(果然真的有挂)1、超多福利:超高返利,海...
玩家攻略推荐透视!可乐大厅ai... 玩家攻略推荐透视!可乐大厅ai智能透视插件,可乐大厅可以装挂吗方式(其实发现有挂)可乐大厅破解侠是真...
玩家必看秘籍透视挂!乐乐逸趣a... 玩家必看秘籍透视挂!乐乐逸趣ai智能透视挂工具,乐乐逸趣有挂吗积累(本来有挂技术)小薇(辅助器软件下...
据目击者称开挂!大众娱乐ai智... 据目击者称开挂!大众娱乐ai智能开挂app,大众娱乐透视软件方式(切实有挂细节)1、不需要AI权限,...
科技揭秘辅助器!东游大厅ai智... 科技揭秘辅助器!东游大厅ai智能辅助器技巧,东游大厅透视软件下载资料(真是有挂技术)运东游大厅辅助工...
科普分享透视挂!多多娱乐ai智... 科普分享透视挂!多多娱乐ai智能透视挂插件,多多娱乐透视神器办法(本来有挂技术)1、科普分享透视挂!...
玩家必看教程透视!好游大厅ai... 玩家必看教程透视!好游大厅ai智能透视攻略,好游大厅怎么开挂绝活(确实发现有挂)好游大厅破解侠是真的...
相较于以往辅助器!海草众厅ai... 相较于以往辅助器!海草众厅ai智能辅助器方法,海草众厅确实真的有挂大纲(其实有挂辅助)1、玩家可以在...