1

我了解到 Pig 是建立在 Apache Hadoop 之上的。但是我无法找到 Pig 所缺少的裸 hadoop 实现所缺少的额外功能。是什么导致需要像猪拉丁语这样的语言?Hadoop 缺少什么?

4

1 回答 1

2

引用维基:

Pig 是用于创建与 Hadoop 一起使用的 MapReduce 程序的高级平台。该平台的语言称为 Pig Latin。Pig Latin 将 Java MapReduce 习语中的编程抽象为一种表示法,使 MapReduce 编程高级,类似于用于 RDBMS 系统的 SQL。Pig Latin 可以使用 UDF(用户定义函数)进行扩展,用户可以用 Java、Python 或 JavaScript 编写,然后直接从该语言调用。

现在,上面的关键字是high-levelabstracts。我们让 DBA 无需了解任何主要编程语言(但对于 SQL)就可以创建/管理数据库的方式,类似地,我们可以让数据工程师使用 Pig 创建/管理数据管道/仓库,而无需了解如何/是什么的复杂性作为hadoop作业实施/执行。因此,为了回答您的问题,Pig 并不能补充 Hadoop 所缺乏的任何功能,而它只是一个构建在顶级 hadoop 之上的高级框架,可以更快地做事(开发时间)。

您当然可以完成 Pig 对 Hadoop 所做的所有事情,但尝试 Pig 的一些高级功能并为它们编写 hadoop 作业将需要一些真正的好时间。因此,非常宽泛地说,一些在整个数据工程中通用/常见的任务已经预先以 Pig 的形式在裸 hadoop 中实现,您只需要在 Pig-Latin 中告诉它执行即可。

于 2013-04-28T06:21:45.877 回答