pyspark

时间:2017-05-29 10:37:07

标签: apache-spark pyspark rdd bigdata

在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"这是一样的。我已经尝试了所有可能的方法来做第二组,但没有任何成功。如果不使用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')])]

在这种情况下,所有餐馆实例都指向同一个分支,因此只有一个纬度和长按键,它的值是所有这些实例的列表。但在其他条目中,存在多个具有多个lat和long的分支。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

groupBy(name,long,lat)。 然后groupBy名称