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

日期: 2013-05-27 作者:Dan Sullivan翻译:冯昀辉 来源:TechTarget中国 英文

大数据项目是比较繁琐的,特别是涉及到配置和管理Hadoop集群。如果你对SQL比MapReduce更熟悉,而关系型数据库尚不能满足你的分析需求,那么可以考虑使用Google的BigQuery,它提供了大数据分析入门级方法。   BigQuery降低了分析大数据集所面临的一些实施困难。它的定价模式很具吸引力,你可以从样本数据中获取有用信息,而不用对完整的数据集做分析。

  有时候,处理大数据的一些手段相当于是用精确度换速度。例如,如果你想判断两组客户浏览网站的路径是否有差异,你可以分析该站点上所有相关客户活动的每个日志入口。当然,你也可以抓取客户群的子集(也就是部分客户信息),在样本数据中分析差……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

大数据项目是比较繁琐的,特别是涉及到配置和管理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。因为你每天每个表执行的加载任务可以高达一千个,所以这些限制对绝大多数项目来说是没有实际影响的。

作者

Dan Sullivan
Dan Sullivan

Dan Sullivan是一名作家、系统架构师和顾问,拥有超过20年关于先进的分析、系统架构、数据库设计、企业安全、商业智能的IT从业经验。他的从业范围广泛,包括金融服务业、制造业、医药、软件开发、政府、零售、天然气和石油生产、发电、生命科学和教育。

相关推荐