首先提取与 Spark 数据帧 (Pyspark) 中的特定条件匹配"set of rows"



我有一个带有类似数据的火花数据框架:

ID | UseCase
-----------------
0  | Unidentified
1  | Unidentified
2  | Unidentified
3  | Unidentified
4  | UseCase1
5  | UseCase1
6  | Unidentified
7  | Unidentified
8  | UseCase2
9  | UseCase2
10 | UseCase2
11 | Unidentified
12 | Unidentified

我必须提取在UseCase列中具有值Unidentified的前4行,然后对其进行进一步处理。我不想在这一点上获得具有Unidentified值的中间和最后两行。

我想避免使用ID列,因为它们没有固定。以上数据只是示例。当我使用MAP函数(将其转换为RDD之后)或UDFS时,我最终在输出数据框架中获得了8行(这些功能可以期待)。

如何实现?我在Pyspark工作。我不想在数据框架上使用收集,并将其作为列表进行迭代。这将击败火花的目的。数据框架的大小最高为4-5 GB。

您能建议如何做到这一点吗?预先感谢!

只需执行过滤器和限制即可。以下代码是Scala,但您会理解重点。

假设您的数据帧称为DF,然后:

df.filter($"UseCase"==="Unidentified").limit(4).collect()

相关内容

  • 没有找到相关文章

最新更新