gpt4 book ai didi

google-bigquery - 将数据流式传输到 BigQuery 中的旋转日志表中

转载 作者:行者123 更新时间:2023-12-02 04:16:10 26 4
gpt4 key购买 nike

我想使用 insertAll 将一些时间序列数据流式传输到 BigQuery 中,但仅保留最近 3 个月的数据,以避免无限制的存储成本。通常的答案是save each day of data into a separate table但 AFAICT 这需要提前创建每个这样的表。我打算直接从使用仅具有 bigquery.insertdata 范围的 token 授权的不安全客户端流式传输数据,因此他们无法自行创建每日表。我能想到的唯一解决方案是运行安全的每日 cron 作业来创建表——这并不理想,特别是因为如果它失败,数据将被删除,直到创建表为止。

另一种方法是将数据流式传输到单个表中并使用 table decorators随着表的增长控制查询成本。 (我希望所有查询都针对特定时间范围,因此装饰器在这里应该非常有效。)但是,无法从表中删除旧数据,因此一段时间后存储成本将变得不可持续。我也想不出任何方法来原子地“复制和截断”表,以便我可以将旧数据分区到日常表中,而不会丢失当时正在流式传输的行。

关于如何解决这个问题有什么想法吗?如果您的解决方案允许我将旧数据重新聚合到时间上较粗糙的行中,以便以相同的存储成本保留更多历史记录,那就加分了。谢谢。

编辑:刚刚意识到这是 Bigquery event streaming and table creation 的部分重复。 .

最佳答案

如果您查看流式 API 发现文档,就会发现一个奇怪的新实验字段,名为“templateSuffix”,并具有非常相关的描述。

我还想指出,尚未发布任何官方文档,因此在使用此字段时应特别小心——尤其是在生产环境中。实验领域可能存在错误等。我突然想到要小心的事情是:

  • 以非向后兼容的方式修改基表的架构。
  • 以与基表不兼容的方式直接修改已创建表的架构。
  • 通过此后缀直接流式传输到创建的表 - 行插入 ID 可能无法跨边界应用。
  • 在创建的表主动流式传输时对其执行操作。

我确信其他事情。不管怎样,我只是想指出这一点。我确信官方文档会更加详尽。

关于google-bigquery - 将数据流式传输到 BigQuery 中的旋转日志表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com