草庐IT

reduce_dim

全部标签

hadoop - 如果 2 个映射器输出相同的键,reducer 的输入是什么?

我在学习Mapreduce的过程中有以下疑惑。如果有人能回答,将会有很大的帮助。我有两个映射器处理同一个文件-我使用MultipleInputFormat配置它们映射器1-预期输出[提取文件的几列之后]a-1234b-3456c-1345映射器2预期输出[提取同一文件的几列后]a-Mondayb-Tuesdayc-Wednesday还有一个reducer函数,它只输出它作为输入获得的键值对所以我希望输出是我所知道的,相似的键将被洗牌以制作一个列表。a-[1234,Monday]b-[3456,Tuesday]c-[1345,Wednesday]但是我得到了一些奇怪的输出。我猜只有1个M

hadoop - 使用Hadoop Map reduce处理和拆分大数据?

我在文本文件中有大量数据(1,000,000行)。每行有128列。现在我正在尝试用这个大数据构建一个kd树。我想使用mapreduce进行计算。针对我的问题的蛮力方法:1)编写一个mapreduce作业来查找每一列的方差并选择方差最高的列2)将(列名,方差值)作为输入编写另一个mapreduce作业将输入数据分成两部分。对于给定的列名,第1部分包含所有值小于输入值的行,第二部分包含大于输入值的所有行。3)对于每个部分重复步骤1和步骤2,继续该过程,直到每个部分剩下500个值。列名称、方差值构成我的树的单个节点。因此,对于高度为10的树,我需要使用蛮力方法运行1024个mapreduce

hadoop - 在 Apache Spark 中使用 Reduce

我正在尝试使用Apachespark加载一个文件,并将该文件分发到我集群中的多个节点,然后聚合结果并获取它们。我不太明白该怎么做。根据我的理解,reduce操作使Spark能够组合来自不同节点的结果并将它们聚合在一起。我的理解正确吗?从编程的角度来看,我不明白我将如何编写这个reduce函数。我究竟如何将主数据集分成N个部分,并使用转换列表要求它们并行处理?reduce应该接受两个元素和一个将它们组合起来的函数。这两个元素应该是Spark上下文中的RDD,还是可以是任何类型的元素?另外,如果你有N个不同的分区并行运行,如何减少将它们的所有结果聚合为一个最终结果(因为reduce函数只聚

java - 在 AWS EMR 上运行 WordCount 示例 map reduce

我正在尝试在AWSEMR上运行字数统计示例,但是我很难在集群上部署和运行jar。这是一个自定义的字数统计示例,我在其中使用了一些JSON解析。输入在我的S3存储桶中。当我尝试在EMR集群上运行我的作业时,我收到错误消息,即在我的Mapper类中找不到主要功能。互联网上到处都是字数统计示例mapreduce作业的代码就像他们创建的一样,三个类,一个扩展Mapper的静态映射器类,然后是扩展Reducer的reducer,然后是包含作业配置的主类,所以我不确定为什么会看到错误。我使用Maven程序集插件构建我的代码,以便将所有第三方依赖项包装在我的JAR中。这是我编写的代码packagec

java - 不考虑 Mapper 和 Reducer 接口(interface)

这是我的映射函数标题行publicstaticclassPageMapperextendsMapper这是我的Reducer函数头publicstaticclassPageReducerextendsReducer`编译代码时PageRank.java:30:error:nointerfaceexpectedhereextendsMapperPageRank.java:61:error:nointerfaceexpectedherepublicstaticclassPageReducerextendsReducer这里为什么不接受Mapper和Reducer。谁能帮忙吗

SQL 按 map-reduce 中的等价物分组

我运行的大多数查询都采用这种格式:SELECTCOUNT(*),A.a1FROMAWHEREA.a2='x'GROUPBYA.a1A表是一个包含csv文件的hdfs文件夹。因为hive慢得离谱,我如何在map-reduce中实现这个查询?谢谢 最佳答案 您的SQL查询可以映射到MapReduce的HelloWorld等效项:WordCount。我怀疑自定义实现是否可以比Hive(编译为MapReduce)快得多,但这是如何做到的:TextInputFormat->(pos,line)(pos,line)->Mapper:解析/标记行

hadoop - 如何编写简单的 map-reduce 作业以将制表符分隔的文本文件转换为序列文件?

我想将一个文本文件作为映射器的输入并输出一个序列文件。如何编写一个简单的map-reduce作业?文本文件将具有制表符分隔值。例如输入:group112345对于这样的输入,我想创建输出序列文件,其键为“group1”,其值应为12345的向量。我怎样才能写这些工作?另外我觉得在这种情况下我不需要reducer。在这种情况下如何编写identityreducer作业?我可以跳过编写reducer作业吗?感谢任何帮助。问候。 最佳答案 是的,您可以跳过编写Reducer。将其设置为简单的Reducer.class。同时调用setNum

eclipse - 在 Eclipse 中运行 Map Reduce 程序

我有一个Map/Reduce程序,它加载一个文件并将其读入hbase。如何通过Eclipse执行我的程序?我用谷歌搜索并找到了两种方法:1)UsingEclipseHadoopplugin2)CreateajarfileandexecuteitinHadoopserver但是,我可以通过提供连接详细信息并在eclipse中运行来执行我的Map/Reduce程序吗?任何人都可以告诉我运行HbaseMap/Reduce程序的确切过程吗? 最佳答案 我做了以下事情:在我的机器上安装并配置了hadoop(和hdfs)使用我的hadoop作业

unit-testing - 如何让 HBaseTestingUtility 在 map reduce 作业中查找类?

我们正在使用cdh3u4、Hadoop和HBase。在启动HBaseTestingUtility提供的miniMapReduceCluster之后,我正在尝试运行一个单元测试以启动MapReduce作业。作业失败并在map和reducer任务stderr日志中显示:Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/hadoop/mapred/ChildCausedby:java.lang.ClassNotFoundException:org.apache.hadoop.mapred.Childatjava.

eclipse - 如何在windows的eclipse中配置map reduce插件(Hadoop安装在Linux服务器上)

我正在尝试从Windows连接到hadoop集群不属于hadoop集群的机器..基本上我们在linux服务器机器上安装了hadoop..所以没有GUI可用的。因此,出于这个原因,我们要做的是运行eclipse在Windows机器上使用hadoopeclipse插件..并尝试从Windows机器。我不知道如何运行mapreduce从这台windows机器到hadoop主节点的程序.. 最佳答案 您可以通过安装Cygwin在windows中拥有Map-Reduce的开发环境您将需要:Cygwin配置ssh守护进程启动SSH守护进程设置授