我有一个带有类似数据的火花数据框架:
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()