根据列值过滤 RDD

Filtering RDD based on column values

我在 spark 中有一个文件,其中包含以下 table 数据

属性 ID|位置|价格|卧室|浴室

我已将此文件读取为 rdd 使用:-

a = sc.textFile("/FileStore/tables/realestate.txt")

现在我需要找到

b。创建具有 3 个卧室 属性 个 ID 的 RDD

c。创建另一个包含 属性 个至少有 2 个浴室的 ID 的 RDD

如何 select rdd 中的一列并根据列值过滤 table。

您可以 filter 使用 lambda 函数的 RDD:

b = a.filter(lambda r: int(r.split('|')[3]) == 3 if r.split('|')[0] != 'Property ID' else True)
c = a.filter(lambda r: int(r.split('|')[4]) >= 2 if r.split('|')[0] != 'Property ID' else True)