意外的BigQuery"错误:字段' job_id'没有在表格中找到"即使没有使用job_id

时间:2016-01-26 13:20:09

标签: google-bigquery

我正在运行一个复杂的BigQuery查询,这会给我带来奇怪的错误。我有三个大表的嵌套连接,并且使用table_date_range()为其中一个表包含了几个分区。

当最里面的select子句包含太多分区时,我意外地得到以下错误,即使查询中没有名为job_id的字段。如果我只包含一个或有时两个分区(取决于大小?),那么查询就可以了。

  

错误:字段' job_id'表格'项目中没有找到:dataset.table_20160119&#39 ;;你是说' app_id'?

由于敏感数据,我无法发布完整查询,但结构如下:

SELECT
  fields
FROM ( 
    SELECT 
      *
    FROM (
      SELECT
        *
      FROM (
        SELECT *
        FROM
          TABLE_DATE_RANGE([project1:dataset1.table1_],
            TIMESTAMP('2016-01-19'),
            TIMESTAMP('2016-01-24'))
        WHERE
          conditions
        ) alias_1
      ) alias_2
    FULL OUTER JOIN EACH (
      SELECT
        *
      FROM 
        [project2:dataset2.table2_20160124]
      WHERE
        conditions
      ) alias3
    ON alias2.user_id = alias3.user_id
  ) alias4
LEFT JOIN
  [project2:dataset3.table3_20160124] alias5
ON
  alias4.user_id = alias5.user_id
GROUP BY
  fields
ORDER BY
  field

1 个答案:

答案 0 :(得分:1)

所以我找到了解决方案。显然,在我使用的日期范围内,table1中存在架构更改,并且字段job_id仅在某些日期存在。即使不使用此字段,也会使BigQuery抛出错误。

通过为受影响的表手动选择列而不是使用*。

来解决问题