文章目录
在实际工作中,根据某个字段,对一个Spark数据集进行过滤,是一个很常见的场景,举个例子:
一个存储公司员工信息的数据集A,有以下三个字段:
id: Integer
name: String
age: Integer
现在要过滤出某些员工的id,这些id在B集合(B可能是哈希表,也可能是Spark数据集)中,过滤逻辑为:
C = A.filter(A.id in B)
有四种方法可以实现,分别为:
- Filter
- Map
- MapPartition
- Inner Join
下面详细介绍。
Filter
Spark的Filter变换,可以根据条件表达式、返回布尔值的过滤函数、条件字符串,对数据集进行过滤,使用方法如下: