蜂巢,猪,地图减少用例之间的差异

时间:2014-10-29 15:23:48

标签: hadoop mapreduce hive apache-pig

map-reduce,hive,pig

之间的差异 猪:它是一种数据流语言,它可以处理任何基本上用于将半结构,非结构化数据转换为结构的数据,以便可以使用窗口函数等在hive高级分析中使用。

Hive:处理结构数据并提供sql类型的查询语言。

我知道后端猪和蜂巢使用map -reduces。

我知道map-reduce对于程序员,hive或猪来说可以是sql guy的好工具

我只是想知道是否有任何具体的用例我们去蜂城,猪和地图减少

基本上我们决定在这里使用pig here或者我们必须使用map -reduce。

4 个答案:

答案 0 :(得分:0)

Map-Reduce:具有比猪或蜂巢更好的性能,但需要更多的开发时间。

PIg:与map-reduce相比,开发时间更短但性能更差。

Hve:SQL类型语言,具有一些很好的功能,如分区和分区,以提高性能读取。同时,hive在读取时强制执行模式。

答案 1 :(得分:0)

Pig用于格式化非结构化/半结构数据格式。假设您的数据中有时间戳,而不是Hive时间戳格式。您可以使用pigUDF进行转换并格式化数据。这只是一个示例解释。你可以用Pig做更多的事情。

Hive主要用于结构化数据。这可能不适用于非结构化数据。这需要更多的时间来执行,因为它转换为Mapreduce作业。我建议你使用比hive快得多的impala。

答案 2 :(得分:0)

Pig是一种数据流语言。这意味着您不能使用if语句或循环。 如果你需要做很多重复,最好学习mapreduce。

你可以通过将pig嵌入python脚本来解决这个问题,但这需要更长的时间,因为它必须在循环的每次迭代中加载所有jar文件。

基本上,它可以归结为您花费多少时间进行原型设计与您拥有多少生产工作。 如果您是数据科学家或分析师,那么您的大多数工作都是需要大量原型设计的新项目。这意味着您关心快速获得结果。然后你会喜欢猪或蜂巢。 如果您是一个开发团队,那么您希望根据不需要测试的商定方法构建健壮的代码,然后您更喜欢mapreduce。

像Cloudera这样的公司提供了一套Pig,Hive和其他Hadoop工具,所以你不必在两者之间做出选择。

答案 3 :(得分:0)

Map Reduce是hadoop的内部组件,其他Pig和hive是hadoop eco系统,它意味着在hadoop的顶部运行。 mapreduce,pig和hive目的都是以不同的方式处理大量数据。

Mapreduce :apache实现了它。非常值得推荐处理整个数据,它耗费时间和所需的程序技能,如java(强烈推荐),pyghon,ruby和其他编程语言。总数据使用mapper和reducer函数进行聚合和排序。 Hadoop默认使用它。

Hive :Facebook实施了它。大多数分析师尤其bigdata analysts使用此工具来分析数据,尤其是结构数据。后端此配置单元工具使用mapreduce进行处理。内部Hive使用称为HQL的特殊语言,它是SQL语言的子集。谁是SQL的好人,他们可以和Hive一起去。它强烈推荐面向Datawarehouse的项目。处理非结构化特别是无模式数据非常困难。

<强>猪: Pig是一种脚本语言,由雅虎实现。主difference between pig and Hive是猪可以处理任何类型的数据,无论是结构化数据还是非结构化数据。这意味着它非常值得推荐用于流媒体数据,如卫星生成数据,直播事件,无模式数据等。猪首先加载数据,程序员编写程序依赖于数据使其结构化。谁是编程语言方面的专家,他们将选择这个Hadoop生态系统。