pyspark - 找到“匹配”时打印上一行: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
解决方案
推荐阅读
- ruby-on-rails - 在 Rails 中提交按钮而不重新加载页面
- reactjs - 在 mobx RootStoreProvider 中包装 App 时,对象作为 React 子项无效
- android - mockito wanted but not invoked, Actually there were zero interactions with this mock
- php - PHP MYSQL 转 JSON 动态对象
- deep-learning - 近似最近邻搜索的 k-means
- reactjs - 使用 useSelector 的表单值中的异相数据
- android - Firemonkey Android openInputStream 可以读取 zip 文件吗?
- makefile - MinGW make.exe 与您运行的 Windows 版本不兼容
- r - { 中的错误:任务 1 失败 - 尝试为 stan 执行 foreach 时出现“写入连接错误”
- c++ - 判断第二个数组是否是第一个右移 1 的数组