欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

入门级大数据分析:Google BigQuery

程序员文章站 2022-05-21 18:42:02
大数据项目挺吓人的,尤其是如果包含了设置和管理Hadoop集群。如果你更习惯于SQL,而不是MapReduce,但是发现关系型数据库不符合分析需求,Google BigQuery值得一看。Google...

大数据项目挺吓人的,尤其是如果包含了设置和管理Hadoop集群。如果你更习惯于SQL,而不是MapReduce,但是发现关系型数据库不符合分析需求,Google BigQuery值得一看。Google BigQuery提供了大数据分析入门级方法。

BigQuery减少了分析大型数据集面临的一些实现挑战。价格模型促进了统计分析技能的发掘,因此可以从数据样品中导出有用的信息,而不是针对全部数据集进行蛮力分析。

有时,要用大数据工作意味着处理速度的精确。比如,如果想要确定操作同一网站的两个不同的客户群组是否不同,应该分析网站上与所有这些客户活动相关每一个登录日志。或者,可以取出一部分客户子集样例,分析这些样例之间的不同。基础统计提供了工具,可以帮助理解这种类型分析的错误率,只要错误在可接受范围内,结果对于决策制定就是有效的。

在TOP功能中可以看到这种交换,通过grouping和sorting操作返回顶行发现。可能返回近似的结果,但是这个函数通常比使用“group by”、“order by”和“"limit”的组合语句更快速。

Google BigQuery操作特性

BigQuery旨在分析数十亿行近似的数据,使用类SQL语法。它并不是完全符合SQL数据库的替代,并不适用于交易处理应用。BigQuery支持分析交互风格。使用SELECT命令构建查询,对于任何SQL开发者都应该很熟悉。

查询语言包括支持标准操作,比如joining、sorting和grouping,以及内嵌数据结构。正如我们所期望的大数据分析服务,可以支持统计函数,比如count、sum、average、variance和standard deviation(标准偏差)。Grouping函数和描述性统计的结合相当直接的在两个总体中比较平均数和变异数。

入门级大数据分析:Google BigQuery

入门级大数据分析:Google BigQuery

联接是标准化数据模型必要的操作,但是计算昂贵。BigQuery函数中的JOIN运算符类似于SQL join,但是在联接两个表时,其中一个表必须是8MB或者压缩到更校这种类型的限制可以进行更加有效的联接操作,因为更小的表可以有效高速缓存,联接到更大的表。如果必须联接两个大型表,可以使用JOIN EACH操作,但是性能就会更慢。

可以使用简单的浏览器界面同BigQuery进行交互操作。浏览器工具保留查询历史,提供了构造查询的工作局域。这是一种基本的工具;并不具备SQL开发者工具中全面的功能,比如MySQL Workbench和DBVisualizer。也可以通过命令行界面工作。

Google BigQuery的价格模型

通过访问Google的云资源,你可能想知道为什么你要为查询样例或者近似结果操心,毕竟,你可以在这个问题上投入更多的硬件不是吗?对,你可以,但是BigQuery基于你分析了多少数据来收费。

Google的价格模型基于存储和分析的数据总量。存储费用是每月0.12GB美元。交互查询为每处理1GB 0.035美元,包查询费用为0.02美元/GB。为了限制处理的数据量,可以限制分析的行数,包括你实际需要结果的列。BigQuery使用柱状数据存储,因此并不是所有的行数据,在一个或者更多列查询时回复。

数据存入BigQuery,使用负载工作,可以同Google Cloud Storage的数据工作,或者使用POST请求本地文件系统中的数据。文件可以格式化成为CSV或者JSON格式。压缩文件限制到1GB,但是非压缩文件能到1TB。负载工作包括多达一万个文件,但是所有文件的大小总和不能超过1TB。由于每天每个表可以拥有多达1000个负载工作,这些定额对于大多数项目不见得有实际的影响。

关于作者

Dan Sullivan,理科硕士、作者、系统架构师兼咨询师,用20多年IT经验。他在高级分析、系统架构、数据库设计、企业安全和商务智能方面很有威望。他熟悉很多产业,包括金融服务、制造业、制药、软件开发、*、零售和教育。Dan撰写文章涉及的范围广泛,包括数据仓库、云计算和高级分析、安全管理、协作以及文本挖掘。