草庐IT

Mapreduce1

全部标签

hadoop - Pig 到底什么时候使用 Hadoop MapReduce 环境?

我对HadoopMapreduce和Pig环境有疑问。在thisthread中,我发现PigLatin代码被Pig系统解释了。首先,我认为Pig使用map和reduce方法创建.jar文件,然后将此文件“发送”到HadoopMapreduce环境以运行mapreduce作业(这是Pig开发人员future的工作)。那么,PigSystem到底在什么时候使用HadoopMapreduce?它是在解释PigLatin代码的某个地方吗?或者,如果我换句话说问我的问题:作为输入发送到HadoopMapreduce的Pig的输出是什么?非常感谢您的回答。 最佳答案

scala - 学习mapreduce,如何在map reduce数据流中翻译SQL命令。字数统计示例不能满足我的理解。

在网上,我看到了很多关于规范字数统计图减少遍历的示例。我了解k,v的映射器输入=>以减少k,list(v)的输入。mapreduce带来了一些神奇的效果。我不太明白如何将mapreduce应用于更实际的示例。例如:假设我有一个文件,其中包含美国所有员工的薪水以及一些其他详细信息,例如州和城市等......mapreduce如何工作以提供包含以下列汇总的输出报告?州,城市,平均(工资)在SQL中,我可以通过这样的查询得到它:Selectstate,city,avg(salaries)Fromemployee_tblGroupbystate,citymapreduce将如何为我提供上述结果

hadoop - mapreduce 如何共享全局常量变量

我怎样才能允许我的所有映射器访问一个变量,例如TreeMap对象,而不需要每个映射器每次都重新构造TreeMap?对象一旦构造就不会再被修改。 最佳答案 考虑将TreeMap对象的内容放在DistributedCache中.如果是少量数据,您可以将对象内容放在您的配置对象中:conf.set("key","value");然后使用JobConf对象在您的映射器中访问它。 关于hadoop-mapreduce如何共享全局常量变量,我们在StackOverflow上找到一个类似的问题:

serialization - 在 Hadoop MapReduce 中为 Java 类型设置可写包装器类的原因是什么?

在我看来,可以编写一个org.apache.hadoop.io.serializer.Serialization来直接以包装类将类型序列化为相同的格式来序列化java类型。这样Mappers和Reducers就不必处理包装类。 最佳答案 没有什么可以阻止您更改序列化以使用不同的机制,例如javaSerializable接口(interface)或thrift、ProtocolBuffer等。事实上,Hadoop为JavaSerializable提供了一个(实验性的)序列化实现。对象-只需配置序列化工厂即可使用它。默认序列化机制是Wr

hadoop - 有没有办法使用 JDBC 作为 Hadoop 的 MapReduce 的输入资源?

我在PostgreSQL数据库中有数据,我想获取它、处理它并将其保存到HBase数据库中。是否可以在Map操作中以某种方式分发JDBC操作? 最佳答案 是的,你可以通过DBInputFormat来做到这一点:DBInputFormat使用JDBC连接到数据源。因为JDBC被广泛实现,DBInputFormat可以与MySQL、PostgreSQL和其他几个数据库系统一起使用。个别数据库供应商提供JDBC驱动程序以允许第三方应用程序(如Hadoop)连接到他们的数据库。DBInputFormat是一个InputFormat类,它允许您

java - 在类路径中找不到 Hadoop 配置,使用 Java 从本地在服务器中运行 mapreduce

所以,importjava.io.IOException;importjava.util.Properties;importorg.apache.pig.ExecType;importorg.apache.pig.PigServer;publicclassCommitPig{publicstaticvoidmain(String[]args){try{StringpigScript="category_count.pig";pigScriptReaderpsReader=newpigScriptReader();psReader.readPigScript(pigScript);}ca

java - 在 Java 中使用 Avro 的 MapReduce : String vs CharSequence vs Utf8 data types

我是使用Avro编写HadoopMapReduce的初学者,不清楚传入map/reduce方法与PairwithString、CharSequence或Utf8之间有什么区别?如果字符串只是简单的“helloworld”之类的东西怎么办?例如,这里有一个简单的映射方法,在本例中使用CharSequence作为输出键类型:publicvoidmap(Pairdatum,AvroCollector>collector,Reporterreporter)throwsIOException{Integernumber_one=newInteger(1);Stringoutput_key="he

hadoop - 为什么我们需要 MapReduce 中的 "map"部分?

MapReduce编程模型由2个过程组成,map和reduce。当我们可以简单地在reduce函数中进行映射时,为什么我们需要映射部分。考虑以下伪代码:result=my_list.map(my_mapper).reduce(my_reducer);这可以缩短为result=my_list.reduce(lambdax:my_reducer(my_mapper(x)));第一种方法如何比第二种方法更受欢迎,而第一种方法需要多传递一次数据?我的代码示例过于简单了吗? 最佳答案 好吧,如果您指的是Hadoop风格的MapReduce,它

java - 试图理解一个基本的 WordCount MapReduce 示例

最近开始使用Hadoop并努力理解一些事情。这是我正在查看的基本WordCount示例(计算每个单词出现的次数):Map(Stringdocid,Stringtext):foreachwordtermintext:Emit(term,1);Reduce(Stringterm,Iteratorvalues):intsum=0;foreachvinvalues:sum+=v;Emit(term,sum);首先,Emit(w,1)应该做什么?我注意到在所有示例中,我看到第二个参数始终设置为1,但我似乎找不到相关解释。此外,只是为了澄清一下-我说term是键,而sum在Reduce中形成键值对

android - 在可移植设备上运行 mapreduce

我听说有人在googlenexusone上成功运行了mapreduce。没有关于在android上运行完整集群mapreduce的性能的更多信息。我真的很想在手机上以相对少量的数据非集群模式运行mapreduce,完全使用hadoop真的值得吗?有没有任何地方可用的剥离版本?还有其他选择吗? 最佳答案 使用像mapreduce这样的进程的全部意义在于将工作负载同时分散到多台计算机上,从而实现当前计算机无法实现的并发性。如果您没有任何联合多个Android设备的计划,那么几乎不需要使用hadoop之类的东西。如果您可以加载设备上的所有