【发布时间】:2023-01-09 20:14:52
【问题描述】:
我有一个包含两列的 pyspark 数据框,name 和 source。 name 列中的所有值都是不同的。 Source 有多个字符串,用逗号 (,) 分隔。
我想过滤掉所有这些行,其中 source 列中的任何字符串包含整个 name 列中的任何值。
我正在使用以下 UDF:
def checkDependentKPI(df, name_list):
for row in df.collect():
for src in row["source"].split(","):
for name in name_list:
if name in src:
return row['name']
return row['name']
我的最终目标是将所有此类行放在数据框的末尾。我该怎么做?
示例数据框:
+--------------------+--------------------+
| name| source|
+--------------------+--------------------+
|dev.................|prod, sum, diff.....|
|prod................|dev, diff, avg......|
|stage...............|mean, mode..........|
|balance.............|median, mean........|
|target..............|avg, diff, sum......|
+--------------------+--------------------+
【问题讨论】: