微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Spark

如何解决如何使用Spark

我想要一些有关如何解决从队列中提取的项目分组问题的建议。我将通过删除所有不必要的细节来尽可能简化问题。
我的元素以坐标名称为特征,我想先按距离对它们进行分组,然后对属于同一组的元素进行评估名称并考虑具有相似(不仅相同)名称的元素属于同一组,否则我将创建一个新组。

让我们举个例子。

元素具有x和y作为坐标和名称,因此我可以将元素写为E(X,Y,name)。 阈值距离等于1。

队列

End of the queue -> E3(1.5,1.5,same),E2(-1,-1,E1(2,2,some),E0(2,1,different) -> Beginning of the queue

理想情况下,程序是这样的:
我从队列中取出第一个元素(E0),没有要进行的比较,我将其放在笛卡尔平面上并为其分配组G1。
我取第二个元素(E1),评估与第一个元素(E0)的距离,它在阈值内,我看一下名称,它完全不同,我将其分配为组G2。
我取了第三个元素(E2),与其他两个元素(E0,E1)的距离超出范围,我忽略了该名称,并为其分配了组G3。
我选择第四个元素(E3),因为它可能同时属于G1和G2,但我通过观察名称的相似性将其分配给G2。

以图形方式显示的最终结果是:

enter image description here

我当时正在考虑使用Spark Streaming来做到这一点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。