在Spark中,我按照餐馆名称上的食品检验数据集进行分组。在下面的示例中,它是"ZED 451“。因此,关键字是"ZED 451“,值是与该餐厅相关的所有检查的列表。
(u'ZED 451', [(u'1975848', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654', u" u'41.89574704893414'", u" u'-87.6310791667675'"), (u'1609466', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654', u" u'41.89574704893414'", u" u'-87.6310791667675'"), (u'1139101', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654', u" u'41.89574704893414'", u" u'-87.6310791667675'"), (u'114380', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654', u" u'41.89574704893414'", u" u'-87.6310791667675'")])现在,我正在尝试对这个按数据集分组的数据进行第二次分组。我想要做第二个组是在lat和long上识别"ZED 451“的相同分支。我已经尝试了所有可能的方法来做第二个group by,但都没有成功。任何关于如何在不使用Spark SQL或Spark DataFrames的情况下进行该操作的帮助都将不胜感激。
PS:我希望我的输出是这样的:
(u'ZED 451', [(u'41.89574704893414', u'-87.6310791667675'", [(u'1975848', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654'), (u'1609466', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654'), (u'1139101', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654'), (u'114380', u'ZED 451', u'ZED 451', u'729-743 N CLARK ST ', u'60654')])]在本例中,restaurants的所有实例都指向同一分支,因此有一个lat和long键,它的值是所有这些实例的列表。但在其他条目中,存在具有多个lat和long的多个分支。
谢谢你的帮助!
发布于 2017-05-30 23:46:39
groupBy (名称,长,横)。然后是groupBy名称
https://stackoverflow.com/questions/44240409
复制相似问题