首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增量数据存储

增量数据存储
EN

Stack Overflow用户
提问于 2018-09-25 22:13:21
回答 2查看 262关注 0票数 0

我有时间序列每日数据,我在这些数据上运行模型。模型在Spark中运行。

我只想每天运行模型,并将结果附加到历史结果中。为了让模型成功运行,拥有一个包含历史数据的“合并的单一数据源”是很重要的。

我必须使用AWS服务来存储结果。如果我存储在S3中,我将最终每天存储1个回填文件(太多文件)。如果我存储在Redshift中,它不会合并+ upsert,因此变得复杂。面向客户的数据在Redshift中,因此不能每天删除表并重新加载。

我不确定如何巧妙地(定义为最小成本和后续处理)存储增量数据,而不是每天重新处理所有内容以获得单个文件。

EN

回答 2

Stack Overflow用户

发布于 2018-09-25 22:34:13

S3仍然是你最好的选择。由于您的作业似乎不需要实时访问,因此它更像是一个滚动数据集。

如果你担心它生成的文件量,你至少可以做两件事:

  1. S3对象生命周期管理您可以定义要在x天后删除或转换到其他存储类别(更便宜)的对象。更多示例:亚马逊网络服务通知基本上你可以在你的S3存储桶中设置一个监听程序,‘监听’所有与你指定的前缀和后缀匹配的对象,以触发其他https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
  2. S3服务。你可以做的一件简单的事情是触发一个Lambda,做你的处理,然后你可以做任何你想做的事情。https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html

尽可能使用S3作为您的数据库。它非常便宜,而且是AWS的支柱。

票数 0
EN

Stack Overflow用户

发布于 2018-09-26 18:32:29

您也可以切换到ETL。Pentaho Data Integrator是一个非常有效的工具,它是专门用于BigData的OpenSource,完全自动化且易于使用。

它配备了现成的S3,Redshift (和其他)插件,只需一步就可以与以前的值进行比较。根据我的经验,它运行得相当快。此外,它在晚上对你有效,并在早上给你发送邮件,告诉你一切都好(或不好)。

主持人请注意:这是一个不可知论的观点,我可以推荐许多其他观点,但这个观点看起来最适合OP的需要。

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

https://stackoverflow.com/questions/52500318

复制
相关文章

相似问题

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