草庐IT

mapReduce

全部标签

amazon-ec2 - EC2 上的 Hadoop 推荐?

在EC2中运行Hadoop时,我似乎有两个选择:答:自己管理集群,使用Hadoop附带的EC2特定shell脚本。B:使用ElasticMapReduce,为方便起见多付一点钱。我倾向于B,但我希望有更多经验的人提供一些建议。这是我的问题:是否有任何任务可以使用这些方法中的一种来完成,而另一种则不能?除了我忽略的这两个选项之外,还有其他选项吗?如果我选择B,回到A有多容易?也就是说,供应商锁定的危险是什么? 最佳答案 第三个选项:您可以使用apachewhirr在ec2上设置hadoop集群(也支持rackspace)

python - 在 Hadoop MapReduce 脚本中导入外部库

我在Amazon的EMRHadoop实现之上运行PythonMapReduce脚本。作为主要脚本的结果,我得到了项目项目的相似性。在后续步骤中,我想将此输出拆分到每个项目的单独S3存储桶中,因此每个项目存储桶都包含与其类似的项目列表。为此,我想在善后步骤的reduce函数中使用亚马逊的botopython库。如何将外部(python)库导入hadoop,以便它们可以在用python编写的reduce步骤中使用?是否可以在Hadoop环境中以这种方式访问​​S3?提前致谢,托马斯 最佳答案 启动hadoop进程时,您可以指定应该可用的

hadoop - MapReduce 映射任务共享输入数据

我最近开始研究MapReduce/Hadoop框架,想知道我的问题是否真的适合该框架。考虑一下。考虑一个例子,我有一大组输入文本文件,此外,作为输入,我想接受一大组关键字(比如,包含在一个文件中)。对于每个关键字,我想在每个文本文件中搜索并报告该关键字在该文件中的实例数。text我会为每个关键字,每个文本文件重复这个。这个场景与我在网上看到的例子有点不同,因为我想输入的不仅是要搜索的文本文档,还有搜索它们的关键字。这意味着每个Map任务可能会多次处理同一个输入文本文件(每个关键字一次)。像这样的问题是否适合MapReduce框架? 最佳答案

java - 如何从 mapreduce 中引用本地 hdfs 文件?

我想从我的mapreduce脚本中引用hadoop中hdfs集群上的一个文件。是否可以在不使用完整路径(hdfs://ip/path/to/file)而是使用本地/path/to/file引用的情况下执行此操作?我正在使用java并尝试过类似的方法:Filefile=newFile(stringPathToFile);但这似乎引用了本地文件系统。提前致谢! 最佳答案 您必须使用HadoopAPI访问该文件.您可能正在寻找open.这将为您提供一个类似于通用打开文件的流。File不知道如何处理HDFS中的文件。我找到了这个codeex

json - Hadoop Java MapReduce 使用 Jackson 问题解析 JSON

我在HadoopJavaM/R程序(0.20.205)中使用JacksonJSON解析器(1.9.5)。给定以下JSON示例:{"id":23423423,"name":"abc","location":{"displayName":"Florida,Rosario","objectType":"place"},"price":1234.55}现在,假设我只想解析出id、location.displayName和price,所以我创建了以下Java对象并省略了不需要的字段。@JsonIgnoreProperties(ignoreUnknown=true)publicclassTrans

hadoop - JVM 重用 MapReduce 2.0 YARN

我有大量由小文件创建的输入拆分(大约50,000个),我想使用Hadoop处理这些拆分。但是,我只有256个容器可用于处理它。作业本身使用大量CPU,但使用相当少的内存。我正在使用Hadoop2.3并查看了MapReduce1.0中的JVM重用功能我也读过关于ubertasks的内容,但它看起来不是一回事-或者我对JVM重用有不同的理解。由于我有很多小文件(并且正在为每个文件生成一个inputSplit),我想为每个容器创建一个JVM机器,并为每个已分配的JVM运行尽可能多的顺序映射任务。这将减少JVM分配时间的开销。我想对于每个输入拆分都会分配一个新的映射器,从而分配一个新的JVM,

hadoop - 需要帮助编写 Map/Reduce 作业以找到平均值

我是HadoopMap/Reduce的新手。我正在尝试编写一个Map/Reduce作业来查找n个进程所花费的平均时间,给定如下输入文本文件:ProcessNameTimeprocess110process220processn30我看了几个教程,但仍然无法透彻理解。我的mapper和reducer类应该如何解决这个问题?我的输出始终是文本文件还是可以将平均值直接存储在某种变量中?谢谢。 最佳答案 您的映射器读取文本文件并在每一行上应用以下映射函数map:(key,value)time=value[2]emit("1",time)所有

hadoop - 了解 hadoop 中的自定义分区程序

我现在正在学习分区器的概念。谁能给我解释一下下面的代码。我很难理解publicclassTaggedJoiningPartitionerextendsPartitioner{@覆盖publicintgetPartition(TaggedKeytaggedKey,Texttext,intnumPartitions){返回taggedKey.getJoinKey().hashCode()%numPartitions;}}这个taggedKey.getJoinKey().hashCode()%numPartitions如何确定为一个键执行哪个reducer?有人能给我解释一下吗?

hadoop - 在 Oozie 中运行 Hive Action 时出错

我正在尝试通过Oozie运行hive操作。我的workflow.xml如下:${jobTracker}${nameNode}oozie.hive.defaults${hiveConfigDefaultXml}${hiveQuery}OUTPUT=${StagingDir}Hivefailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]这是我的job.properties文件:oozie.wf.application.path=${nameNode}/user/${user.name}/hiveQueryoozie.libpa

java - HBase 中的组合键

我是HBase的新手,必须使用组合键作为主键。请告诉我Howtomakecomposite-keyinhbase?AndHowtosearcharecordusingthatcomposite-key? 最佳答案 只需连接您的key部分并使用它。没什么特别的。假设您有一个客户表,并且您想要一个由CustID和Timestamp组成的行键。然后你想获取特定用户的所有结果,而不考虑时间戳。你会做这样的事情:publicstaticvoidmain(String[]args)throwsIOException{Configurationc