开发者社区> 萌萌怪兽> 正文

数据库必知词汇:Pig

简介: Apache Pig 是一个高级过程语言,特点是其结构易于大量并行化,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。
+关注继续查看

Apache Pig 是一个高级过程语言,特点是其结构易于大量并行化,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。

用MapReduce进行数据分析。当业务比较复杂的时候,使用MapReduce将会是一个很复杂的事情,比如你需要对数据进行很多预处理或转换,以便能够适应MapReduce的处理模式。另一方面,编写MapReduce程序,发布及运行作业都将是一个比较耗时的事情。Pig的出现很好的弥补了这一不足。Pig能够让你专心于数据及业务本身,而不是纠结于数据的格式转换以及MapReduce程序的编写。本质是上来说,当你使用Pig进行处理时,Pig本身会在后台生成一系列的MapReduce操作来执行任务,但是这个过程对用户来说是透明的。

Pig为大型数据集的处理提供了一个更高层次的抽象。Pig包括两部分:一是用于描述数据流的语言,称为Pig Latin;二是用于运行Pig Latin程序的执行环境。要编写数据分析程序,Pig提供了一种称为 Pig Latin 的高级语言。该语言提供了各种操作符,程序员可以利用它们开发自己的用于读取,写入和处理数据的功能。
要使用 Apache Pig 分析数据,程序员需要使用Pig Latin语言编写脚本。所有这些脚本都在内部转换为Map和Reduce任务。Apache Pig有一个名为 Pig Engine 的组件,它接受Pig Latin脚本作为输入,并将这些脚本转换为MapReduce作业。
Pig Latin 是一个相对简单的语言,它可以执行语句。一调语句 就是一个操作,它需要输入一些内容(比如代表一个元组集的包),并发出另一个包作为其输出。一个包 就是一个关系,与表类似,您可以在关系数据库中找到它(其中,元组代表行,并且每个元组都由字段组成)。

资料来源:
使用 Apache Pig 处理数据 https://www.ibm.com/developerworks/cn/linux/l-apachepigdataquery/
Apache Pig http://pig.apache.org/
Apache Pig 教程 https://www.w3cschool.cn/apache_pig/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库必知词汇:MapReduce
MapReduce是一种编程模型,其基于“映射”与“归约”的思想,把一堆杂乱无章的数据按照某种特征归纳起来,然后处理并得到最后的结果。MapReduce编程思想是将用于解决一些大问题可以被分解为许多子问题的场景,且这些子问题相对独立,将这些子问题并行处理完后,大问题也就被解决。
461 0
数据库必知词汇:Sqoop
Apache Sqoop是一个用于在Apache Hadoop和关系数据库等结构化数据存储之间高效传输大容量数据的开源工具。主要用于在Hadoop(Hive)与传统的数据库间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。此外,对于某些NoSQL数据库Sqoop也提供了连接器。
332 0
数据库必知词汇:Hive
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和JDBC驱动程序以将用户连接到Hive。
701 0
数据库必知词汇:Mahout
Mahout 是 Apache基金会旗下的一个开源项目,其提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。
283 0
数据库必知词汇:HBase
HBase是一个分布式的、面向列的开源数据库,也是高可靠性、高性能、面向列、可伸缩的分布式存储系统,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”,是谷歌BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据。。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
593 0
数据库必知词汇:Cassandra
Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案,线性可扩展性和在商用硬件或云基础架构上经过验证的容错能力使它成为关键任务数据的理想平台。
837 0
数据库必知词汇:Hadoop
Apache Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它被设计成从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身的设计目的是在应用层检测和处理故障,而不是依赖硬件来提供高可用性,因此在计算机集群之上提供高可用性服务,而每个集群都可能容易出现故障。
522 0
数据库必知词汇:Bigtable
BigTable是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库。BigTable是非关系型数据库,是一个稀疏的、分布式的、持久化存储的多维度排序Map。Bigtable的设计目的是快速且可靠地处理PB级别的数据,并且能够部署到上千台机器上。
534 0
数据库必知词汇:MADLib
Apache MADlib是Pivotal与UCBerkeley合作的一个基于SQL的数据库内置的可扩展的开源机器学习库,提供了精确的数据并行实现、统计和机器学习方法对结构化和非结构化数据进行分析。MADlib提供了丰富的分析模型,包括回归分析,决策树,随机森林,贝叶斯分类,向量机,风险模型,KMEAN聚集,文本挖掘,数据校验等。
629 0
数据库必知词汇:NoSQL
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
525 0
+关注
萌萌怪兽
云栖社区老同学,软件工程学生党。研究兴趣:软件工程、软件架构设计、软件过程、DevOps以及微服务等。
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
HBase在时间序列数据库中的应用
立即下载
分析性数据库2.0深入技术解析
立即下载
阿里巴巴海量数据场景下的列式数据库 HiStore
立即下载