草庐IT

reducing

全部标签

hadoop - 如何在 HBase 上配置 map reduce jobs

我有一个在HBase表上运行的mapreduce作业。它在应用一些扫描过滤器并进行一些处理后扫描Hbase表。这项工作花费了很长时间,绝对比预期的要长得多,并且感觉性能下降是指数级的(即,前90%的完成速度比其余的快得多,大约98%(映射器完成)之后,看起来像像电影开始时的hell边缘一样陷入永恒。从高层来看,这种不均衡的性能应该没有任何理由,因为扫描中的每一行都应该有类似的行为,并且下游服务应该在HBase表的每一行都有类似的SLA。如何调试和分析此作业?是否有任何可用的工具可以帮助我对系统进行计量并查明行为异常的组件? 最佳答案

Hadoop reducer : How to ensure the reducers are evenly running over a number of nodes

我有一个场景,我不确定减少处理器的位置。i)我有一个输入文本文件,它有1到4之间平衡范围内的1000个整数。ii)让我们假设有一个4节点集群,每个节点有12个槽,其中4个分配为reducer-总共有16个reduce槽iii)我在驱动程序中设置了reducer的数量:jobConf.setNumReduceTasks(4);iii)最后我有一个分区方法是publicclassMyPartitionerextendsPartitioner{@OverridepublicintgetPartition(Textkey,Textvalue,intnumPartitions){returnIn

java - 如何在 map reduce 程序中解析 PDF 文件?

我想在我的hadoop2.2.0程序中解析PDF文件,我找到了this,按照它说的,直到现在,我有这三个类:PDFWordCount:包含map和reduce函数的主类。(就像nativehadoopwordcount示例,但我使用了我的TextInputFormat类而不是PDFInputFormat。PDFRecordReaderextendsRecordReader:这是这里的主要工作。特别是我把我的initialize此处的函数以获得更多说明。publicvoidinitialize(InputSplitgenericSplit,TaskAttemptContextcontex

java - Hadoop/Mapreduce Reducer 不工作

我从GitHub下载了有关K-MEANS算法(在hadoop中)的信息。但是,这仅适用于映射器。(因为输出文件名为“part-m-00000”)我希望减少输出文件。我的HDFS命令:./bin/hadoopjarKmeans.jar主要输入输出plz..一些人帮助我!!!!这里是Main.classimportjava.io.IOException;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.FileSystem;importorg.apache.hadoop.fs.Path;importo

java - 如果我们有 12 个分区键,而我们只有 8 个 Reducer,那么会生成多少个 op 文件?

如果我们有12个分区键而我们只有8个Reducer,将创建多少个op部分文件?创建的零件文件数量是否为12,即使4个reducer可以用于2个键。IE。1个reducer是否会发出2个部分文件,因为它使用2个键(对于4个Reducer)或者两个键的数据(给1个Reducer)将合并到一个部分文件中,因此只生成8个部分文件? 最佳答案 如果4个reducer为2个键工作,则创建的部分文件的数量将为8。一个reduce任务将只生成一个部分文件,即使它需要多个键。一个reduce任务分区可能包含多个键,并且它们是排序的。减少Reducer

java - 使用 native 协议(protocol)的 Cassandra 自定义 map-reduce 输入格式化程序

我正在使用ApacheCassandra(1.2)和ApacheMap-Reduce处理一些数据。目前,我使用org.apache.cassandra.hadoop.cql3中的CqlPagingInputFormat。此提供程序使用Thrift来提取数据。Thrift似乎相当慢(300M记录,在3节点集群中需要8多个小时才能读取),并且由于存在原生二进制协议(protocol),我想知道是否有人使用过它。我对任何其他优化和配置调整不感兴趣-这是一个单独的问题。我的问题是是否有直接使用Cassandranative协议(protocol)的map-reduce输入格式化程序的实现?如果

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