V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
VoidChen
V2EX  ›  程序员

请教下关于 spark rdd 的问题

  •  
  •   VoidChen · 2018-06-14 09:21:35 +08:00 · 1236 次点击
    这是一个创建于 2135 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    8 条回复    2018-06-14 09:49:15 +08:00
    cstj0505
        1
    cstj0505  
       2018-06-14 09:25:39 +08:00   ❤️ 1
    看看 spark streaming 里面的 window 功能,不要自己去撸
    再就是 rdd 是只读的,没有删除,只能新生成或者计算出来一个
    VoidChen
        2
    VoidChen  
    OP
       2018-06-14 09:26:23 +08:00
    顺便问下,刚看到有个分区的概念,不知能不能利用上
    ywind
        3
    ywind  
       2018-06-14 09:27:51 +08:00 via Android
    按 1 分钟分片,按 30 分钟 window 聚合。
    ywind
        4
    ywind  
       2018-06-14 09:28:48 +08:00 via Android   ❤️ 1
    分区概念是针对于每个 rdd 的,用不上
    VoidChen
        5
    VoidChen  
    OP
       2018-06-14 09:30:00 +08:00
    @cstj0505 好,我去看下。关于 rdd 只读,我看到有个 cache 的方法,可以放到内存里,不用的时候释放掉就可以了
    VoidChen
        6
    VoidChen  
    OP
       2018-06-14 09:40:35 +08:00
    @ywind 我找到了,原来我想做的已经有实现了。。。
    ihainan
        7
    ihainan  
       2018-06-14 09:41:35 +08:00 via iPhone
    @VoidChen cache 跟只读没有直接关联吧,RDD 每触发一次 action 都会重新从后往前计算一遍,cache 能够把中间结果缓存到内存或者磁盘,计算到这个点就会停下来,不会再往前走了。
    VoidChen
        8
    VoidChen  
    OP
       2018-06-14 09:49:15 +08:00
    @ihainan 刚开始看,放假前要写出能用的东西来,理解得不是很透彻。。。我看完资料的认知是,cache 会把 rdd 缓存到内存里,方便反复调用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5862 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 06:21 · PVG 14:21 · LAX 23:21 · JFK 02:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.