【问题标题】:Error: Not found: Dataset my-project-name:domain_public was not found in location US错误:未找到:在美国位置找不到数据集 my-project-name:domain_public
【发布时间】:2018-12-25 23:23:33
【问题描述】:

我需要查询一个公共项目提供的数据集。我创建了自己的项目并将他们的数据集添加到我的项目中。有一个表名为:domain_public。当我对此表进行查询时,出现此错误:

 Query Failed
Error: Not found: Dataset my-project-name:domain_public was not found in location US
Job ID: my-project-name:US.bquijob_xxxx

我来自非美国国家。请问是什么问题以及如何解决?

编辑 1: 我将处理位置更改为asia-northeast1(我在新加坡)但同样的错误:

Error: Not found: Dataset censys-my-projectname:domain_public was not found in location asia-northeast1 

这是我的项目和公共项目censys-io的视图:

请指教。

编辑 2: 我以前输入的查询是基于censystutorial是:

#standardsql
SELECT domain, alexa_rank
FROM domain_public.current
WHERE p443.https.tls.cipher_suite = 'some_cipher_suite_goes_here';

当我将FROM 子句更改为:

FROM `censys-io.domain_public.current`

最后一行是:

WHERE p443.https.tls.cipher_suite.name = 'some_cipher_suite_goes_here';

成功了。我是否应该理解我应该始终包含projectname.dataset.table(如果我使用正确的术语)并将错字指向 Censys?还是出于某种原因这个项目的特殊情况?

【问题讨论】:

  • “将他们的数据集添加到我的项目”到底是什么意思?
  • 我点击我的项目旁边的右箭头->切换到项目->显示项目->然后输入公共项目ID。之后,我在导航面板中看到了他们的数据集和表格。
  • 您是否遵循了这些准则?仅标准 SQL 等 - support.censys.io/google-bigquery/bigquery-introduction
  • @J.L Valtueña 是的,我做到了。
  • 我尝试在此 (support.censys.io/google-bigquery/…) 之后添加数据集,但无法正常工作。也许数据集被删除或更改了 ID?

标签: google-bigquery


【解决方案1】:

在 Web UI 中 - 单击 Show Options 按钮,然后为“处理位置”选择您的位置!

指定查询将执行的位置。在特定位置运行的查询只能引用该位置的数据。对于美国/欧盟的数据,您可以选择未指定在数据所在的位置运行查询。对于其他位置的数据,您必须明确指定查询位置。


更新

如上所述 - Queries that run in a specific location may only reference data in that location

假设 censys-io.domain_public 数据集的数据在美国 - 您需要指定美国作为处理位置

【讨论】:

  • 我去了show options。我找到了 US、EU、asia-northeast1 和未指定的。我目前在亚洲,所以我选择了 asia-northeast。但是当我运行查询时,我得到:`Query Failed Error: Not found: Dataset censys-io:domain_public is not found in location asia-northeast1 Job ID:my-projectname:asia-northeast1.bquijob_4a55c23d_xxx
  • 如果数据集实际上并未存储在 asia-northeast-1 中,那么您不能将其设置为处理位置并期望它能够正常工作。单击 UI 中的数据集,我怀疑您会看到不同的位置。
  • 当表不存在时我也会得到这个错误(例如,如果我在数据集中搜索表asdfghjkl,所以不要被关于处理地点。
  • 我 control + f 搜索了“显示选项”但找不到任何内容,还检查了页面源。这有改变吗? (这是一个非常繁忙的页面)
  • @user5783745 - 原始答案是针对所谓的经典 UI。您很可能正在研究新的 UI - BigQuery 控制台 - 在这个新的 UI 中,您应该点击更多 ... 按钮,然后点击查询设置。在打开的面板中,您将能够找到与位置相关的设置
【解决方案2】:

问题原来是由于FROM 子句中的错误表名。 正确的FROM 子句应该是:

FROM `censys-io.domain_public.current`

在我打字的时候:

FROM domain_public.current

所以FROM中需要项目名称,而``因为项目名称中的-而需要。

【讨论】:

    【解决方案3】:

    BigQuery 找不到您的数据

    如何解决

    确保您的 FROM 位置包含 3 个部分

    1. 一个项目(例如bigquery-public-data
    2. 一个数据库(例如hacker_news
    3. 一个表格(例如stories

    像这样

    `bigquery-public-data.hacker_news.stories`
    

    *注意反引号

    示例

    错误

    SELECT *
    FROM `stories`
    

    错误

    SELECT *
    FROM `hacker_news.stories` 
    

    正确

    SELECT *
    FROM `bigquery-public-data.hacker_news.stories` 
    

    【讨论】:

    • 这并不能解决我的问题,如果您点击 QUERY TABLE,UI 会自动填写您在“正确”下发布的查询,但它仍然失败并在美国找不到
    • @karlpy 我有一段时间没用了,所以我有点生疏了。您能否仔细检查您正在使用的区域并确保它与存储数据的区域相匹配?这是我唯一能想到的其他事情
    【解决方案4】:

    确保您的 FROM 位置包含@stevec 提到的 3 个部分

    • 一个项目(例如 bigquery-public-data)
    • 一个数据库(例如hacker_news)
    • 表格(例如故事)

    但就我而言,我在 Google 脚本编辑器中使用 LegacySql,因此在这种情况下,您需要向 false 说明,例如:

    var projectId = 'xxxxxxx';
        
    var request = {
      query: 'select * from project.database.table',
      useLegacySql: false
    };
    var queryResults = BigQuery.Jobs.query(request, projectId);
    

    【讨论】:

      【解决方案5】:

      检查确切的大小写[大写或小写]以及表或视图名称的拼写。 从表定义中复制它,您的问题将得到解决。

      我使用的是 FPL009_Year_Categorization 而不是 FPL009_Year_categorization

      使用 c 作为 C 并得到错误“在位置 asia-south1 中找不到”

      我复制了确切的大小写,问题已解决。

      【讨论】:

        【解决方案6】:

        在您的 Big Query 控制台上,转到左侧窗格中的数据资源管理器,单击三个小点,然后从列表中选择查询选项。此步骤确认您选择了正确的项目和数据集。然后您可以在右侧的查询窗格中编辑查询。

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 2022-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-06
        相关资源
        最近更新 更多