我已经成功地在pyspark中预处理了我的数据,得到了这样的结果
[(u'key1', u'1'), (u'key2', u'1'), (u'key1', u'2'), (u'key3', u'2'), (u'key4', u'1'), (u'key1', u'4'), (u'key5', u'1'), (u'key6', u'2'), (u'key7', u'4'), (u'key8', u'5'), (u'key9', u'6'), (u'key10', u'7')]
现在我需要根据这些条件进行筛选:
1)筛选与至少2个键关联的值。
输出-只有那些值为“1”、“2”和“4”的(k,v)对才应该出现,因为它们与2个以上的键关联
[(u'key1', u'1'), (u'key2', u'1'), (u'key1', u'2'), (u'key3', u'2'), (u'key4', u'1'), (u'key1', u'4'), (u'key5', u'1'), (u'key6', u'2'), (u'key2', u'4')]
2)筛选与至少2个值关联的键
输出-只有那些(k,v)对具有key1,key2作为键,因为它们与至少2个值关联
[(u'key1', u'1'), (u'key2', u'1'), (u'key1', u'2'), (u'key1', u'4'), (u'key2', u'4')]
任何建议都会有很大帮助。
更新:我使用groupBy和一个过滤器对具有多个值的键进行分组
[(u'key1', [u'1', u'2', u'4']), (u'key2',[u'1', u'4'])]
现在如何将这个(键,列表(值))拆分为单独的(k,v)对以应用进一步的转换?
这会有用的!!
按键减少、筛选和联接:
相关问题 更多 >
编程相关推荐