草庐IT

Mapreduce1

全部标签

hadoop - 我们如何将一些自定义类的对象作为参数传递给 mapReduce 程序中的映射器?

我们如何将一些自定义类的对象作为参数传递给mapReduce程序中的映射器?JobConf具有bool值、字符串、整数和长整数的“设置”方法。如果我想将Document对象作为参数传递给我的映射器怎么办?谁能帮帮我? 最佳答案 我给了一个想要将整个map传递给制图员的人的提示。Hadoop:HowtosaveMapobjectinconfiguration思路是一样的,你得把你的对象序列化成字符串,放到配置里。JSON工作得很好,因为配置被序列化为XML,因此在反序列化时没有问题。 关于

hadoop - 在 MapReduce 作业配置中设置参数

是否有任何方法可以从Mapper设置作业配置中的参数,并且可以从Reducer访问。我试过下面的代码在映射器中:map(..):context.getConfiguration().set("Sum","100");在reducer中:reduce(..):context.getConfiguration().get("Sum");但在reducer中,值返回为null。有什么方法可以实现这个或我这边遗漏的任何东西吗? 最佳答案 据我所知,这是不可能的。作业配置在运行时由作业跟踪器序列化为XML,并复制到所有任务节点。对Config

hadoop - 何时使用 Pig 以及何时使用 java 进行 Mapreduce?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。据我所知,Mapreduce可以用pig,也可以用java,能不能解释一下在什么场景下用哪一个?

hadoop - Couchbase/hadoop 连接器 : sqoop job FAILED "Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected"

我的配置:CouchBase服务器2.0Sqoop1.4.2(为hadoop版本2.0.0编译)栈HadoopCDH4.1.2我想使用CouchBase/Hadoop连接器(http://www.couchbase.com/develop/connectors/hadoop),但是当我启动导入时出现以下错误:sqoop-import--connecthttp://localhost:8091/pools--tableDUMP13/01/0711:00:34INFOtool.CodeGenTool:Beginningcodegeneration13/01/0711:00:34INFOor

python - 将用于 mapreduce 的 Python 脚本传递给 HBase

我们有一个基于Hadoop的HBase实现。到目前为止,我们所有的Map-Reduce作业都是作为Java类编写的。我想知道是否有一种好的方法可以使用Python脚本传递给HBase进行Map-Reduce。 最佳答案 有一个很好的开源库可以用于此目的。它叫做HappyBase可用here.它使用HBase的ThriftAPI进行连接。这是一个使用HappyBase完成的一些简单HBase操作的示例:importhappybaseconnection=happybase.Connection('localhost')table=co

java - 从 MapReduce 获取特定数据

我将以下文件作为输入,其中包含10000行,如下所示250788965731,20090906,200937,200909,621,SUNDAY,WEEKEND,ON-NET,MORNING,OUTGOING,VOICE,25078,PAY_AS_YOU_GO_PER_SECOND_PSB,SUCCESSFUL-RELEASEDBYSERVICE,5,0,1,6.25,635-10-104-40163.如果第18列小于10并且第9列是早上,我必须打印第一列。我做了以下代码。我没有得到输出。输出文件为空。publicstaticclassMyMapextendsMapper{public

hadoop - 链接 Hadoop MapReduce 1.1.1 示例

我是Hadoop的初学者,但在Hadoop1.1.1中,我正在尝试执行map->reduce->map->reduce。我很难找到如何在Java中执行此操作的具体示例。我真的很好奇整个驱动程序方法会是什么样子。我目前正在使用org.apache.hadoop.mapreduce库(我认为这是最新的代码库)。此外,如果没有必要,我宁愿不安装另一个库,如Oozie。 最佳答案 我认为这可能对您有所帮助:http://blogs.msdn.com/b/avkashchauhan/archive/2012/03/29/how-to-chai

java - 通过Java和MapReduce构造文档项矩阵

背景:我正在尝试使用MapReduce在Hadoop上的Java中创建一个“文档术语”矩阵。文档术语矩阵就像一个巨大的表,其中每一行代表一个文档,每一列代表一个可能的单词/术语。问题陈述:假设我已经有一个术语索引列表(这样我就知道哪个术语与哪个列号相关联),那么在每个文档中查找每个术语的索引的最佳方法是什么,以便我可以逐行构建矩阵行(即逐个文档)?到目前为止,我可以想到两种方法:方法1:将术语索引列表存储在Hadoop分布式文件系统上。映射器每次读取新文档进行索引时,都会生成一个新的MapReduce作业-该文档中每个唯一单词的作业,其中每个作业都在分布式术语列表中查询其术语。这种方法

hadoop - mapreduce成功后如何删除输入文件

我们有一个系统可以接收指定目录中的文件,并定期启动一个mapreduce作业来打开文件并处理其中的文件。为了避免下次重新处理相同的文件,我们连接到RecordReader上的close()方法,以便在读取最后一个条目后将其删除。这种方法的问题(我们认为)是,如果一个特定的映射失败,下一个再次尝试它的映射器会发现原始文件已被记录读取器从第一个读取器中删除,并且它会爆炸。我们认为要走的路是等到所有映射和归约完成后再删除输入文件。这是最好的方法吗?如果是这样,我们如何从主程序中获取系统找到的所有输入文件的列表?(我们不能只删除整个输入目录,新文件可能存在)即:...job.waitForCo

java - 产生奇怪结果的简单字数统计 MapReduce 示例

我在HadoopMap/Reduce作业中遇到了一个奇怪的问题。作业正确提交、运行,但产生不正确/奇怪的结果。似乎mapper和reducer根本没有运行。输入文件转换自:121613265413212到012416813213654181322312我假设第一列是在映射器之前为对生成的键,但映射器和缩减器似乎都没有运行。当我使用旧API时,工作运行良好。下面提供了作业的来源。我使用Hortonworks作为平台。publicclassHadoopAnalyzer{publicstaticclassMapextendsMapper{privatefinalstaticIntWritab