多个 Big Query 表或类似数据的单数表
Posted
技术标签:
【中文标题】多个 Big Query 表或类似数据的单数表【英文标题】:Multiple Big Query tables or singular for similar data 【发布时间】:2017-05-24 10:09:00 【问题描述】:我正在考虑将我的分析系统迁移到 BigQuery,我想知道是否有人可以给我一些关于构建数据的最佳方式的建议。
我正在记录网站上发生的分析事件。每个分析事件类型都必须存储在单独的表中,因为它们没有相似的字段。
我将使用分区按天分开,并在每天午夜运行查询当天的数据以生成总计数,然后可以将其存储在其他地方以便更快地查询分析平台。
我为每个公司创建一个数据集,命名为 company_123、company_124 等。
然后在每个数据集中是公司管理的所有网站的分析,表名如 user_click_event_website_id、user_page_load_website_id 等。
我需要能够同时查询“网站 X 上的所有用户点击”和“所有用户在其所有网站上的点击”。
我的问题是,按 website_id 拆分我的表并运行会更好(成本和查询时间)
select * from user_click_*
和 select * from user_click_website_x
或将它们全部放在一个带有 website_id 列的表中并运行
select * from user_click where website_id = 'website_x'
和 select * from user_click
谢谢
【问题讨论】:
【参考方案1】:在不了解您的场景和数据的详细信息的情况下,很难说哪一个总是更好。作为一个起点,除非您发现重大问题,否则我觉得一张带有 website_id 列的表似乎值得一试。
【讨论】:
以上是关于多个 Big Query 表或类似数据的单数表的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Big Query 的标准 SQL 中使用通配符为特定分区查询多个表
sqlserver数据将多个表或视图的数据合并到一个表或视图里的sql语句