检查 Google BigQuery 是不是使用 GCS 存储桶或任何其他存储

Posted

技术标签:

【中文标题】检查 Google BigQuery 是不是使用 GCS 存储桶或任何其他存储【英文标题】:Check whether Google BigQuery is using GCS buckets or any other storage检查 Google BigQuery 是否使用 GCS 存储桶或任何其他存储 【发布时间】:2021-02-20 16:55:01 【问题描述】:

我对 Google Cloud 很陌生。 我在 google BigQuery 中查询一些公共数据集。 我想知道是否有任何可能的方法可以让我们知道所查询的数据是否来自 Google Cloud 存储桶。

我尝试过对其使用 T-SQL 查询,但没有成功。

关于我正在扫描的数据集的任何类型的存储元数据都会很有用。

是否甚至可以知道查询的数据集是否来自 Google Cloud Bucket?如果是,我如何找到存储桶的位置?

【问题讨论】:

【参考方案1】:

您可以扫描 relevant INFORMATION_SCHEMA view 以查找 EXTERNAL 类型的表,这将确定哪些表可能是针对外部源(例如 Cloud Storage)定义的。但是,该视图不会公开外部定义的详细信息,因此您需要回退到单独检查表(或通过 API 中的 tables.get 之类的东西)以获取所有详细信息,因为您似乎在特定的存储 URI。

至于存储桶的位置,需要针对其他来源(例如云存储库,或云控制台或 gsutil 命令等工具)查询此类信息。

【讨论】:

所以如果我使用tables.get API,我将能够获得表格的实际存储位置?如果您能指出一些关于这方面的文档,那将非常有用! 您可以使用 tables.get 来识别 BigQuery 的位置概念,但如果它是针对位置可能略有不同的云存储桶定义的。 cloud.google.com/bigquery/docs/samples/bigquery-get-table 是相关的 BQ 示例,cloud.google.com/storage/docs/samples/… 是云存储示例。 但是如果我想知道 BQ 是在查询云存储桶还是其他存储位置,我可以这样做吗? Query statistics 可以包含引用表的列表,然后您可以检查这些表,但查询统计信息中没有直接指示存储 URI 或任何内容的内容,如果这是您所要求的。

以上是关于检查 Google BigQuery 是不是使用 GCS 存储桶或任何其他存储的主要内容,如果未能解决你的问题,请参考以下文章

Google 的 Bigquery 客户端库中的 put 方法是不是使用流式插入?

如何使用API 而不是使用Google BigQuery数据传输服务?

Google BigQuery:用户不是受信任的测试人员

在插入 BigQuery 表之前检查数据是不是已经存在(使用 Python)

将 Firebase Google Analytic 数据导入 BigQuery 时,Google 是不是会收取流媒体费用?

Google BigQuery 内部错误