草庐IT

java - Hadoop Map/Reduce Mapper 'map' 方法和日志

我最近被要求研究加速mapreduce项目。我正在尝试查看在实现以下类的“map”方法中生成的log4j日志信息:org.apache.hadoop.mapred.Mapper在这个类中有以下方法:@Overridepublicvoidconfigure(..){..}publicstaticvoiddoCompileAndAdd(..){..}publicvoidmap(..){..}记录信息可用于配置方法和doCompileAndAdd方法(从配置方法调用);但是,没有显示“map”方法的日志信息。我也试过在map方法中简单地使用System.out.println(..)但没有成

java - 用于时间序列数据的 Cassandra Map Reduce

如何从映射器中访问Cassandra列族?具体来说,如何将map()方法的参数转换回我期望的java类型?Key{logType}->{列名:timeUUID,列值:csvlogline,ttl:1year}感谢@Chris&@rs_atl我成功运行了hadoop作业,这里是完整的代码:packagecom.xxx.hadoop;importjava.io.IOException;importjava.nio.ByteBuffer;importjava.util.Iterator;importjava.util.SortedMap;importorg.apache.cassandra.

hadoop - 哪个类将 Hive & Ping 解析为 Map Reduce

哪个是将pig和hive命令解析为MapReduce作业的类,这种解析背后的算法是什么? 最佳答案 Pig和Hive都使用ANTLR构建一个编译器来解析他们的脚本。如果你对编译原理不熟悉,建议你阅读一些相关资料。对于Pig,ANLTR的源代码是src/org/apache/pig/parser/QueryLexer.g和src/org/apache/pig/parser/QueryParser.g。它们将被编译为org.apache.pig.parser.QueryLexer和org.apache.pig.parser.QueryP

Hadoop 映射器发出一个唯一的键。我可以在每个 map 之后执行 reducer 吗?

我的映射器发出'uniqkey'-'非常大的值(value)'对。我的reducer不知道key是唯一的。因此,reducer会等待所有映射器完成。我尝试使用组合器,但这对我来说不是一个简单的解决方案,因为我的reducer非常复杂。我的问题是如何在每个map之后执行reducer?不使用组合器。 最佳答案 如果您的key是唯一的,则无需减少它们。因此只需将reducer代码复制粘贴到mapper并将reducer编号设置为零。顺便说一句,有很多mapreduce作业不需要reduce步骤,所以这并不奇怪。

java - 从节点可以运行Hadoop Map/Reduce Job吗?

我在两个节点(主节点和从节点)上安装了Hadoop。我会问我是否可以从从机运行Map/Reduce作业或从从机使用HDFS。从主节点运行map/reduce作业没有问题,但是当我尝试从从节点运行Map/Reduce作业时,出现以下错误。Java.net.connectionException因连接异常而失败。 最佳答案 只要每个节点都配置了正确的jobtracker位置属性,您就可以从集群中的任何机器运行作业。事实上,您可以在任何机器上运行作业,包括您的个人台式机或笔记本电脑,只要您连接到服务器(也就是说,没有防火墙挡在您的路上)并

java - 如何从 Map-Reduce 中的多个目录读取多个文件

我想在Map-Reduce程序中从多个目录读取多个文件。我试图在main方法中给出文件名:FileInputFormat.setInputPaths(conf,newPath("hdfs://localhost:54310/user/test/"));FileInputFormat.setInputPaths(conf,newPath("hdfs://localhost:54310/Test/test1/"));但它只读取一个文件。读取多个文件应该怎么办?请提出解决方案。谢谢。 最佳答案 FileInputFormat#setInp

hadoop - 有什么方法可以防止在所有 map task 完成之前 reduce task 开始

我想在Hadoop集群上同时运行多个作业,但我想阻止某些作业在该作业的所有映射任务完成之前开始缩减阶段(使缩减槽繁忙或保留)。是否有任何配置可以像上面那样设置主题限制?谢谢。 最佳答案 减少慢启动默认情况下,调度程序会等待作业中5%的maptask完成为同一工作安排reducetask。对于大型作业,这可能会导致问题集群利用率,因为它们在等待map任务时占用reduce槽完全的。将mapred.reduce.slowstart.completed.maps设置为更高的值,例如0.80(80%),有助于提高吞吐量。引用:Hadoop权

hadoop - map() 和 reduce() 应该返回相同类型的键/值对吗?

在编写MapReduce作业(如果相关,特别是Hadoop)时,必须定义一个map()和一个reduce()函数,两者都会产生一系列键/值对。键和值的数据类型由应用程序自由定义。在字数统计的典型示例中,这两个函数都产生类型为(string,int)的对,键是一个字,值是出现次数。在这里-以及我见过的所有其他示例-输出的键和值类型在两个函数之间是一致的。map()和reduce()生成的键/值对的类型必须/应该在任何MapReduce应用程序中相同吗?如果是:为什么? 最佳答案 没有。显然,map的输出对类型和reduce的输入对类型

hadoop - map-reduce 是否可以有多个输出文件?

在我的输入文件中,我有一列作为国家/地区。现在,我的任务是将特定国家/地区的记录放入以该国家/地区命名的单独文件中。这可能在Map-reduce中做吗?!请分享您对此的看法。 最佳答案 是的,在hadoop中你可以使用MultipleOutputFormat要做到这一点,使用它的generateFileNameForKeyValue方法。使用您的国家/地区名称作为键并使用记录作为值,这应该完全按照您的需要工作。 关于hadoop-map-reduce是否可以有多个输出文件?,我们在Sta

scala - Spark 会使用此 sortByKey/map/collect 序列保留键顺序吗?

让我们说,我们有这个。valsx=sc.parallelize(Array((0,39),(4,47),(3,51),(1,98),(2,61)))我们后来称之为。valsy=sx.sortByKey(true)这会让sy=RDD[(0,39),(1,98),(2,61),(3,51),(4,47)]然后我们做collected=sy.map(x=>(x._2/10,x._2)).collect我们会一直得到以下信息吗?我的意思是,尽管更改了键值,是否会保留原始键顺序?collected=[(3,39),(9,98),(6,61),(5,51),(4,47)]