使用 BigQuery 客户端库查询公共数据集
了解如何使用 BigQuery 客户端库查询公共数据集。
如需直接在 Google Cloud 控制台中按照此任务的分步指导操作,请选择您偏好的编程语言:
查看 C# 导览 查看 Go 导览 查看 Java 导览 查看 Node.js 导览
查看 PHP 导览 查看 Python 导览 查看 Ruby 导览
准备工作
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
选择免费使用 BigQuery 沙盒还是为 Google Cloud 项目启用结算功能。
如果您没有为项目启用结算功能,则系统会自动使用 BigQuery 沙盒。借助 BigQuery 沙盒,您可以免费使用限定的 BigQuery 功能,了解 BigQuery。 如果您不打算在本文档之外使用您的项目,我们建议您使用 BigQuery 沙盒。
-
Enable the BigQuery API.
对于新项目,BigQuery API 会自动启用。
-
In the Google Cloud console, activate Cloud Shell.
在 Cloud Shell 中激活您的 Google Cloud 项目:
gcloud config set project PROJECT_ID
将 PROJECT_ID 替换为您为本演示选择的项目。
输出类似于以下内容:
Updated property [core/project].
查询公共数据集
选择以下语言之一:
C#
在 Cloud Shell 中,创建新的 C# 项目和文件:
dotnet new console -n BigQueryCsharpDemo
输出类似于以下内容:这里为了简化输出,省略了数行代码。
Welcome to .NET 6.0! --------------------- SDK Version: 6.0.407 ... The template "Console App" was created successfully. ...
此命令会创建一个名为
BigQueryCsharpDemo
的 C# 项目和一个名为Program.cs
的文件。打开 Cloud Shell Editor:
cloudshell workspace BigQueryCsharpDemo
如需在 Cloud Shell Editor 中打开终端,请点击终端 > New Terminal(新建终端)。
安装 C# 版 BigQuery 客户端库:
dotnet add package Google.Cloud.BigQuery.V2
输出类似于以下内容:为简化输出,省略了几行。
Determining projects to restore... Writing /tmp/tmpF7EKSd.tmp ... info : Writing assets file to disk. ...
将变量
GOOGLE_PROJECT_ID
设置为值GOOGLE_CLOUD_PROJECT
并导出变量:export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
在探索器窗格中,找到您的
BIGQUERYCSHARPDEMO
项目。点击
Program.cs
文件以将其打开。如需针对
bigquery-public-data.stackoverflow
数据集创建查询以返回用户查看最多的前 10 个 Stack Overflow 页面及其查看次数,请将该文件的内容替换为以下代码:在终端运行
Program.cs
脚本。如果系统提示您为 Cloud Shell 授权并同意相应条款,请点击授权。dotnet run
结果类似于以下内容:
Query Results: ------------ https://stackoverflow.com/questions/35159967: 170023 views https://stackoverflow.com/questions/22879669: 142581 views https://stackoverflow.com/questions/10604135: 132406 views https://stackoverflow.com/questions/44564887: 128781 views https://stackoverflow.com/questions/27060396: 127008 views https://stackoverflow.com/questions/12482637: 120766 views https://stackoverflow.com/questions/20673986: 115720 views https://stackoverflow.com/questions/39109817: 108368 views https://stackoverflow.com/questions/11057219: 105175 views https://stackoverflow.com/questions/43195143: 101878 views
您已成功使用 BigQuery C# 客户端库查询公共数据集。
Go
在 Cloud Shell 中,创建新的 Go 项目和文件:
mkdir bigquery-go-quickstart \ && touch \ bigquery-go-quickstart/app.go
此命令会创建一个名为
bigquery-go-quickstart
的 Go 项目和一个名为app.go
的文件。打开 Cloud Shell Editor:
cloudshell workspace bigquery-go-quickstart
如需在 Cloud Shell Editor 中打开终端,请点击终端 > New Terminal(新建终端)。
创建
go.mod
文件:go mod init quickstart
输出类似于以下内容:
go: creating new go.mod: module quickstart go: to add module requirements and sums: go mod tidy
安装 Go 版 BigQuery 客户端库:
go get cloud.google.com/go/bigquery
输出类似于以下内容:为简化输出,省略了几行。
go: downloading cloud.google.com/go/bigquery v1.49.0 go: downloading cloud.google.com/go v0.110.0 ... go: added cloud.google.com/go/bigquery v1.49.0 go: added cloud.google.com/go v0.110.0
在探索器窗格中,找到您的
BIGQUERY-GO-QUICKSTART
项目。点击
app.go
文件以将其打开。如需针对
bigquery-public-data.stackoverflow
数据集创建查询以返回用户查看最多的前 10 个 Stack Overflow 页面及其查看次数,请将以下代码复制到app.go
文件中:在终端运行
app.go
脚本。如果系统提示您为 Cloud Shell 授权并同意相应条款,请点击授权。go run app.go
结果类似于以下内容:
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
您已成功使用 BigQuery Go 客户端库查询公共数据集。
Java
在 Cloud Shell 中,使用 Apache Maven 创建新的 Java 项目:
mvn archetype:generate \ -DgroupId=com.google.app \ -DartifactId=bigquery-java-quickstart \ -DinteractiveMode=false
此命令会创建一个名为
bigquery-java-quickstart
的 Maven 项目。输出类似于以下内容:这里为了简化输出,省略了数行代码。
[INFO] Scanning for projects... ... [INFO] Building Maven Stub Project (No POM) 1 ... [INFO] BUILD SUCCESS ...
您可以使用 Maven 以外的许多依赖项管理系统。如需了解详情,请参阅如何设置 Java 开发环境以用于客户端库。
重命名 Maven 默认创建的
App.java
文件:mv \ bigquery-java-quickstart/src/main/java/com/google/app/App.java \ bigquery-java-quickstart/src/main/java/com/google/app/SimpleApp.java
打开 Cloud Shell Editor:
cloudshell workspace bigquery-java-quickstart
如果系统提示您是否同步 Java 类路径或配置,请点击始终。
如果系统未提示您并且在本演示中遇到与类路径相关的错误,请执行以下操作:
- 依次点击文件 > 偏好设置 > Open Settings (UI)(打开设置[界面])。
- 依次点击扩展程序 > Java。
- 滚动到 Configuration: Update Build Configuration(配置:更新构建配置),然后选择自动。
在探索器窗格中,找到您的
BIGQUERY-JAVA-QUICKSTART
项目。点击
pom.xml
文件将其打开。在
<dependencies>
标记内,在任何现有依赖项之后添加以下依赖项。请勿替换任何现有依赖项。<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigquery</artifactId> </dependency>
在结束标记 (
</dependencies>
) 后面的代码行上,添加以下内容:<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>26.1.5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
在探索器窗格中的
BIGQUERY-JAVA-QUICKSTART
项目内,点击 src > main/java/com/google/app > SimpleApp.java。 文件会打开。如需针对
bigquery-public-data.stackoverflow
数据集创建查询,请保留文件第一行 (package com.google.app;
),并将文件的其余内容替换为以下代码:该查询会返回前 10 个最常查看的 Stack Overflow 页面及其查看次数。
右键点击 SimpleApp.java,然后点击 Run Java(运行 Java)。如果系统提示您授权 Cloud Shell 并同意相应条款,请点击授权。
结果类似于以下内容:
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
您已成功使用 BigQuery Java 客户端库查询公共数据集。
Node.js
在 Cloud Shell 中,创建新的 Node.js 项目和文件:
mkdir bigquery-node-quickstart \ && touch \ bigquery-node-quickstart/app.js
此命令会创建一个名为
bigquery-node-quickstart
的 Node.js 项目和一个名为app.js
的文件。打开 Cloud Shell Editor:
cloudshell workspace bigquery-node-quickstart
如需在 Cloud Shell Editor 中打开终端,请点击终端 > New Terminal(新建终端)。
安装 Node.js 版 BigQuery 客户端库:
npm install --save @google-cloud/bigquery
输出类似于以下内容:
added 63 packages in 2s
在探索器窗格中,找到您的
BIGQUERY-NODE-QUICKSTART
项目。点击
app.js
文件以将其打开。如需针对
bigquery-public-data.stackoverflow
数据集创建查询以返回用户查看最多的前 10 个 Stack Overflow 页面及其查看次数,请将以下代码复制到app.js
文件中:在终端运行
app.js
脚本。如果系统提示您为 Cloud Shell 授权并同意相应条款,请点击授权。node app.js
结果类似于以下内容:
Query Results: url: https://stackoverflow.com/questions/35159967, 170023 views url: https://stackoverflow.com/questions/22879669, 142581 views url: https://stackoverflow.com/questions/10604135, 132406 views url: https://stackoverflow.com/questions/44564887, 128781 views url: https://stackoverflow.com/questions/27060396, 127008 views url: https://stackoverflow.com/questions/12482637, 120766 views url: https://stackoverflow.com/questions/20673986, 115720 views url: https://stackoverflow.com/questions/39109817, 108368 views url: https://stackoverflow.com/questions/11057219, 105175 views url: https://stackoverflow.com/questions/43195143, 101878 views
您已成功使用 BigQuery Node.js 客户端库查询公共数据集。
PHP
在 Cloud Shell 中,创建新的 PHP 项目和文件:
mkdir bigquery-php-quickstart \ && touch \ bigquery-php-quickstart/app.php
此命令会创建一个名为
bigquery-php-quickstart
的 PHP 项目和一个名为app.php
的文件。打开 Cloud Shell Editor:
cloudshell workspace bigquery-php-quickstart
如需在 Cloud Shell Editor 中打开终端,请点击终端 > New Terminal(新建终端)。
安装 PHP 版 BigQuery 客户端库:
composer require google/cloud-bigquery
输出类似于以下内容:为简化输出,省略了几行。
Running composer update google/cloud-bigquery Loading composer repositories with package information Updating dependencies ... No security vulnerability advisories found Using version ^1.24 for google/cloud-bigquery
在探索器窗格中,找到您的
BIGQUERY-PHP-QUICKSTART
项目。点击
app.php
文件以将其打开。如需针对
bigquery-public-data.stackoverflow
数据集创建查询以返回用户查看最多的前 10 个 Stack Overflow 页面及其查看次数,请将以下代码复制到app.php
文件中:在终端运行
app.php
脚本。如果系统提示您为 Cloud Shell 授权并同意相应条款,请点击授权。php app.php
结果类似于以下内容:
--- Row 1 --- url: https://stackoverflow.com/questions/35159967, 170023 views --- Row 2 --- url: https://stackoverflow.com/questions/22879669, 142581 views --- Row 3 --- url: https://stackoverflow.com/questions/10604135, 132406 views --- Row 4 --- url: https://stackoverflow.com/questions/44564887, 128781 views --- Row 5 --- url: https://stackoverflow.com/questions/27060396, 127008 views --- Row 6 --- url: https://stackoverflow.com/questions/12482637, 120766 views --- Row 7 --- url: https://stackoverflow.com/questions/20673986, 115720 views --- Row 8 --- url: https://stackoverflow.com/questions/39109817, 108368 views --- Row 9 --- url: https://stackoverflow.com/questions/11057219, 105175 views --- Row 10 --- url: https://stackoverflow.com/questions/43195143, 101878 views Found 10 row(s)
您已成功使用 BigQuery PHP 客户端库查询公共数据集。
Python
在 Cloud Shell 中,创建新的 Python 项目和文件:
mkdir bigquery-python-quickstart \ && touch \ bigquery-python-quickstart/app.py
此命令会创建一个名为
bigquery-python-quickstart
的 Python 项目和一个名为app.py
的文件。打开 Cloud Shell Editor:
cloudshell workspace bigquery-python-quickstart
如需在 Cloud Shell Editor 中打开终端,请点击终端 > New Terminal(新建终端)。
安装 Python 版 BigQuery 客户端库:
pip install --upgrade google-cloud-bigquery
输出类似于以下内容:为简化输出,省略了几行。
Installing collected packages: google-cloud-bigquery ... Successfully installed google-cloud-bigquery-3.9.0 ...
在探索器窗格中,找到您的
BIGQUERY-PYTHON-QUICKSTART
项目。点击
app.py
文件以将其打开。如需针对
bigquery-public-data.stackoverflow
数据集创建查询以返回用户查看最多的前 10 个 Stack Overflow 页面及其查看次数,请将以下代码复制到app.py
文件中:在终端运行
app.py
脚本。如果系统提示您为 Cloud Shell 授权并同意相应条款,请点击授权。python app.py
结果类似于以下内容:
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
您已成功使用 BigQuery Python 客户端库查询公共数据集。
Ruby
在 Cloud Shell 中,创建新的 Ruby 项目和文件:
mkdir bigquery-ruby-quickstart \ && touch \ bigquery-ruby-quickstart/app.rb
此命令会创建一个名为
bigquery-ruby-quickstart
的 Ruby 项目和一个名为app.rb
的文件。打开 Cloud Shell Editor:
cloudshell workspace bigquery-ruby-quickstart
如需在 Cloud Shell Editor 中打开终端,请点击终端 > New Terminal(新建终端)。
安装 Ruby 版 BigQuery 客户端库:
gem install google-cloud-bigquery
输出类似于以下内容:为简化输出,省略了几行。
23 gems installed
在探索器窗格中,找到您的
BIGQUERY-RUBY-QUICKSTART
项目。点击
app.rb
文件以将其打开。如需针对
bigquery-public-data.stackoverflow
数据集创建查询以返回用户查看最多的前 10 个 Stack Overflow 页面及其查看次数,请将以下代码复制到app.rb
文件中:在终端运行
app.rb
脚本。如果系统提示您为 Cloud Shell 授权并同意相应条款,请点击授权。ruby app.rb
结果类似于以下内容:
https://stackoverflow.com/questions/35159967: 170023 views https://stackoverflow.com/questions/22879669: 142581 views https://stackoverflow.com/questions/10604135: 132406 views https://stackoverflow.com/questions/44564887: 128781 views https://stackoverflow.com/questions/27060396: 127008 views https://stackoverflow.com/questions/12482637: 120766 views https://stackoverflow.com/questions/20673986: 115720 views https://stackoverflow.com/questions/39109817: 108368 views https://stackoverflow.com/questions/11057219: 105175 views https://stackoverflow.com/questions/43195143: 101878 views
您已成功使用 BigQuery Ruby 客户端库查询公共数据集。
清理
为避免系统向您的 Google Cloud 账号收取费用,请删除您的 Google Cloud 项目,或删除您在本演示中创建的资源。
删除项目
为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
如需删除项目,请执行以下操作:
- 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.
删除资源
如果您使用的是现有项目,请删除您创建的资源:
C#
在 Cloud Shell 中,向上移动目录:
cd ..
删除您创建的
BigQueryCsharpDemo
文件夹:rm -R BigQueryCsharpDemo
-R
标志会删除文件夹中的所有资产。
Go
在 Cloud Shell 中,向上移动目录:
cd ..
删除您创建的
bigquery-go-quickstart
文件夹:rm -R bigquery-go-quickstart
-R
标志会删除文件夹中的所有资产。
Java
在 Cloud Shell 中,向上移动目录:
cd ..
删除您创建的
bigquery-java-quickstart
文件夹:rm -R bigquery-java-quickstart
-R
标志会删除文件夹中的所有资产。
Node.js
在 Cloud Shell 中,向上移动目录:
cd ..
删除您创建的
bigquery-node-quickstart
文件夹:rm -R bigquery-node-quickstart
-R
标志会删除文件夹中的所有资产。
PHP
在 Cloud Shell 中,向上移动目录:
cd ..
删除您创建的
bigquery-php-quickstart
文件夹:rm -R bigquery-php-quickstart
-R
标志会删除文件夹中的所有资产。
Python
在 Cloud Shell 中,向上移动目录:
cd ..
删除您创建的
bigquery-python-quickstart
文件夹:rm -R bigquery-python-quickstart
-R
标志会删除文件夹中的所有资产。
Ruby
在 Cloud Shell 中,向上移动目录:
cd ..
删除您创建的
bigquery-ruby-quickstart
文件夹:rm -R bigquery-ruby-quickstart
-R
标志会删除文件夹中的所有资产。
后续步骤
- 详细了解如何使用 BigQuery 客户端库。
- 详细了解 BigQuery 公共数据集。
- 了解如何将数据加载到 BigQuery 中。
- 详细了解如何在 BigQuery 中查询数据。
- 了解 BigQuery 动态。
- 了解 BigQuery 定价。
- 了解 BigQuery 配额和限制。