使用 bq 工具查询公共数据集
了解如何使用 bq 命令行工具检查和查询公共数据集。
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
确保已启用 BigQuery API。
如果您创建了一个新项目,则系统会自动启用 BigQuery API。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
如果您没有为本教程中使用的 Google Cloud 项目启用结算功能,则需要在 BigQuery 沙盒中处理数据。借助 BigQuery 沙盒,您可以免费使用限定的 BigQuery 功能,了解 BigQuery。
检查公共数据集
BigQuery 在 bigquery-public-data.samples
数据集中提供了多个示例表,您可以对这些示例表执行查询操作。在本教程中,您将对 shakespeare
表运行查询;对于莎士比亚每部戏剧中的每一个词语,该表都包含一个对应的条目。
检查 samples
数据集中的 shakespeare
表:
bq show bigquery-public-data:samples.shakespeare
输出类似于以下内容:为简化输出,省略了某些列。
Last modified Schema Total Rows Total Bytes
----------------- ------------------------------------ ------------ ------------
14 Mar 17:16:45 |- word: string (required) 164656 6432064
|- word_count: integer (required)
|- corpus: string (required)
|- corpus_date: integer (required)
查询公共数据集
使用 bq query
命令对数据运行 SQL 查询。
确定子字符串
raisin
在莎士比亚作品集中出现的次数:bq query --use_legacy_sql=false \ 'SELECT word, SUM(word_count) AS count FROM `bigquery-public-data.samples.shakespeare` WHERE word LIKE "%raisin%" GROUP BY word;'
输出类似于以下内容:
+---------------+-------+ | word | count | +---------------+-------+ | praising | 8 | | Praising | 4 | | raising | 5 | | dispraising | 2 | | dispraisingly | 1 | | raisins | 1 | +---------------+-------+
在莎士比亚作品集中搜索子字符串
huzzah
:bq query --use_legacy_sql=false \ 'SELECT word FROM `bigquery-public-data.samples.shakespeare` WHERE word = "huzzah";'
由于该子字符串未出现在莎士比亚作品集中,因此不会返回任何结果。
清理
为避免因本页面中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的 Google Cloud 项目。
删除项目
如果您使用 BigQuery 沙盒查询公共数据集,则您的项目不会启用结算功能。为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
如需删除项目,请执行以下操作:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
后续步骤
- 详细了解如何使用 bq 工具。
- 了解 BigQuery 沙盒。
- 详细了解 BigQuery 公共数据集。
- 了解如何将数据加载到 BigQuery 中。
- 详细了解如何在 BigQuery 中查询数据。
- 了解 BigQuery 动态。
- 了解 BigQuery 定价。
- 了解 BigQuery 配额和限制。