使用 BigQuery 客户端库查询公共数据集
了解如何使用 BigQuery 客户端库查询公共数据集。
如需直接在Google Cloud 控制台中按照此任务的分步指导操作,请选择您偏好的编程语言:
C#
Go
Java
Node.js
PHP
Python
Ruby
准备工作
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
选择是免费使用 BigQuery 沙盒,还是为 Google Cloud 项目启用结算功能。
如果您没有为项目启用结算功能,系统将自动使用 BigQuery 沙盒。借助 BigQuery 沙盒,您可以免费使用限定的 BigQuery 功能,以此了解 BigQuery。如果您不打算在本文档之外使用您的项目,建议您使用 BigQuery 沙盒。
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/serviceusage.serviceUsageAdmin, roles/bigquery.jobUser
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Enable the BigQuery API:
gcloud services enable bigquery
对于新项目,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].
在 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 编辑器:
cloudshell workspace BigQueryCsharpDemo
如需在 Cloud Shell 编辑器中打开终端,请点击打开终端。
打开项目目录:
cd BigQueryCsharpDemo
安装 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
在 Cloud Shell 中,创建新的 Go 项目和文件:
mkdir bigquery-go-quickstart \ && touch \ bigquery-go-quickstart/app.go
此命令会创建一个名为
bigquery-go-quickstart
的 Go 项目和一个名为app.go
的文件。打开 Cloud Shell 编辑器:
cloudshell workspace bigquery-go-quickstart
如需在 Cloud Shell 编辑器中打开终端,请点击打开终端。
打开项目目录:
cd bigquery-go-quickstart
创建
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
在 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 类路径或配置,请点击始终。
如果系统未提示您并且在本演示中遇到与类路径相关的错误,请执行以下操作:
- 依次点击文件 > 偏好设置 > 打开设置(界面)。
- 依次点击扩展程序 > 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
在 Cloud Shell 中,创建新的 Node.js 项目和文件:
mkdir bigquery-node-quickstart \ && touch \ bigquery-node-quickstart/app.js
此命令会创建一个名为
bigquery-node-quickstart
的 Node.js 项目和一个名为app.js
的文件。打开 Cloud Shell 编辑器:
cloudshell workspace bigquery-node-quickstart
如需在 Cloud Shell 编辑器中打开终端,请点击打开终端。
打开项目目录:
cd bigquery-node-quickstart
安装 Node.js 版 BigQuery 客户端库:
npm install @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
在 Cloud Shell 中,创建新的 PHP 项目和文件:
mkdir bigquery-php-quickstart \ && touch \ bigquery-php-quickstart/app.php
此命令会创建一个名为
bigquery-php-quickstart
的 PHP 项目和一个名为app.php
的文件。打开 Cloud Shell 编辑器:
cloudshell workspace bigquery-php-quickstart
如需在 Cloud Shell 编辑器中打开终端,请点击打开终端。
打开项目目录:
cd bigquery-php-quickstart
安装 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)
在 Cloud Shell 中,创建新的 Python 项目和文件:
mkdir bigquery-python-quickstart \ && touch \ bigquery-python-quickstart/app.py
此命令会创建一个名为
bigquery-python-quickstart
的 Python 项目和一个名为app.py
的文件。打开 Cloud Shell 编辑器:
cloudshell workspace bigquery-python-quickstart
如需在 Cloud Shell 编辑器中打开终端,请点击打开终端。
打开项目目录:
cd bigquery-python-quickstart
安装 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
在 Cloud Shell 中,创建新的 Ruby 项目和文件:
mkdir bigquery-ruby-quickstart \ && touch \ bigquery-ruby-quickstart/app.rb
此命令会创建一个名为
bigquery-ruby-quickstart
的 Ruby 项目和一个名为app.rb
的文件。打开 Cloud Shell 编辑器:
cloudshell workspace bigquery-ruby-quickstart
如需在 Cloud Shell 编辑器中打开终端,请点击打开终端。
打开项目目录:
cd bigquery-ruby-quickstart
安装 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
- 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.
在 Cloud Shell 中,转到上一级目录:
cd ..
删除您创建的
BigQueryCsharpDemo
文件夹:rm -R BigQueryCsharpDemo
-R
标志会删除文件夹中的所有资产。在 Cloud Shell 中,转到上一级目录:
cd ..
删除您创建的
bigquery-go-quickstart
文件夹:rm -R bigquery-go-quickstart
-R
标志会删除文件夹中的所有资产。在 Cloud Shell 中,转到上一级目录:
cd ..
删除您创建的
bigquery-java-quickstart
文件夹:rm -R bigquery-java-quickstart
-R
标志会删除文件夹中的所有资产。在 Cloud Shell 中,转到上一级目录:
cd ..
删除您创建的
bigquery-node-quickstart
文件夹:rm -R bigquery-node-quickstart
-R
标志会删除文件夹中的所有资产。在 Cloud Shell 中,转到上一级目录:
cd ..
删除您创建的
bigquery-php-quickstart
文件夹:rm -R bigquery-php-quickstart
-R
标志会删除文件夹中的所有资产。在 Cloud Shell 中,转到上一级目录:
cd ..
删除您创建的
bigquery-python-quickstart
文件夹:rm -R bigquery-python-quickstart
-R
标志会删除文件夹中的所有资产。在 Cloud Shell 中,转到上一级目录:
cd ..
删除您创建的
bigquery-ruby-quickstart
文件夹:rm -R bigquery-ruby-quickstart
-R
标志会删除文件夹中的所有资产。- 详细了解如何使用 BigQuery 客户端库。
- 详细了解 BigQuery 公共数据集。
- 了解如何将数据加载到 BigQuery 中。
- 详细了解如何在 BigQuery 中查询数据。
- 了解 BigQuery 动态。
- 了解 BigQuery 定价。
- 了解 BigQuery 配额和限制。
查询公共数据集
选择以下任一语言:
C#
您已成功通过 BigQuery C# 客户端库查询了公共数据集。
Go
您已成功通过 BigQuery Go 客户端库查询了公共数据集。
Java
您已成功通过 BigQuery Java 客户端库查询了公共数据集。
Node.js
您已成功使用 BigQuery Node.js 客户端库查询公共数据集。
PHP
您已成功通过 BigQuery PHP 客户端库查询了公共数据集。
Python
您已成功使用 BigQuery Python 客户端库查询公共数据集。
Ruby
您已成功通过 BigQuery Ruby 客户端库查询了公共数据集。
清理
为避免系统向您的 Google Cloud 账号收取费用,请删除您的 Google Cloud 项目,或删除您在本演示中创建的资源。
删除项目
为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
要删除项目,请执行以下操作:
删除资源
如果您使用的是现有项目,请删除您创建的资源: