BigQuery是一个数据仓库,用于处理大量的数据。通过BigQuery,人们可以从各种来源收集数据,存储数据,分析数据,并最终以多种方式将分析结果可视化。这篇博客谈到了BigQuery,它的各种功能和使用案例。
博客分为下面主题:
- 简介。
- BigQuery如何工作。
- BigQuery特性。
简介
自从计算机诞生以及随后的互联网出现以来,世界的数据量一直在不断增加。然而,近年来增加的速度直线上升。据估计,今天世界上的数据总量为ZB级别,每天新增有2.5万亿字节数据!
考虑到这一点,我们需要一些技术来处理这些大量的数据。谷歌提供的BigQuery就是这样做的——给我们一个工具来帮助我们处理海量数据。BigQuery运行于非常大规模的SQL查询——横跨多达数十亿行——并几乎实时地生成结果。
BigQuery如何工作
BigQuery的工作可以分为三个主要部分——导入、存储和准备、分析。在这里,我们将详细说明这些部分。
前置条件:创建一张表
要开始使用BigQuery,首先要有一张表。BigQuery的表可以有三种类型 —— 本地表、外部表和视图。一旦有了一张表,就可以执行各种BQ操作,包括:
- 列出一个数据集中的所有表。
- 获取关于表的信息。
- 控制对表数据的访问。
- 获取表的元数据。
这些任务可以通过使用Console、bq命令行工具、使用客户端库或使用API方法来操作。
当建立了一张表后,就可以进入下一步来使用BQ的功能。
1.导入(加载数据)
一旦建立了一张表,下一步就是将数据假造到表中。有几种方法可以将数据导入BigQuery。
- 批量加载一组数据记录。
- 流式导入单个记录。
- 使用查询来生成新的数据,然后追加到表中。
- 使用第三方应用程序或服务。
导入可以手动完成,如上所述,或自动完成,通过使用Data Transfer Service(数据传输服务)。
2.准备和存储
在这个过程中,数据被存储在BigQuery中,并为分析做准备。BigQuery获取在前一步中获得的原始数据,并对其进行处理,以便为进一步分析做好准备。
3.分析(导出数据)
最后,一旦数据在表中准备好,就可以导出它。可以通过多种方式从BigQuery导出数据,每个文件的最大容量为1GB。这里的选项是手动导出数据,或者使用Dataflow之类的服务来自动化整个过程。导出之后,可以使用BigQuery ML和Google Data Studio等各种服务来分析数据。
BigQuery特性
BigQuery是一个快速、serverless的数据仓库,专为处理大量数据的组织设计。从使用内置的机器学习从数据中获得洞见,到使用ANSI SQL分析PB量级的数据。BigQuery在一个具有性价比的模型中提供了多种功能。下面我们来看看其中的一些特征。
1.多云功能(BQ Omni)
BigQuery是一个分析解决方案,允许跨多个云平台进行数据分析。BigQuery的USP提供了一种新颖的方法来分析存在于多个云中的数据,而不需要花费大量的成本。这与其他解决方案相反,在其他解决方案中,从源迁移数据总是很高的成本。BigQuery通过分离计算和存储组件来实现这一点。这意味着BigQuery可以直接在数据所在的位置上运行计算,而不需要将数据移动到不同的zone进行处理。
BigQuery Omni运行在由谷歌Cloud管理的Anthos集群上。允许安全执行查询,甚至在外国的云平台上也是如此。BigQuery Omni附带以下功能:
- 打破数据孤岛,深入了解数据。
- 跨云获得一致的数据体验。
- 使灵活性,由Anthos提供。
2.内置集成机器学习(BQ ML)
BigQuery ML使用简单的SQL查询在BigQuery中创建和执行机器学习模型。在引入BigQuery ML之前,针对大型数据集的机器学习需要专业的ML的知识和编程技能。BigQuery Ml通过允许SQL使用者使用现有的技能构建ML模型,从而消除了这种需要。
BigQuery ML可以通过以下四种方式访问:
- 谷歌云控制台
- bq命令行工具
- BigQuery REST API
- 外部工具(例如Jupyter)
BigQuery的机器学习基于模型工作,模型是ML系统从数据中学习到的东西。BigQuery ML中使用的一些模型包括线性回归、二元和多分类Logistic回归、矩阵分解、时间序列和深度神经网络模型。
- 不需要数据导出,模型开发速度更快。
- 不需要Python或Java对ML解决方案进行编程(如上图所示)。
- 能够使用现有的BI工具和电子表格建立和运行ML模型。
3.BI的基础(BQ BI Engine)
BigQuery BI引擎是一个内存分析解决方案。它可以分析存储在BigQuery中的数据,具有高并发性,响应时间低于一秒。作为BigQuery系列的一部分,它也有一个SQL接口,这并不奇怪。这有助于它与其他商业智能工具如Looker、Tableau、Power BI等进行互动。它还可以与自定义应用程序集成,并帮助进行数据探索和分析。
BigQuery BI引擎具有以下优势。
-
速度
非常快的响应时间和加载时间,有助于对流式数据进行分析。
-
简单性
在BigQuery内执行就地分析,而无需ETL。
-
易用性
智能调整的设计确保用户的配置设置非常少。
BigQuery商业智能引擎有一个免费层,允许Data Studio用户使用高达1GB的免费容量,之后按需使用的容量为每GB 0.0416美元。有更高需求的组织可以选择统一的容量定价,这需要按月收费。
4.地理位置分析(BQ GIS)
BigQuery地理信息系统(GIS)提供关于位置和地图的信息,对BigQuery这样的数据仓库是很重要的。
BigQuery GIS的功能是将经纬度列转换为地理信息点。在处理地理空间数据时,有四种类型的对象。
- geometry
- 代表地球表面的一块区域。
- 空间特征
- 代表了一个逻辑空间对象。
- 空间特征集合
- 这是一个空间特征的集合。
BigQuery数据的最终可视化可以通过使用以下方式之一完成:
- BigQuery Geo Viz。
- 谷歌地球引擎。
- Jupyter笔记本(使用扩展)。
5.自动数据传输(BQ Data Transfer Service)
BigQuery数据传输是一项服务,定期自动将数据传输到BigQuery。分析团队可以用简单的方式管理调度,而不需要任何编码。还可以进行数据找回,以弥补导入期间的任何差异或中断。
BigQuery数据传输服务可以通过三种方式访问:
- 云控制台。
- bq命令行工具。
- BigQuery数据传输服务API。
截至目前,BigQuery数据传输允许从各种谷歌自有服务中导入数据,如云存储、谷歌游戏、谷歌广告和YouTube频道。还可以从外部云存储服务导入数据,如Amazon S3。Teradata和Amazon Redshift等数据仓库也可以使用数据传输服务将数据加载到BigQuery。
6.免费访问(BQ Sandbox)
虽然上面提到的BigQuery的所有功能都非常有用,但有时用户可能希望在付费之前对上述功能有更多的体验。为此,谷歌提供了BigQuery沙盒——一个体验BigQuery和云控制台的地方。这意味着不需要创建一个收费账户或项目,也不需要提供信用卡信息。所有的应用程序都在一个单独的环境中运行,它模拟了BigQuery在谷歌云平台上提供的环境。一旦用户尝试了这些功能并感到满意,他们可以轻松升级到完整的BigQuery体验。
BigQuery 沙盒也有一系列的限制,在升级之前都是适用的。包括:
- 适用于所有BigQuery配额和限制。
- 免费使用限制与BQ免费相同,并且不能升级。
- 所有数据集都有默认的过期时间(60天)。
- 不支持流数据、DML语句和数据传输服务。
相关参考
- https://k21academy.com/google-cloud/google-cloud-services-tools-for-beginners/
- https://k21academy.com/google-cloud/google-cloud-functions/
- https://k21academy.com/google-cloud/google-cloud-platform-console-walkthrough/
原文标题:Google BigQuery: Cloud Data Warehouse
原文作者:Shashikant Tanti
原文地址:https://blog.knoldus.com/google-bigquery-cloud-data-warehouse/




