📜  什么是pig

📅  最后修改于: 2020-12-03 04:18:28             🧑  作者: Mango

什么是Apache Pig

Apache Pig是用于执行Hadoop MapReduce程序的高级数据流平台。 Pig的语言是Pig Latin。

Pig脚本在内部转换为Map Reduce作业,并在HDFS中存储的数据上执行。除此之外,Pig还可以在Apache Tez或Apache Spark中执行其工作。

Pig可以处理任何类型的数据,即结构化,半结构化或非结构化数据,并将相应的结果存储到Hadoop数据文件系统中。使用PIG可以完成的每个任务,也可以使用MapReduce中使用的java来实现。

Apache Pig的功能

让我们看看Pig技术的各种用途。

1)易于编程

对于非程序员来说,编写复杂的Java程序以进行map reduce相当困难。 Pig使此过程变得容易。在Pig中,查询在内部转换为MapReduce。

2)优化机会

任务的编码方式使系统可以自动优化其执行,从而使用户可以专注于语义而不是效率。

3)可扩展性

编写了用户定义的函数,用户可以在其中编写其逻辑以对数据集执行。

4)灵活

它可以轻松处理结构化和非结构化数据。

5)内置运算符

它包含各种类型的运算符,例如sort,filter和join。

Apache MapReduce和PIG之间的区别

Apache MapReduce Apache PIG
It is a low-level data processing tool. It is a high-level data flow tool.
Here, it is required to develop complex programs using Java or Python. It is not required to develop complex programs.
It is difficult to perform data operations in MapReduce. It provides built-in operators to perform data operations like union, sorting and ordering.
It doesn’t allow nested data types. It provides nested data types like tuple, bag, and map.

Apache Pig的优点

  • 更少的代码-Pig消耗更少的代码行来执行任何操作。
  • 可重用性-Pig代码足够灵活,可以再次重用。
  • 嵌套数据类型-Pig提供了一个有用的概念,例如元组,包和地图等嵌套数据类型。