目前,我正在使用谷歌的两步法来备份数据存储,然后将其导入BigQuery。我还使用流水线检查了代码。这两种方法都效率不高,而且成本很高,因为每次都会导入所有数据。我只需要添加从上次导入添加的记录。
什么才是正确的方法呢?有没有关于如何在python中做到这一点的工作示例?
发布于 2014-11-04 04:34:34
你可以看看Streaming inserts。实际上,我现在正在考虑用Java做同样的事情。
如果你想每小时做一次,你可以在每次将一个新的实体放到数据存储中的时候,将你的插入添加到一个拉取队列中(或者作为序列化的实体或者作为键/ID)。然后,您可以使用cron作业每小时处理一次队列。
发布于 2014-11-04 04:22:58
没有完整的工作示例(据我所知),但我相信以下过程可以帮助您:
1-你需要在你的实体中添加一个“上次修改的时间”,并更新它。
2-每小时可运行一个MapReduce作业,其中您的映射器可以有一个过滤器来检查上次更新的时间,并仅拾取在最近一小时内更新的那些实体
3-手动添加需要添加到备份中的内容。
正如我所说的,这是相当高的层次,但实际的答案将需要一堆代码。老实说,我不认为它适合Stack Overflow的格式。
https://stackoverflow.com/questions/26722127
复制相似问题