登录
首页精彩阅读用Google BigQuery做入门级大数据分析
用Google BigQuery做入门级大数据分析
2016-02-21
收藏

用Google BigQuery做入门级大数据分析

大数据项目是比较繁琐的,特别是涉及到配置和管理Hadoop集群。如果你对SQL比MapReduce更熟悉,而关系型数据库尚不能满足你的分析需求,那么可以考虑使用Google的BigQuery,它提供了大数据分析入门级方法。

BigQuery降低了分析大数据集所面临的一些实施困难。它的定价模式很具吸引力,你可以从样本数据中获取有用信息,而不用对完整的数据集做分析。

用Google BigQuery做入门级大数据分析

有时候,处理大数据的一些手段相当于是用精确度换速度。例如,如果你想判断两组客户浏览网站的路径是否有差异,你可以分析该站点上所有相关客户活动的每个日志入口。当然,你也可以抓取客户群的子集(也就是部分客户信息),在样本数据中分析差异。基本的统计可以为你提供理解这类分析错误率的手段,只要差错在可接受范围内,你得出的答案就足够你决策用了。

这种交换可以通过TOP函数得到,该函数返回分组和排序操作中的前几行。返回结果可能比较近似,但是该函数通常比使用“group by”、“order by” 、“limit”相结合的从句要更快速。

Google BigQuery特性

BigQuery是专门为分析上亿行级的数据而设计的,使用类似SQL的语法即可操作。它并不是SQL数据库的替代品,而且不适合事务处理应用。BigQuery支持交互风格的分析,你可以使用“SELECT”语法编写查询,这对任何SQL开发者来说都是再熟悉不过的了。

查询语言包括支持标准操作,比如连接、排序和分组,以及与嵌套数据结构使用操作符。BigQuery也支持聚合函数,比如计数、求和、求平均值、求方差和标准差。分组函数和描述性统计的相结合,使得比较两个群体之间的方法和方差相对更直接一些。

在正常的数据模型中,连接是必不可少的操作,但是可能产生高昂的计算代价。BigQuery函数中的“JOIN”连接操作符与SQL连接类似,但是在连接两个表时,其中一个表的大小必须可以压缩为8MB或更小。这种限制支持实现更有效率的连接操作,因为较小的表可以更有效率地缓存,并连接较大的表。如果你必须连接两个较大的表,你可以使用JOIN EACH操作,但是估计性能会很差。

你可以使用简单的浏览器界面与BigQuery交互。浏览器工具会保留查询历史并提供方便构造查询的工作空间。这是一个很简单很基础的工具,它并没有其他SQL开发工具中的完整功能特性,比如MySQL Workbench或者DBVisualizer。当然,你还可以使用命令行接口。

Google BigQuery的定价模式

Google的定价模式是基于存储数据量和待分析数据量而建立的。存储量价格是每月每GB数据0.12美元。交互式查询处理每GB数据收费0.035美元,批量查询处理每GB数据时0.02美元。要想限制处理的数据量,你可以限制你分析的行数,并且只获取实际需要的字段列作为结果返回。BigQuery采用列式数据存储,所以在查询一列或多个列时,不会提取整行中的所有数据。

数据是通过加载任务载入BigQuery,加载任务可以使用Google云存储中的数据,或者也可以从本地文件系统中获取使用“POST”请求传输。文件格式化为CSV或者JSON格式。压缩文件的大小被限制在1GB之内,但是未压缩文件可以达到1TB。加载任务可以包含多达一万个文件,但是所有文件加起来大小不能超过1TB。因为你每天每个表执行的加载任务可以高达一千个,所以这些限制对绝大多数项目来说是没有实际影响的。

数据分析咨询请扫描二维码

客服在线
立即咨询