【问题标题】:BigQuery can't create view with union tables containing TIMESTAMP fieldsBigQuery 无法使用包含 TIMESTAMP 字段的联合表创建视图
【发布时间】:2014-05-17 15:29:56
【问题描述】:

我想创建一个视图,将多个具有相同架构的每日表分组。在所有 TIMESTAMP 字段上创建视图失败,并出现以下错误:

字段名称“the_field.usec”无效。字段必须仅包含 字母、数字和下划线,以字母或下划线开头, 并且长度最多为 128 个字符

请注意,原始字段不包含 .usec 后缀。

一种解决方法是使用 FORMAT_UTC_USEC() 函数包装所有 TIMESTAMP 字段,但该字段不再是 TIMESTAMP,而是成为 INTEGER。

【问题讨论】:

  • 有完全相同的问题
  • 我必须将该字段转换为字符串(时间戳)才能使其工作,然后在查询视图时在另一端再次转换。
  • 你还有这个问题吗?抱歉直到现在才忽略这个问题!
  • 刚刚遇到这个问题。将其转换为 int 或 string 是可行的,但有点 hacky。

标签: google-bigquery


【解决方案1】:

你需要写成:

select FORMAT_UTC_USEC(timestamp) as timestamp ...

您还需要取消引用视图的嵌套记录类型字段:

SELECT utm.campaign as utm_campaign ...

【讨论】:

    【解决方案2】:

    我很高兴地说,这个长期存在的问题已得到解决,您可以构建涉及具有 TIMESTAMP 字段(包括联合、联接等)的表的任意视图。

    【讨论】:

      猜你喜欢
      • 2012-04-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2017-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      相关资源
      最近更新 更多