根据列值筛选RDD



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

房产ID |位置|价格|卧室|浴室

我已经阅读这个文件作为rdd使用:-

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

现在我需要找到

b。创建具有3间卧室的房产ID的RDD

c。创建另一个具有至少2间浴室的物业ID的RDD

如何在rdd中选择一列并根据列值筛选表。

您可以使用lambda函数filterRDD:

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)

最新更新