【发布时间】:2019-10-14 09:15:54
【问题描述】:
我目前正在使用接收器将日志从 Stackdriver 导出到 BigQuery。但我只对 jsonPayload 感兴趣。我想忽略几乎所有其他内容。 但由于表创建和数据插入是自动发生的,我不能这样做。 有没有办法预处理来自 sink 的数据以仅存储重要的数据? 如果答案是否定的,有没有办法每天运行一个 cron 作业,将昨天的数据复制到一个单独的表中,然后将其删除? (知道表是使用 timestamps 命名的,因此可以按天查询它们)
【问题讨论】:
-
不,您无法使用 Stackdriver 接收器控制架构到 BigQuery。一种策略是在原始数据之上使用视图来仅显示您感兴趣的列/数据。这是否符合您的要求?或者,您是否只是想丢弃您不感兴趣的数据以尝试节省存储成本?
-
感谢您的回复。我已经在使用视图,但我希望摆脱不需要的数据。有什么办法吗?
-
您只是想节省一些存储费用吗?
-
这就是我想做的事情
-
存储成本可以忽略不计,即便宜。我认为考虑这一点并构建某些东西所需的时间不仅仅是存储它,更不用说构建解决方案的查询和 DML :) 如果你真的想要摆脱它们,然后像每隔 X 小时/天运行一个预定查询,它从原始数据中读取您想要的列并将其写入新表。然后使用 DML 语句从原始表中删除内容。
标签: google-bigquery stackdriver