快速入门:使用客户端库
本页面介绍了如何以您偏好的编程语言开始使用 BigQuery API。
准备工作
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 BigQuery API。
-
创建服务帐号:
-
在 Google Cloud 控制台中,转到创建服务帐号页面。
转到“创建服务帐号” - 选择您的项目。
-
在服务帐号名称字段中,输入一个名称。Google Cloud 控制台会根据此名称填充服务帐号 ID 字段。
在服务帐号说明字段中,输入说明。例如,
Service account for quickstart
。 - 点击创建并继续。
-
如需提供对项目的访问权限,请向服务帐号授予以下角色:Project > Owner。
在选择角色列表中,选择一个角色。
如需添加其他角色,请点击
添加其他角色,然后添加其他各个角色。 - 点击继续。
-
点击完成以完成服务帐号的创建过程。
不要关闭浏览器窗口。您将在下一步骤中用到它。
-
-
创建服务帐号密钥:
- 在 Google Cloud 控制台中,点击您创建的服务帐号的电子邮件地址。
- 点击密钥。
- 点击添加密钥,然后点击创建新密钥。
- 点击创建。JSON 密钥文件将下载到您的计算机上。
- 点击关闭。
-
将环境变量
GOOGLE_APPLICATION_CREDENTIALS
设置为包含您的服务帐号密钥的 JSON 文件的路径。 此变量仅适用于当前的 shell 会话,因此,如果您打开新的会话,请重新设置该变量。 -
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 BigQuery API。
-
创建服务帐号:
-
在 Google Cloud 控制台中,转到创建服务帐号页面。
转到“创建服务帐号” - 选择您的项目。
-
在服务帐号名称字段中,输入一个名称。Google Cloud 控制台会根据此名称填充服务帐号 ID 字段。
在服务帐号说明字段中,输入说明。例如,
Service account for quickstart
。 - 点击创建并继续。
-
如需提供对项目的访问权限,请向服务帐号授予以下角色:Project > Owner。
在选择角色列表中,选择一个角色。
如需添加其他角色,请点击
添加其他角色,然后添加其他各个角色。 - 点击继续。
-
点击完成以完成服务帐号的创建过程。
不要关闭浏览器窗口。您将在下一步骤中用到它。
-
-
创建服务帐号密钥:
- 在 Google Cloud 控制台中,点击您创建的服务帐号的电子邮件地址。
- 点击密钥。
- 点击添加密钥,然后点击创建新密钥。
- 点击创建。JSON 密钥文件将下载到您的计算机上。
- 点击关闭。
-
将环境变量
GOOGLE_APPLICATION_CREDENTIALS
设置为包含您的服务帐号密钥的 JSON 文件的路径。 此变量仅适用于当前的 shell 会话,因此,如果您打开新的会话,请重新设置该变量。
安装客户端库
C#
如需详细了解如何设置 C# 开发环境,请参阅 C# 开发环境设置指南。
Install-Package Google.Cloud.BigQuery.V2 -Pre
Go
go mod init YOUR_MODULE_NAME go get cloud.google.com/go/bigquery
Java
如需详细了解如何设置 Java 开发环境,请参阅 Java 开发环境设置指南。
如果您使用的是 Maven,请将以下代码添加到您的 pom.xml
文件中。如需详细了解 BOM,请参阅 Google Cloud Platform 库 BOM。
如果您使用的是 Gradle,请将以下代码添加到您的依赖项中:
如果您使用的是 sbt,请将以下代码添加到您的依赖项中:
如果您使用的是 Visual Studio Code、IntelliJ 或 Eclipse,可以通过以下 IDE 插件将客户端库添加到您的项目中:
上述插件还提供其他功能,例如服务帐号密钥管理。如需了解详情,请参阅各个插件相应的文档。
Node.js
如需详细了解如何设置 Node.js 开发环境,请参阅 Node.js 开发环境设置指南。
npm install --save @google-cloud/bigquery
PHP
composer require google/cloud-bigquery
Python
如需详细了解如何设置 Python 开发环境,请参阅 Python 开发环境设置指南。
pip install --upgrade google-cloud-bigquery
Ruby
如需详细了解如何设置 Ruby 开发环境,请参阅 Ruby 开发环境设置指南。
gem install google-cloud-bigquery
导入库
C#
如需了解详情,请参阅 BigQuery C# API 参考文档。
Go
如需了解详情,请参阅 BigQuery Go API 参考文档。
Java
如需了解详情,请参阅 BigQuery Java API 参考文档。
Node.js
如需了解详情,请参阅 BigQuery Node.js API 参考文档。
PHP
如需了解详情,请参阅 BigQuery PHP API 参考文档。
Python
如需了解详情,请参阅 BigQuery Python API 参考文档。
Ruby
如需了解详情,请参阅 BigQuery Ruby API 参考文档。
初始化 BigQuery 客户端
初始化客户端以进行身份验证并连接到 BigQuery API。
C#
使用 BigQueryClient.Create() 函数创建 BigQuery 客户端。
Go
使用 bigquery.NewClient() 函数创建 BigQuery 客户端。
Java
使用 BigQueryOptions.getDefaultInstance() 函数来使用默认身份验证选项。使用 BigQueryOptions.getService() 函数创建 BigQuery 客户端。
Node.js
实例化 BigQuery 类以创建 BigQuery 客户端。
PHP
实例化 BigQueryClient 类以创建 BigQuery 客户端。
Python
实例化 bigquery.Client 类以创建 BigQuery 客户端。
Ruby
使用 Google::Cloud::Bigquery.new 函数创建 BigQuery 客户端。
查询数据集
以下查询从 Stack Overflow 公共数据集中检索使用 google-bigquery
标记的查看次数最多的问题。
SELECT CONCAT( 'https://stackoverflow.com/questions/', CAST(id as STRING)) as url, view_count FROM `bigquery-public-data.stackoverflow.posts_questions` WHERE tags like '%google-bigquery%' ORDER BY view_count DESC LIMIT 10
此查询使用 Google 标准 SQL 语法。客户端库默认使用 Google 标准 SQL 语法。如需更改 SQL 语言,请参阅 BigQuery SQL 语言。
运行查询
使用经过身份验证的 BigQuery 客户端运行以下查询。
C#
定义查询字符串,然后使用 client.ExecuteQuery() 函数提交查询并获取结果。
Go
使用 bigquery.Query() 函数定义查询,然后使用 Query.Read() 函数提交查询并获取结果。
Java
通过 QueryJobConfiguration 实例定义查询。并使用 BigQuery.create() 方法启动查询作业。
Node.js
使用 BigQuery.query() 方法启动查询。
PHP
创建查询配置,然后使用 BigQueryClient.startQuery() 方法启动查询。
Python
使用 Client.query() 方法启动查询。
Ruby
使用 Google::Cloud::Bigquery::Project.query 函数启动查询并等待结果。
详细了解查询:
显示查询结果
显示查询结果。
C#
Go
使用 RowIterator.Next() 函数将每一行数据加载到一个结构体指针。
Java
遍历 QueryResponse,获取结果中的所有行。迭代器会自动处理分页。每个 FieldList 都会按数字索引或列名称显示列。
Node.js
查询结果作为行列表返回,其中每一行都是一个字典。
PHP
调用 Job.queryResults() 方法以等待查询完成。查询结果中的每一行都是一个关联数组。
Python
遍历 RowIterator,获取结果中的所有行。迭代器会自动处理分页。每个 Row 都会按数字索引、按列名称或以 Python 特性的形式显示列。
Ruby
Google::Cloud::Bigquery::Data 类以哈希形式公开每行。
详细了解如何在 BigQuery 中处理表:
完整源代码
以下是该示例的完整源代码。
C#
Go
Java
Node.js
PHP
Python
Ruby
结果怎么样?
后续步骤
详细了解我们的 BigQuery API 客户端库。