草庐IT

reduced_bitmap

全部标签

java - 使用来自 hadoop reduce 的复合主键插入到 cassandra 表

我正在使用ApacheHadoop、MapReduce和Cassandra运行一个MapReduce作业,该作业从一个Cassandra表中读入,然后输出到另一个Cassandra表。我有一些作业输出到具有单个主键的表。例如,这个用于计算每种单词数量的表有一个键。CREATETABLEword_count(wordtext,countint,PRIMARYKEY(text))WITHCOMPACTSTORAGE;关联的reduce类看起来有点像这样:publicstaticclassReducerToCassandraextendsReducer>{publicvoidreduce(T

java - 在 Mapper 类中执行 Reducer 操作

在我的mapper类中,我逐行读取文件并在每行上执行一些字符串操作(即从字符串中删除特殊字符),然后在reducer中将每行存储在一个新文件中。基本上我的reducer只创建文件并将每一行写入新文件,所以我的映射器有可能创建文件而不是将数据传递给reducer。这意味着我不想要reducer并在映射器中执行它的操作。我对Mapreduce了解不多,所以任何类型的帮助都是可观的 最佳答案 是的,你想要的是很有可能的,你需要的是一个只有map的工作。即只有mapper而没有reducer的作业。实现它的方法是在驱动程序类中将reduce

hadoop - 如何知道 yarn cluster 中可用的 reducer 插槽容量

我正在从Hadoop1.0迁移到支持YARN的集群。在1.0中运行临时作业时,我们过去常常根据作业跟踪器中报告的可用性指定reducer的数量,以加快处理速度。现在,在YARN的“所有应用程序”Web链接中,我们看不到任何此类有关可用性的列/信息。是否有任何配置文件或在网络链接中我们可以获得此信息? 最佳答案 Yarn中没有更多的插槽。相反,一切都取决于使用/需求的内存量。您可以配置yarn.nodemanager.resource.memory-mb和yarn.nodemanager.resource.cpu-vcores来控制任

java - 如何将 Hadoop Reducer 的最终输出写入文本文件?

我是Hadoop新手。我试图修改WordCount示例以执行以下任务(将键设置为第二个元素,将第四个和第五个元素设置为该键对应的值,然后根据键值将它们组合在一起并编写最终的结果到一个文本文件中):Input.txt:a:b:c:d:e:fg:h:i:j:k:lm:b:n:o:p:qOutput.txt:b:d:o:e:ph:j:k这是我的代码:publicclassTest{publicstaticclassMapextendsMapReduceBaseimplementsMapper{privateTextword=newText();publicvoidmap(LongWritab

java - Hadoop自定义输出格式,所有reducer什么时候结束?

我正在为hadoop构建自定义输出格式,想知道输出格式中是否有一种方法可以知道所有缩减程序(RecordWriters)何时完成?为了知道一个RecordWriter完成,可以使用RecordWriter的close方法,但是当所有RecordWriter完成时执行一些清理呢? 最佳答案 您可以使用驱动程序本身进行最后的清理,而不是依赖于OutputFormat。我怀疑它是否真的提供了这样的功能(api)。finalize方法可能是最后的手段,但根本不可取。Job的waitForCompletion方法仅在作业完成后返回。所以简单地

hadoop - 我可以为每个节点定义不同的 map 和 reduce 插槽吗?

我想知道是否可以为hadoop集群中的每个节点定义不同数量的槽。例如:tasktracker1:2个map和2个reducetasktracker2:1个映射和1个缩减等等……或者我必须为集群中的所有节点设置槽数非常感谢,,注意:我使用hadoop版本:1.2.1,因为它是最新的稳定版本,但如果有任何版本可以做到这一点,请告诉我 最佳答案 看看mapreduce.tasktracker.map.tasks.maximum和mapreduce.tasktracker.reduce.tasks.maximum。它们都在mapred-si

python - 如何使用 Python 在 MapReduce 中的 reducer 中输出键值对,以便 1 小时内的时间结束?

我有一种情况需要处理一个非常大的文本文件,格式如下:ID\ttime\tduration\tDescription\tstatus我想利用MapReduce来帮助我处理这个文件。我知道MapReduce基于键值对工作。Mapper将输出键和一些值,而MapReduce将确保所有相同的键最终都在1个reducer中。我想要在reducer中结束的是时间间隔在1小时以内的行。然后在reducer中,我想访问所有其他信息以及ID、持续时间、状态来做其他事情。所以我猜想输出的值是一个列表还是什么?我有一些Python代码来处理输入数据。映射器.py#!/usr/bin/envpythonimp

file - java eclipse hadoop map reduce程序无法访问我存储在hdfs中的文件

我的javaeclipsehadoopmapreduce程序显示无法定位输入文件的错误。我已经使用hadoop命令通过终端将文件复制到hadoop目录。我可以在javaeclipsedfs位置看到这些文件。并且还在终端中使用命令hadoopdfs-ls。当我创建一个普通文件夹(不是hdfs)时,问题就解决了。但是随后程序正在从本地文件系统访问文件。我已经在redhat服务器32位上安装了hadoop1.2.1,使用javaeclipseluna,我已经包含了hadoop插件和来自hadoop库的外部jar文件。输入和输出路径通过运行时参数给出 最佳答案

java - 如何为 map reducer 作业在 java 中为 hadoop 输入自定义选择列读取

Hadoop新手,我想了解Hadoop如何读取文件输入:我能够使用下面的代码从2列(键/值)输入文件运行Hadoop作业:但是如果我有5列并且我想要的(键/值)是A&E(而不是A&B)我需要准确修改哪个函数呢?publicclassInverterCounterextendsConfiguredimplementsTool{publicstaticclassMapClassextendsMapReduceBaseimplementsMapper{publicvoidmap(Textkey,Textvalue,OutputCollectoroutput,Reporterreporter)

hadoop - 哪种方法阻止 reducer 在 hadoop yarn 中启动实际的 reduce 阶段?

我是hadoopyarn的新手,希望reducers在完成所有映射之前开始实际的缩减过程。我试图找出调用reducer但找不到的类。任何人都可以在这方面帮助我吗? 最佳答案 在所有映射器完成之前,reducer只能开始收集映射器的输出。这称为shuffle阶段。但是,它们无法启动sorting和reduce阶段,因为它们需要在开始工作之前拥有ALLmap输出记录在他们。原因很简单:想象一下wordcount示例,您想要计算一个词的出现频率。在reduce阶段,如果您在获取所有映射器的输出(即一些计数是缺少这个词),那么,你可能会给出