草庐IT

mapreducer

全部标签

java - 有了对象列表,如何使用 mapReduce 将单个对象传递给每个映射器类?

关于WordCount示例的两个问题:http://wiki.apache.org/hadoop/WordCount如果我在示例中理解正确:主类接收一个输入文件(第57行)每个映射器都会收到该文件的一行(第22行)?我正在尝试做一些不同的事情:而不是将输入文件传递给主类,假设我的主类有一些对象的列表例如:ListTransitiontransactionsList;并且我希望每个映射器接收此列表中的单个项目:在我的示例中:TransitionsingleTrans;我怎样才能做这样的事情? 最佳答案 关于您的第一个问题:是的,第57

java - 尝试在 shell 脚本中同时运行 hadoop MapReduce 命令和 linux 命令

我有一个这样的shell脚本。#!/bin/sh/home/hduser/Downloads/hadoop/bin/stop-all.shecho"RUNNINGHADOOPPROGRAM"cd/home/hduser/Downloads/hadoopsudorm-R/tmp/*sudorm-R/app/*cdsudomkdir-p/app/hadoop/tmpsudochownhduser:hadoop/app/hadoop/tmpsudochmod750/app/hadoop/tmphadoopnamenode-format/home/hduser/Downloads/hadoop

java - 自定义 SortComparator 在 MapReduce wordcount 程序中不起作用

我想了解MapReduce如何对Map输出键进行排序,以及它使用的排序算法是什么。我有一个这样的文本文件abefcb它如何使用这些键执行排序。我实现了一个扩展WritableComparator接口(interface)的自定义SortComparator类。我想看看排序是如何进行的,所以我将操作写入文件。publicstaticclassMySortComparator2extendsWritableComparator{@Overridepublicintcompare(byte[]b1,ints1,intl1,byte[]b2,ints2,intl2){Textx=newText

java - 如何在mapreduce中将文件作为参数传递

我想在文件中搜索特定的单词并显示它的计数。当要搜索的单词是单个单词时,我可以通过在驱动程序中设置配置来完成,如下所示:驱动类:Configurationconf=newConfiguration();conf.set("wordtosearch","fun");映射器类:publicstaticclassSearchMapperextendsMapper{//Mapcodegoeshere.privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(LongWrit

java - MapReduce Avro 输出正在创建文本文件

我有一个读取avro数据然后应该输出avro数据的MapReduce作业。但是,当我在作业成功时检查输出文件时,它们没有.avro扩展名,我可以使用简单的文本编辑器查看它们。我的驱动程序配置为输出avro,所以我不确定问题出在哪里,我们将不胜感激。这是我的驱动类:publicclassDriverextendsConfiguredimplementsTool{publicstaticvoidmain(String[]args)throwsException{intres=ToolRunner.run(newConfiguration(),newDriver(),args);System

java - mapreduce 中永无止境的工作

我已经在我的main方法中设置了一些MapReduce配置configuration.set("mapreduce.jobtracker.address","localhost:54311");configuration.set("mapreduce.framework.name","yarn");configuration.set("yarn.resourcemanager.address","localhost:8032");现在,当我启动mapreduce任务时,会跟踪该进程(我可以在我的集群仪表板(监听端口8088的仪表板)中看到它),但该进程从未完成。它在以下行仍然被阻止:1

java - Mapreduce 程序无法读取输入文件

我在hdfs上的这个位置有一个小的csv文件:"hdfs://csehadoop/user/department.csv"。我在我的mapreduce程序中使用以下代码来读取文件的内容并将其存储在hashmap中。brReader=newBufferedReader(newFileReader("hdfs://csehadoop/user/department.csv"));while((strLineRead=brReader.readLine())!=null){StringdeptFieldArray[]=strLineRead.split(",");System.out.pri

java - 如何从 Mapreduce 作业查询存储在 hdfs 中的嵌入式数据库?

我正在尝试从HadoopMapReduce映射器查询GeoLite数据库以解析IP地址的国家/地区。我尝试了两种方法:1.使用File仅适用于本地文件系统,我收到一个文件未找到异常Filedatabase=newFile("hdfs://localhost:9000/input/GeoLite2-City.mmdb");//2.使用流,但在运行时出现此错误Error:JavaHeapSpacePathpt=newPath("hdfs://localhost:9000/input/GeoLite2-City.mmdb");FileSystemfs=FileSystem.get(newCo

hadoop - 从 MapReduce 同时批量加载到多个 HBase 表

类似于MultiTableOutputFormat,您可以使用put写入多个HBase表。是否有一种内置方法可以生成多个HFile而无需多次循环输入? 最佳答案 This是最接近您的要求。他们也给出了代码来处理多种输出格式。再来一个here.希望对您有所帮助 关于hadoop-从MapReduce同时批量加载到多个HBase表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/317

hadoop - 如何在 mapreduce 作业中获得适当大小的输入拆分

我正在基于Hortonworks的MicrosoftHDInsight中处理Map-OnlyMR作业。我的输入数据约为1GB,block大小为128MB。当我在没有设置分割大小的情况下运行我的作业时,我的输入数据被分成2个分割,maptask的数量也是2。这需要很长时间,所以我想通过增加maptask的数量来加快这个过程。我通过设置mapreduce.input.fileinputformat.split.minsize和mapreduce.input.fileinputformat.split.minsize的值来设置分割数。首先,我将拆分次数设置为8,此作业耗时为35分钟。然后我设