BigQuery 错误消息帮助,我是初学者。表名缺少数据集??我可以尝试啥来解决这个问题?

Posted

技术标签:

【中文标题】BigQuery 错误消息帮助,我是初学者。表名缺少数据集??我可以尝试啥来解决这个问题?【英文标题】:BigQuery error message help, I'm a beginner. Table name missing dataset?? What can I try to remedy this?BigQuery 错误消息帮助,我是初学者。表名缺少数据集??我可以尝试什么来解决这个问题? 【发布时间】:2021-11-29 20:56:45 【问题描述】:

运行查询时出错 表名“部门”缺少数据集,而请求中未设置默认数据集。

我的表被完全命名为“部门”,就像这里看到的那样。我检查了它,并让其他几个人查看我的拼写以确保它是正确的。我们的眼睛工作,它实际上是正确的。那么故障是什么?有没有其他人遇到过这个?我正在为 Google 数据分析课程学习 Big Query。

我尝试了很多变体的查询,使用了反引号、引号、括号,我重新排列了顺序,用几种方法重写了它,但我什么也没得到。

我完全按照他们所说的那样上传了我的数据集,位置为 US,自动架构,正确的表名。不知道还能做什么。

这里有几个屏幕截图供参考。 enter image description here

【问题讨论】:

为了安全起见 - 只需使用完全限定名称 - 如 project.dataset.table 括在反引号中 【参考方案1】:

我正在做同样的课程,我遇到了这个确切的错误。需要注意的一点是,您不能混合和匹配表引用样式,这意味着如果您包含 BigQuery 倾向于在至少一个位置自动填充反引号的完整路径,那么您需要在任何地方使用该样式。这包括 SELECT 子句中的所有列名以及 FROM 和 JOIN 子句中的表名。如果您在部分代码中尝试过反引号,但不是在所有地方都尝试过,这或许可以解释为什么它没有运行。

SELECT 
    `esoteric-cider-333608.employee_data.employees`.name AS employee_name,
    `esoteric-cider-333608.employee_data.employees`.role AS employee_role,
    `esoteric-cider-333608.employee_data.departments`.name AS department_name
FROM 
    `esoteric-cider-333608.employee_data.employees`
INNER JOIN 
    `esoteric-cider-333608.employee_data.departments`
ON 
    `esoteric-cider-333608.employee_data.employees`.department_id = `esoteric-cider-333608.employee_data.departments`.department_id; 

这样做的更好方法是为表名设置别名。您可以通过使用 AS 关键字在 SELECT 子句中为列名起别名来执行此操作。现在,您可以在整个语句中以简写形式引用该表,BigQuery 将为“部门”表提供准确的定义。

SELECT 
    employees.name AS employee_name,
    employees.role AS employee_role,
    departments.name AS department_name
FROM 
    `esoteric-cider-333608.employee_data.employees` AS employees
INNER JOIN 
    `esoteric-cider-333608.employee_data.departments` AS departments
ON 
    employees.department_id = departments.department_id; 

有关别名的更多信息,请访问https://www.w3schools.com/sql/sql_alias.asp。

【讨论】:

以上是关于BigQuery 错误消息帮助,我是初学者。表名缺少数据集??我可以尝试啥来解决这个问题?的主要内容,如果未能解决你的问题,请参考以下文章

编码初学者需要帮助

初学者 GA 导出 bigquery 问题

错误:代码太大 javafx 2.0

Google BigQuery SQL:使用数组?

BigQuery 计划数据传输抛出“不兼容的表分区规范”。错误 - 但错误消息被截断

BigQuery:对错误消息感兴趣