【问题标题】:big-query data partitioning based on column name基于列名的大查询数据分区
【发布时间】:2018-05-05 18:26:05
【问题描述】:

我有这样的数据集

Id  type     entry-date             userid   dashboard

  1    0   2017-12-14 00:00:08       123        A
  2    1   2017-12-15 00:00:08       234        A
  3    1   2018-04-14 00:00:08       345        A
  4    0   2017-12-14 00:00:08       456        B
  5    0   2017-12-14 00:00:08       567        B

我的要求是

  1. 根据dashboard column对数据进行分区。BQ中是否可以根据Column进行分区?

  2. 根据 entrydate 对数据进行分区。我已经有 600TB 的数据。我想根据输入日期创建分区表并将现有数据转储到此分区表中。有可能吗?

  3. 如果 1 和 2 不可能,还有什么替代方法?

【问题讨论】:

  • 不,您只能按日期或时间戳列进行分区,例如entry_date
  • 我需要基于dashboard的数据,如果我按照entry_date进行分区,需要使用wheredashboard=A子句查询,即扫描所有数据。
  • 如果仪表板类型不多,您可以为每个仪表板创建单独的日期分区表,仪表板类型出现在表名中,然后使用wildcard table查询它们。
  • @ElliottBrossard 您可以添加您的 cmets 作为答案吗?

标签: database google-bigquery partitioning


【解决方案1】:

不,您只能按日期或时间戳列进行分区,例如 entry_date

如果您需要基于dashboard 的数据并且仪表板类型不多,您可以为每个单独的日期分区表创建仪表板类型出现在表名称中,然后使用wildcard table 来查询他们。

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2018-10-12
    • 2018-09-07
    • 2017-12-18
    • 1970-01-01
    相关资源
    最近更新 更多