本文共 1535 字,大约阅读时间需要 5 分钟。
Pig编程指南
数据成瘾数据是可以令人上瘾的。在过去数十年里我们收集和存储数据的能力已经大幅度提高。然而我们对于获取更多数据的欲望依旧没有得到满足。科学家们希望能够存储更多的数据以建立可以用来描述这个世界的更好的数学模型。市场营销者想通过数据了解他们的客户的意愿和消费习惯。金融分析师想通过数据更好地了解他们的市场运作情况。还有每个人都想保留各自的数码照片、电影、电子邮件等。计算机和互联网的多次革命大大提高了我们收集和存储数据的能力。在这些革命之前,美国国会图书馆是世界上数据收集量最大的机构之一。曾经估算过它的印刷类书籍刊物包含的信息量大约能达到10TB。如今大型互联网公司一天的数据量就可以达到这么多。同时并非只有网络程序正以惊人的速率产生着数据。例如,计划在智利建造的大口径全景巡天望远镜(LSST)预计将会每天产生20TB的数据。
导致数据这种海量增长的部分原因是我们具有收集更多数据的能力。每当用户在网站上点击网页,Web服务器就会记录下该用户目前停留在哪个页面以及点击了哪些链接这样的信息。高速公路上每当一辆车驶过传感器的时候,车的行驶速度就会被记录下来。但是数据能够如此海量增长的更多原因是我们具备了海量数据存储的能力。十年前,望远镜每天晚上都会对星空拍摄很多的照片,但是这些照片并非全部都能以同一级别的分辨率存储,一些数据信息会被丢弃,因为根本没有足够的空间来存储它们。但是LSST正式运作后,这将不再是个问题。收集和存储海量数据的能力只是满足了我们的数据癖好。
在过去几十年里计算机系统中通常使用的数据存储和数据处理的工具之一就是关系型数据库管理系统(RDBMS)。但是随着数据集的不断增大,只有更高级的(也因此更加昂贵的)关系型数据库管理系统才能够达到目前很多用户所期望的标准。同时,许多涉及处理数据的工程师和科学家们意识到他们并不需要RDBMS提供的每一项功能。这些系统确实很强大而且功能很多,但是许多需要处理TB或者PB级别数据的用户只需要使用其中的一小部分功能。
RDBMS的高成本和非必需的功能导致了一些非主流的数据处理系统的出现,Apache Hadoop就是这些非主流的系统之一。Hadoop是由Doug Cutting 发起的一个开源项目。它是基于Google发表的多篇论文而实现的,这些论文描述了Google的工程师们是如何对他们收集的海量数据进行存储和处理的。在过去的几年,雅虎和其他一些互联网公司共同推动了Hadoop的发展。如果想了解Hadoop的发展历史,请阅读Tom White(O’Reilly出版社出版)所著的 《Hadoop: 编程指南》一书。Hadoop需要被部署到集群机器中,它可以提供一种利用集群力量进行存储和处理的方法。
像Hadoop这样的新型数据处理系统的发展促使了已经存在的工具和语言对Hadoop的移植,以及新工具(如Apache Pig)的构造。像Pig这样的工具为数据使用者提供了一种较高层次的抽象,为使用者提供了一种可以使用到Hadoop强大的处理能力和灵活性的方式,而并不需要他们用低层Java代码来编写大量的数据处理程序。
第1章 初识Pig
1.1 1.2 第2章 安装和运行Pig2.1 2.2 第3章 命令行交互工具Grunt第4章 Pig数据模型第5章 Pig Latin介绍第6章 Pig Latin高级应用第7章 开发和测试Pig Latin脚本第8章 让Pig飞起来第9章 在Python中嵌入Pig Latin脚本第10章 编写评估函数和过滤函数第11章 编写加载函数和存储函数第12章 Pig和其他Hadoop社区的成员转载地址:http://vunil.baihongyu.com/