猪和蜂巢的区别?为什么两者都有? [英] Difference between Pig and Hive? Why have both?

查看:35
本文介绍了猪和蜂巢的区别?为什么两者都有?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的背景 - 在 Hadoop 世界中 4 周大.使用 Cloudera 的 Hadoop VM 涉足了 Hive、Pig 和 Hadoop.已阅读 Google 关于 Map-Reduce 和 GFS 的论文(PDF 链接).

My background - 4 weeks old in the Hadoop world. Dabbled a bit in Hive, Pig and Hadoop using Cloudera's Hadoop VM. Have read Google's paper on Map-Reduce and GFS (PDF link).

我明白-

  • Pig 的语言 Pig 拉丁语是一种转变from(适合程序员的思维方式)类似 SQL 的声明式风格编程和 Hive 的查询语言紧密结合类似于 SQL.

  • Pig's language Pig Latin is a shift from(suits the way programmers think) SQL like declarative style of programming and Hive's query language closely resembles SQL.

Pig 位于 Hadoop 之上,并在原理也可以坐在上面树妖.我可能错了,但 Hive 是与 Hadoop 紧密耦合.

Pig sits on top of Hadoop and in principle can also sit on top of Dryad. I might be wrong but Hive is closely coupled to Hadoop.

Pig Latin 和 Hive 命令编译为 Map 和 Reduce 作业.

Both Pig Latin and Hive commands compiles to Map and Reduce jobs.

我的问题 - 当一个(比如 Pig)可以达到目的时,同时拥有两者的目标是什么.是不是因为 Pig 被 Yahoo! 传福音了?和 Facebook 的 Hive?

My question - What is the goal of having both when one (say Pig) could serve the purpose. Is it just because Pig is evangelized by Yahoo! and Hive by Facebook?

推荐答案

看看这个 post 来自 Yahoo! 的 Pig 架构师 Alan Gates,比较了何时使用 Hive 之类的 SQL 而不是 Pig.关于像 Pig 这样的过程语言(与声明式 SQL)的用处及其对数据流设计者的效用,他提出了一个非常有说服力的案例.

Check out this post from Alan Gates, Pig architect at Yahoo!, that compares when would use a SQL like Hive rather than Pig. He makes a very convincing case as to the usefulness of a procedural language like Pig (vs. declarative SQL) and its utility to dataflow designers.

这篇关于猪和蜂巢的区别?为什么两者都有?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆