我有一个Spark DataFrame,其数据如下:
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之后)或UDF之后,我在输出DataFrame中结束了8行(这是预期的这些函数) .
怎么能实现这一目标?我在PySpark工作 . 我不想在DataFrame上使用collect并将其作为迭代列表 . 这会破坏Spark的目的 . DataFrame大小最高可达4-5 GB .
你能否建议如何做到这一点?提前致谢!
1 回答
只需要过滤和限制 . 以下代码是Scala,但您将理解这一点 .
假设您的数据帧被称为df,然后: