首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bigquery数据集设计,用于存储相同类型数据的多个表和单个表

bigquery数据集设计,用于存储相同类型数据的多个表和单个表
EN

Stack Overflow用户
提问于 2015-03-01 09:35:34
回答 1查看 1.5K关注 0票数 2

我计划建立一个新的广告系统,我们正在考虑使用谷歌bigquery。

我很快就会描述我的数据流:

每个用户将能够创建多个广告。(1用户,N个广告)我想存储广告印象,我想到了两个选项。

1-为印象创建一个表,例如表名是:印象字段:(userid、adsid、datetime、meta数据字段.)在这个选项中,我所有的印象将存储在一个表中。

主要优点:能够很容易地进行大数据查询。主要缺点:表将是hugh,使用多个查询,最终会支付太多(:

选项2是为每个广告创建表。

例如,ads 1将使用字段(日期时间、元数据字段)创建Impression_1。

优点:查询成本更低,数据表的缺点更小: todo大数据查询有时需要创建一个联合,事情就会变得复杂。

我想知道你对此有何看法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-01 10:38:06

在BigQuery中,这样做很容易,因为您可以每天创建表,并且可以只查询这些表。

还有表通配符函数,这是从一组特定表中查询数据的一种成本效益高的方法。使用表通配符函数时,BigQuery只对与通配符匹配的表进行访问和收费。表通配符函数在查询的FROM子句中指定。

假设您有一些表,如:

代码语言:javascript
复制
mydata.people20140325
mydata.people20140326
mydata.people20140327

您可以查询如下:

代码语言:javascript
复制
SELECT 
  name
FROM 
  (TABLE_DATE_RANGE(mydata.people, 
                    TIMESTAMP('2014-03-25'), 
                    TIMESTAMP('2014-03-27'))) 
WHERE 
  age >= 35

还有表式解码器

表装饰器支持相对和绝对的<time>值。相对值用负数表示,绝对值用正数表示。

若要在一小时前获取表的快照,请执行以下操作:

代码语言:javascript
复制
SELECT COUNT(*) FROM [data-sensing-lab:gartner.seattle@-3600000]

还有查询,您可以使用它进行更复杂的查询。

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

https://stackoverflow.com/questions/28792022

复制
相关文章

相似问题

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