草庐IT

data_reduced

全部标签

java - 我无法在以独立模式配置的 hadoop 上执行 map-reduce 作业

我正在尝试在我的计算机(MacOS10.7)上的本地文件系统(独立模式)上测试一个非常简单的hadoopmap-reduce作业。该作业采用.csv文件(data-01)并计算某些字段的出现次数。我下载了CDH4hadoop,运行作业,它似乎正常启动,但在处理完所有拆分后,我收到以下错误:13/03/1212:11:18INFOmapred.MapTask:Processingsplit:file:/path/in/data-01:9999220736+3355443213/03/1212:11:18INFOmapred.MapTask:Mapoutputcollectorclass=

java - pig : Group by ranges/binning data

我有一组整数值,我想将它们分组到一堆容器中。示例:假设我有1到1000之间的一千个点,我想做20个bin。有没有办法将它们分组到一个bin/array中?此外,我不会提前知道范围有多宽,因此我无法硬编码任何特定值。 最佳答案 如果您有最小值和最大值,则可以将范围除以bin的数量。例如,--foo.pigids=load'$INPUT'as(id:int);ids_with_key=foreachidsgenerate(id-$MIN)*$BIN_COUNT/($MAX-$MIN+1)asbin_id,id;group_by_id=g

hadoop - SVD 实现 map reduce

您好,我需要使用MapReduce对大型密集方形矩阵执行奇异值分解。我已经查看了Mahout项目,但他们提供的是TSQR算法http://arbenson.github.io/portfolio/Math221/AustinBenson-math221-report.pdf.问题是我想要满级,这种方法在这种情况下不起作用。他们之前使用的分布式LanczosSVD实现也不适合我的情况。我发现TWO-SIDEDJACOBISCHEME可以用于此目的,但我没有设法找到任何可用的实现。有人知道我是否以及在哪里可以找到引用代码吗? 最佳答案

dictionary - 当 reduce 任务较少时,Hadoop reduce 变慢

当我对Hadoop进行一些性能调整时,我遇到了一个非常奇怪的情况。我正在运行一个具有大量中间输出的作业(例如没有组合器的InvertedIndex或WordCount),网络和计算资源都是同质的。根据mapreduce的工作原理,当reduce任务的WAVES越多时,整体运行时间应该越慢,因为map和shuffle之间的重叠越少,但事实并非如此。事实证明,具有5个WAVES任务的作业比只有一个WAVE任务的作业快大约10%。而且我检查了日志,事实证明当reduce任务较少时map任务的执行时间较长,而且当任务较少时reduce阶段的整体计算时间(不是shuffle或merge)较长。我

Hadoop hive : How to allow regular user continuously write data and create tables in warehouse directory?

我在单个节点上运行Hadoop2.2.0.2.0.6.0-101。我正在尝试运行JavaMRD程序,该程序在普通用户下从Eclipse将数据写入现有的Hive表。我得到异常:org.apache.hadoop.security.AccessControlException:Permissiondenied:user=dev,access=WRITE,inode="/apps/hive/warehouse/testids":hdfs:hdfs:drwxr-xr-x发生这种情况是因为普通用户对仓库目录没有写权限,只有hdfs用户有:drwxr-xr-x-hdfshdfs02014-03-0

algorithm - 用于从图中删除循环的 Map Reduce 算法

这question对于检测有向图中的循环有一个很好的答案。不幸的是,制作它的MapReduce版本似乎并不容易。具体来说,我对用于从有向图中删除循环的MapReduce算法感兴趣。我已经使用广度优先搜索(BFS)算法进行了评估,但我看到的一个问题是可能会同时删除两个不同的边以切断一个循环。这种情况的影响是可以删除太多边。重要的是删除循环,同时尽量减少删除的边数。有证明的方案优先!谢谢。 最佳答案 您需要一个迭代mapreduce来实现这个算法。参见http://www.iterativemapreduce.org/对于以迭代mapr

hadoop - Map Reduce 保持输入顺序

我尝试使用hadoop实现一个处理文本文件的应用程序。问题是我无法保持输入文本的顺序。有什么方法可以选择哈希函数吗?这个问题可以通过分配分区轻松解决输入到每个映射器,然后将分区发送到reducers。这可以用hadoop实现吗? 最佳答案 MapReduce的基本思想是,事情完成的顺序是无关紧要的。所以你不能(也不需要)控制以下顺序:输入记录通过映射器。键和相关值通过缩减器。您唯一可以控制的是值在迭代器中的放置顺序,该顺序在缩减器中可用。这是使用称为“二级排序”的结构完成的。thisterm的简单谷歌操作导致您可以继续的几个点。我喜

hadoop - 为什么要对 map reduce 中生成的中间键进行 SORT?

我理解为什么中间键值按键分组但为什么要对它们进行排序? 最佳答案 分组就是这样实现的。当您按键排序时,它们会组合在一起。它是否已排序并不重要……重要的是相同的键彼此相邻。排序可能不是最好的方法。也许某种哈希算法会更快:O(N)而不是O(NlogN)。它被实现为排序只是因为有一些应用程序需要排序的键(例如HBase/BigTable)。最近开发了一种可插入排序,并且在测试版中可用。我还没有机会尝试一下。http://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop

hadoop - java.io.IOException : Not a data file 异常

我正在处理一堆存储在HDFS嵌套目录结构中的avro文件。这些文件存储在年/月/日/小时格式的目录结构中。我写了这个简单的代码来处理sc.hadoopConfiguration.set("mapreduce.input.fileinputformat.input.dir.recursive","true")valrootDir="/user/cloudera/rootDir"valrdd1=sc.newAPIHadoopFile[AvroKey[GenericRecord],NullWritable,AvroKeyInputFormat[GenericRecord]](rootDir)

java - 在 Hadoop 中并行化 Ruby reducer?

Ruby中的一个简单的wordcountreducer如下所示:#!/usr/bin/envrubywordcount=Hash.newSTDIN.each_linedo|line|keyval=line.split("|")wordcount[keyval[0]]=wordcount[keyval[0]].to_i+keyval[1].to_iendwordcount.each_pairdo|word,count|puts"#{word}|#{count}"end它在STDIN中获取所有映射器的中间值。不是来自特定的key。所以实际上只有一个缩减器(而不是每个单词或每组单词的缩减器)