何时使用Pig以及何时使用java进行Mapreduce?

时间:2012-12-27 10:04:02

标签: hadoop

根据我的知识,我们可以使用pig用于Mapreduce.And也可以使用它。你能解释一下我在哪种情况下使用它?

1 个答案:

答案 0 :(得分:3)

如果您可以在Pig(或Hive)中执行此操作,请在Pig(或Hive)中执行此操作。

否则,请在Java MapReduce中执行此操作。


猪的好处:

  • 像CSV这样的结构化数据非常容易加载和使用
  • 并不比Java慢很多
  • 不容易出现Java级错误
  • 更易于阅读和书写
  • 无需编译:易于维护,易于部署

有些事情你可能认为你最初不能在Pig中做,并且想要使用Java,但是一旦你了解了它,你就可以在Pig中做到这一点:

这里有一些,但你明白了。 Pig是非常可定制的,一般来说,你最终会编写更少的Java。


基本的东西很容易。我们可以通过一些努力来完成分层数据结构和自定义加载等操作。好的,那还剩下什么?

  • 使用分区程序来执行MapReduce不适用的事情。
  • 非常令人讨厌的数据格式或完全非结构化数据(视频,音频,原始人类可读文本)
  • 在DistributedCache中执行复杂操作(可以使用JOIN and USING 'replicated'
  • 完成基本操作

希望其他人可以在评论中添加他们在Pig中无法做的事情。