首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >星火中跨执行者数据的比较

星火中跨执行者数据的比较
EN

Stack Overflow用户
提问于 2019-08-14 12:41:14
回答 1查看 96关注 0票数 0

我们有一个spark应用程序,在这个应用程序中,数据在不同的执行者之间共享。但是我们也需要比较执行者之间的数据,其中某些数据在executor-1中,而有些数据在executor-2中。我们想知道如何才能在火花中实现?

例如:拥有一个包含以下详细信息的文件:

代码语言:javascript
复制
Name, Date1, Date2
A, 2019-01-01, 2019-01-23
A, 2019-02-12, 2019-03-21
A, 2019-04-01, 2019-05-31
A, 2019-06-02, 2019-12-30
B, 2019-01-01, 2019-01-21
B, 2019-02-10, 2019-03-21
B, 2019-04-01, 2019-12-31

我需要通过检查第一行的date2和第二行的date1来找出这些元素之间的总间隙,等等。即

例如:名称A:(2019-02-12-2019-01-01)+ (2019-04-01 - 2019-03-21) + (2019-06-02 -2019-2019-05-31)+ (2019-12-31 -2019-2019-12-30)。年份将于2019年至12-31年结束,因此有1天的缺口,也有4天的缺口(如果每个日期的公式之间的差异> 0)。 姓名B:(2019-02-10-2019-01-21)+ (2019-04-01 -2019-2019-03-21),缺口数为2。

一种方法是使用collectAsList(),它检索驱动程序中的所有数据,但是是否有一种不同的有效方法可以直接在执行程序之间进行比较,如果是的话,我们如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-15 17:42:48

只需编写一个带有滞后窗口的SQL查询,限定,检查相邻行的日期和日期减去1,主要关键字限定为名称。在名字里也一样排序。

您不必担心执行者,Spark会根据名称为您自动散列到由执行器提供服务的分区。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57494928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档