BigQuery 在创建实体化视图时出现“缺少空格”错误
Posted
技术标签:
【中文标题】BigQuery 在创建实体化视图时出现“缺少空格”错误【英文标题】:BigQuery gives "Missing whitespace" error when creating a Materialized View 【发布时间】:2021-12-16 13:54:12 【问题描述】:错误
在尝试创建实体化视图时,我收到错误 Syntax error: Missing whitespace between literal and alias at [1:42]
。到目前为止,我运行的任何查询都没有在 FROM 中标记相同的错误。问题似乎是我的(自动生成的)项目 ID 的数字部分之后的字符。
项目 ID 更改以保护我的真实 ID,但格式相同
我的代码
CREATE MATERIALIZED VIEW my-project-1234a.firestore_export.viewTestBQ
AS SELECT name, SUM(clicks) AS sum_clicks
FROM my-project-1234a.firestore_export.TestBQ_raw_changelog
GROUP BY 1
我尝试过的
在项目 ID 周围加上单引号、双引号和反引号 在整个$projectId.$dataset.$view_name
字符串周围加上单引号、双引号和反引号
【问题讨论】:
【参考方案1】:BigQuery 在选择对象时使用特殊背光。考虑方法:
CREATE MATERIALIZED VIEW `my-project-1234a.firestore_export.viewTestBQ` AS
SELECT name, SUM(clicks) AS sum_clicks
FROM `my-project-1234a.firestore_export.TestBQ_raw_changelog`
GROUP BY 1
如果这似乎不起作用,还请考虑以下方法:
CREATE MATERIALIZED VIEW `my-project-a1234.firestore_export.viewTestBQ` AS
SELECT name, SUM(clicks) AS sum_clicks
FROM `my-project-a1234.firestore_export.TestBQ_raw_changelog`
GROUP BY 1
如您所见,我的两个建议之间的区别在于,在您的项目中,您需要以字母后跟数字而不是数字后跟字母开头。
【讨论】:
我必须创建一个新项目并确保在 GCP 中创建它,然后将其添加到 Firebase,而不是反过来。这让我可以更严格地控制项目 ID。 BQ 无法处理这种命名格式似乎很疯狂,即使被引号或反引号包围。以上是关于BigQuery 在创建实体化视图时出现“缺少空格”错误的主要内容,如果未能解决你的问题,请参考以下文章
从 BigQuery 中的 .avro 文件创建表时出现“resourcesExceeded”错误
Automl SDK 代码具有来自 bigquery 的文件位置,但在预测时出现问题