草庐IT

hadoop - 如何强制hadoop处理每个 map 的更多数据

我的工作进展非常缓慢,因为我认为hadoop为数据大小创建了太多maptask。我在一些网站上读到,用更少的map处理更大的数据block是有效的——有什么办法可以强制这样做吗?谢谢 最佳答案 两种可能性:增加90gb数据的block大小,将其设置为128m或更大将使您的maptask“工作更多”使用CombineFileInputFormat并将您的block组合到您认为合适的大小。第一个解决方案需要您重写数据以更改block大小,第二个解决方案可以嵌入到您的作业中。 关于hadoop

map - PigLatin 映射键值

我是第一次使用一些PigLatin代码,希望能够通过首先将键值生成为字符数组,然后使用该键来访问map中的值。例如,categoryIds是我的map,catIds=foreachfilteredContextsgenerateelementId,SUBSTRING(categoryAndConfidence,0,2)ascatId;categoryNames=foreachcatIdsgenerateelementId,categoryIds#catIdascatName;这是我收到的错误:ERROR1000:解析时出错。在第28行第64列遇到“”catId“”。期待其中之一:“无效

serialization - oozie 上的 Avro Map-Reduce

我一直在尝试在oozie上运行Avromap-reduce。我在workflow.xml中指定映射器和缩减器类,并提供其他配置。但它给出了一个java.lang.RunTimeException-classmr.sales.avro.etl.SalesMappernotorg.apache.hadoop.mapred.Mapper当直接在hadoop集群上(而不是通过oozie)运行时,相同的作业会完成并提供所需的输出。所以我似乎可能缺少一些oozie配置。我从异常中猜想oozie要求映射器是org.apache.hadoop.mapred.Mapper的子类,但Avro映射器具有不同

hadoop - Map Reduce 如何处理搜索到的字符串

像Google这样的搜索引擎是基于MapReduce的。它实际上是如何发生的。假设我在搜索中给出一个字符串,之后会发生什么,什么进入映射器,映射器输出什么作为键值对,什么进入缩减器?谢谢。 最佳答案 相关问题:HowcanGooglebesofast?我只知道我曾经和一个来自google的人讨论过什么(我不能完全验证准确性),但他基本上告诉我他们使用某种mapreduce来构建出现在所有网络中的所有单词的所有索引页。然后为了解决查询,他们使用了这样的东西:http://en.wikipedia.org/wiki/Distribute

map - JobConf 中未设置输出目录

我在下面提到一个简单的mapR程序的驱动程序代码importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapred.JobClient;importorg.apache.hadoop.mapred.JobConf;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduce.lib.input.FileInp

hadoop - PIG 加载 CSV - map 类型错误

我们的目标是利用PIG对我们的服务器日志进行大规模日志分析。我需要从文件加载PIGmap数据类型。我尝试使用以下数据运行示例PIG脚本。我的CSV文件中名为“test”(由PIG处理)的一行看起来像,151364,[ref#R813,highway#secondary]我的PIG脚本a=LOAD'test'usingPigStorage(',')AS(id:INT,m:MAP[]);DUMPa;想法是加载一个int和第二个元素作为hashmap。然而,当我转储时,int字段被正确解析(并在转储中打印)但map字段未被解析导致解析错误。如果我遗漏了什么,有人可以解释一下吗?

map - hadoop过滤 map 输出

我有一个用例,其中映射阶段生成的某些键需要在减少开始之前被过滤掉。这样的事情可行吗?请告诉我。 最佳答案 修改MapperClass过滤输入会更准确,因为combiner的执行是无法保证的,Hadoop可能会也可能不会执行combiner。此外,如果需要,它可以执行1次以上。因此,您的MapReduce作业不应依赖于组合器的执行。 关于map-hadoop过滤map输出,我们在StackOverflow上找到一个类似的问题: https://stackover

hadoop - pig : Count number of keys in a map

我想计算Pigmap中键的数量。我可以编写UDF来执行此操作,但我希望有更简单的方法。data=LOAD'hbase://MARS1'USINGorg.apache.pig.backend.hadoop.hbase.HBaseStorage('A:*','-loadKeytrue-caching=100000')AS(id:bytearray,A_map:map[]);在上面的代码中,我想基本上构建id的直方图以及该键在列族A中有多少项。怀着希望,我尝试了c=FOREACHdataGENERATEid,COUNT(A_map);但不出所料,这没有奏效。或者,也许有人可以建议一个更好的方

java - 如何多次重复 map/reduce 任务?

为了多次重复同一个map/reduce任务,我应该把循环放在哪里?我知道它应该在主程序中,我不知道它应该在runJob附近还是其他地方? 最佳答案 这是一个很好的例子来做你想做的事情,摘自ThomasJungblut'sawesomeblog这是我前段时间看到的:while(counter>0){//reusetheconfreferencewithafreshobjectconf=newConfiguration();//setthedepthintotheconfigurationconf.set("recursion.dept

hadoop - 我如何在 Hadoop map-reduce 程序的每个映射器中全局访问一个巨大的字典?

我正在对大量网络日志进行共现分析。我计算了每个项目的出现时间,以及每对的同时出现时间使用hadoop。现在,我想计算一对的一些相关性度量,例如n_12/(n_1*n_2),其中n表示项目或项目对的发生或同时发生的时间。我将数据排列为:key:item1value:[(item1,n_1)(item2,n_12)...(itemk,n_1k)]我想知道我怎么知道n_2,...,n_k在处理关于item1的键值时?感谢您的帮助。 最佳答案 你的意思是你需要在每个映射器中访问一个特定的字典?您可以使用hadoop的“分布式缓存”功能。这适