根据列值过滤RDD

时间:2021-01-04 11:56:11

标签: apache-spark pyspark apache-spark-sql rdd

我有一个包含以下表格数据的 spark 文件

物业编号|位置|价格|卧室|浴室

我已使用 :-

将此文件读取为 rdd
a = sc.textFile("/FileStore/tables/realestate.txt")

现在我需要找到

B.创建一个包含 3 个卧室的 Property ID 的 RDD

c.创建另一个包含至少 2 个浴室的 Property ID 的 RDD

如何在rdd中选择列并根据列值过滤表格。

1 个答案:

答案 0 :(得分:1)

您可以使用 lambda 函数filter 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)
相关问题