介绍
Big Query是一项完全由 Google 管理的无服务器企业数据仓库服务。Big Query 提供对海量数据的近乎实时的分析。大查询数据仓库提供全球数据可用性,可以轻松连接到其他 Google 服务并具有灵活的数据摄取机制。使用 Big Query 开发的数据仓库解决方案具有高度的安全性和可扩展性。
来源:https://cloud.google.com/architecture/bigquery-data-warehouse
我们将在本文中讨论与 Google Big Query 相关的一些重要概念和问题。
Big Query 面试题
以下是一些重要的 Big Query 面试问题:
1.什么是Big Query?
Big Query 是一项完全由 Google 管理的无服务器企业数据仓库服务。Big Query 有一个内置的查询引擎,可以轻松运行 SQL 查询。Big Query 可帮助组织分析大量数据以找到有意义的见解。

资料来源:https://www.business2community.com/marketing/google-bigquery-a-tutorial-for-marketers-02252216
2.使用 Google Big Query 有什么好处?
Google Big Query 的一些优点是:
a. Big Query 数据仓库具有高度可扩展性,并提供即用即付的成本计算模型。
b. 它与 Informatica 等 ETL 工具兼容。
c. 它提供了高数据安全性。
3. Big Query 中的查询缓存是什么?
查询缓存可加速 Big Query 中的数据检索。在 Big Query 中首次执行任何查询时,查询结果将存储在临时缓存的结果表中。这称为查询缓存。
4. Big Query 中的时间装饰器是什么?
时间装饰器允许我们在 Big Query 中访问过去的数据。例如,如果您在一小时前不小心删除了一张表,那么您可以使用时间装饰器来获取删除的数据。
5.如何在 Big Query 中显式地将一种数据类型转换为另一种数据类型?
我们可以使用Big Query 中的转换函数将一种数据类型显式转换为另一种数据类型。例如,要将表达式转换为字符串,请使用以下语法:
CAST (expr AS STRING)
6 、Big Query云数仓的访问方式有哪些?
我们可以使用以下方式之一访问 Big Query 云数据仓库:
a. JDBC 驱动程序
b. ODBC 驱动程序
c. 网页界面
d. BQ 命令行工具
e. Python 库
7. Big Query 中有哪些优化查询计算的方法?
以下是在 Big Query 中优化查询计算的一些方法:
a. 更喜欢使用原生 UDF,而不是 JavaScript 用户定义的函数
b. 要检索最新记录,请使用聚合分析函数
c. 对表连接模式进行优化。
8. Big Query 中可以使用窗口函数的场景有哪些?
以下是在 Big Query 中可以使用窗口函数的一些场景:
a. 用于计算移动平均线
b. 用于计算累计总数
c. 根据指定条件对行进行排名
9.您的数据团队正在为客户构建一个新的实时数据仓库。客户希望使用 Google Big Query 来执行流式插入。每当数据插入行时,您都会获得一个唯一的 ID 和一个事件时间戳,但不能保证数据只会被发送一次。您将使用哪些子句和函数来编写查询以确保在交互式查询数据时不包含重复项?
为确保不包含重复项,请使用ROW_NUMBER窗口函数和基于唯一 ID WHERE行等于 1的PARTITION BY 。
10.一家分析公司为不同的客户处理数据。客户使用他们自己的分析工具套件。一些客户允许通过 Google Big Query 进行直接查询访问。您希望确保客户端无法看到彼此的数据。您可以在 Big Query 中执行哪些步骤来确保客户端的数据安全?
为了确保客户端无法看到彼此的数据,可以采取以下步骤:
a. 对于每个客户端,将数据加载到不同的数据集中。
b. 限制客户的数据集,只有经过批准的用户才能访问他们的数据集
c. 为了进一步提高安全性,请为每个客户的用户使用相关的身份和访问管理 (IAM) 角色。
11.客户每天向您的公司提供以 CSV 文件形式流入 Google Cloud Storage 的数据转储。当数据可能包含格式不正确或损坏的行时,您将如何构建一个管道来分析存储在 Google Big Query 中的 Google Cloud Storage 中的数据?
要为上述场景构建管道,请执行以下步骤:
a. 通过运行Google Cloud Dataflow将数据从Google Cloud Storage导入到Big Query 。
b. 将损坏的行推送到另一个死信表进行分析。
12.你在一家电子商务公司担任分析师。您使用 Google Big Query 将客户数据与销售的 50 种最常见产品的平均价格相关联,包括笔记本电脑、手机、电视等。每 35 分钟后,这些商品的平均价格会更新一次。您应该遵循哪些步骤来确保此平均价格数据保持最新,以便您可以轻松地将其与 Big Query 中的其他数据尽可能便宜地结合起来?
请按照以下步骤确保此平均价格数据保持最新,以便您可以轻松地将其与 Big Query 中的其他数据尽可能便宜地结合起来:
a. 创建区域Google Cloud Storage Bucket来存储和更新平均价格数据
b. 然后,使用上面创建的 Cloud Storage Bucket 作为Big Query中的联合数据源。

来源:https://cloud.google.com/blog/topics/developers-practitioners/bigquery-explained-data-ingestion
13.你是一家大型分析公司的团队负责人。目前,您的组织正在为 Big Query 使用按需定价模型,每个项目的配额为 1999 个并发按需插槽。使用当前的定价模型,您公司内的开发人员有时没有足够的时间来执行他们的查询。您应该对定价模型进行哪些更改来解决上述问题?
要解决上述问题,请将当前定价模式切换为统一费率定价模式。除此之外,还为您的项目设置分层优先级模型。
结论
在本文中,我们看到了重要的 Big Query 问题。我们对不同的 Big Query 术语有了很好的理解。以下是上述文章的一些主要内容:
1. 我们已经看到了查询缓存以及使用 Big Query 的好处。
2. 我们了解了在 Big Query 中执行查询优化的各种方法。
3. 我们了解了如何在 Big Query 中使用时间装饰器来检索意外删除的数据。
4.除此之外,我们还在Google Big Query上看到了一些基于场景的问题。
原文标题:Most Frequently Asked Google Big Query Interview Questions
原文作者:Chaitanya Shah
原文链接:https://www.analyticsvidhya.com/blog/2022/06/most-frequently-asked-google-big-query-interview-questions/




