首页 > 解决方案 > 找到“匹配”时打印上一行:Pyspark

问题描述

我想在匹配的字符串之前显示一行。我知道如何使用“GREP”来使用它,但我想要使用 pyspark。如果我们可以使用 pyspark 执行此操作,请您现在告诉我。

grep -B

我使用下面的代码来搜索匹配的字符串

df.filter(F.col('string').contains('start'))

在下面的示例中,输入是包含 4 行的数据框。当我搜索关键字“start”时,我想用“start”行和前一行来获取输出。

例子:

input
2021-08-30 end active
2021-09-01 end inactive
2021-09-02 start active
2021-09-03  end   active

**Expected output:**
2021-09-01 end inactive
2021-09-02 start active

标签: pyspark

解决方案


推荐阅读