map-reduce,hive,pig
之间的差异 猪:它是一种数据流语言,它可以处理任何基本上用于将半结构,非结构化数据转换为结构的数据,以便可以使用窗口函数等在hive高级分析中使用。Hive:处理结构数据并提供sql类型的查询语言。
我知道后端猪和蜂巢使用map -reduces。
我知道map-reduce对于程序员,hive或猪来说可以是sql guy的好工具
我只是想知道是否有任何具体的用例我们去蜂城,猪和地图减少
基本上我们决定在这里使用pig here或者我们必须使用map -reduce。
答案 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生态系统。