【问题标题】:How to pre-process BigQuery data coming from Stackdriver如何预处理来自 Stackdriver 的 BigQuery 数据
【发布时间】:2019-10-14 09:15:54
【问题描述】:

我目前正在使用接收器将日志从 Stackdriver 导出到 BigQuery。但我只对 jsonPayload 感兴趣。我想忽略几乎所有其他内容。 但由于表创建和数据插入是自动发生的,我不能这样做。 有没有办法预处理来自 sink 的数据以仅存储重要的数据? 如果答案是否定的,有没有办法每天运行一个 cron 作业,将昨天的数据复制到一个单独的表中,然后将其删除? (知道表是使用 timestamps 命名的,因此可以按天查询它们)

【问题讨论】:

  • 不,您无法使用 Stackdriver 接收器控制架构到 BigQuery。一种策略是在原始数据之上使用视图来仅显示您感兴趣的列/数据。这是否符合您的要求?或者,您是否只是想丢弃您不感兴趣的数据以尝试节省存储成本?
  • 感谢您的回复。我已经在使用视图,但我希望摆脱不需要的数据。有什么办法吗?
  • 您只是想节省一些存储费用吗?
  • 这就是我想做的事情
  • 存储成本可以忽略不计,即便宜。我认为考虑这一点并构建某些东西所需的时间不仅仅是存储它,更不用说构建解决方案的查询和 DML :) 如果你真的想要摆脱它们,然后像​​每隔 X 小时/天运行一个预定查询,它从原始数据中读取您想要的列并将其写入新表。然后使用 DML 语句从原始表中删除内容。

标签: google-bigquery stackdriver


【解决方案1】:

据我所知,目前提到的两个选项在 GCP 平台上都是不可能的。在我这边,我还尝试创建您的请求的内部复制,并注意到没有办法单独过滤 jsonPayload。

因此,我建议针对您在以下公共问题跟踪器 link 上提出的问题创建一个功能请求。请注意,功能请求没有关于何时处理或是否实施的 ETA。

【讨论】:

  • 在 OP 的问题上查看我的 cmets :)
  • @GrahamPolley 如果您可以将上述评论添加为这篇文章的答案,是否有可能?这是为了帮助社区,以防将来再次出现此类问题。
猜你喜欢
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 2022-08-06
  • 2014-10-01
相关资源
最近更新 更多