请教下关于 spark rdd 的问题

2018-06-14 09:21:35 +08:00
 VoidChen

      刚开始用 spark,很多东西不清楚,不过时间紧迫所以来请教下。

      spark 的 rdd 能不能快速合并的?我现在有 30 分钟的数据需要滑动处理。每一分钟向前滑动一次,就是说 31 分的时候,读取 30-31 分钟的数据加进去,把 00-01 分钟的数据删除,那么我设想是构建 30 个 rdd,每一分钟一个。计算的时候合并这 30 个 rdd。请问这样的操作有没有?就那个合并的操作会不会很慢?

1301 次点击
所在节点    程序员
8 条回复
cstj0505
2018-06-14 09:25:39 +08:00
看看 spark streaming 里面的 window 功能,不要自己去撸
再就是 rdd 是只读的,没有删除,只能新生成或者计算出来一个
VoidChen
2018-06-14 09:26:23 +08:00
顺便问下,刚看到有个分区的概念,不知能不能利用上
ywind
2018-06-14 09:27:51 +08:00
按 1 分钟分片,按 30 分钟 window 聚合。
ywind
2018-06-14 09:28:48 +08:00
分区概念是针对于每个 rdd 的,用不上
VoidChen
2018-06-14 09:30:00 +08:00
@cstj0505 好,我去看下。关于 rdd 只读,我看到有个 cache 的方法,可以放到内存里,不用的时候释放掉就可以了
VoidChen
2018-06-14 09:40:35 +08:00
@ywind 我找到了,原来我想做的已经有实现了。。。
ihainan
2018-06-14 09:41:35 +08:00
@VoidChen cache 跟只读没有直接关联吧,RDD 每触发一次 action 都会重新从后往前计算一遍,cache 能够把中间结果缓存到内存或者磁盘,计算到这个点就会停下来,不会再往前走了。
VoidChen
2018-06-14 09:49:15 +08:00
@ihainan 刚开始看,放假前要写出能用的东西来,理解得不是很透彻。。。我看完资料的认知是,cache 会把 rdd 缓存到内存里,方便反复调用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462965

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX