【发布时间】:2020-05-12 16:03:38
【问题描述】:
我有一个名为“table1”的 BigQuery 表。该表中有 1Tb 的数据。它有这个架构:
col1, col2, col3, timestamp
我希望为在“table1”中找到的每个时间戳 YYYYMMDD 创建一个名为“table_YYYYMMDD”的表,其中包含来自“table1”的数据以及 YYYYMMDD 时间戳。
我的想法是做这个查询(这里以时间戳 20200421 为例):
select col1, col2, col3, timestamp from table1 where string(timestamp) like '*2020-04-21*'
并以这种方式运行它:
bq query --destination_table table_20200421 --use_legacy_sql=false --append --allow_large_results select col1, col2, col3, timestamp from table1 where string(timestamp) like '*2020-04-21*'
并且只为我想要的每个日期运行它。 问题是,每次运行此请求时,它都会分析 1Tb 的数据,如果您在 200 个日期内执行此操作,成本会很高。 是否有更经济有效的方式来使用 BigQuery 实现相同的结果? 可能正在将表作为 JSON 数据提取到存储并以另一种方式分析它(火花?)
谢谢你的帮助
【问题讨论】:
标签: google-bigquery google-cloud-storage