首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python/Pandas/BigQuery:如何使用大量新的时间序列数据有效地更新现有表?

问Python/Pandas/BigQuery:如何使用大量新的时间序列数据有效地更新现有表?
EN

Stack Overflow用户
提问于 2017-06-28 13:34:20
回答 1查看 685关注 0票数 0

我有一个程序可以从远程数据库下载时间序列(ts)数据,并将数据保存为csv文件。新ts数据被追加到旧ts数据。随着下载更多数据,我的本地文件夹继续增长和增长。下载新的ts数据并保存后,我想将其上传到Google BigQuery表中。做这件事最好的方法是什么?

我当前的工作流程是将所有数据下载到csv文件中,然后将csv文件转换为本地机器上的gzip文件,然后使用gsutil将这些gzip文件上传到Google Cloud Storage。接下来,我删除Google BigQuery中的任何表,然后手动创建一个新表,首先删除Google BigQuery中的任何现有表,然后通过从Google Cloud Storage上传数据创建一个新表。我觉得有很大的自动化/改进的空间,但我是Google的新手。

编辑:为了澄清,我正在下载的数据可以认为是从雅虎金融下载时间序列数据。随着新的一天,有新的数据,我下载和保存到我的本地机器。我必须上传到Google BigQUery上的所有数据,这样我才能对其进行SQL分析。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-29 01:13:56

考虑将数据分解为每日表(或分区)。然后,你只需要上传从今天的CVS。

否则,您当前定义的脚本似乎是合理的。

  • 从你的时间线数据源中提取你的新一天的CSV。
  • 给他们快速转移。
  • 复制到GCS。
  • 将新的CVSs加载到当前的每日表/分区中。

这避免了删除现有表的需要,并减少了需要执行的数据量和处理量。作为一种奖励,如果在处理过程中出现错误,则可以更容易地回填一天。

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

https://stackoverflow.com/questions/44804051

复制
相关文章

相似问题

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