草庐IT

mapReduce

全部标签

hadoop - Sqoop 导入到 HCatalog/Hive - 表不可见

使用Ambari2.2.2.0安装HDP-2.4.2.0-258我必须导入几个SQLServer模式,这些模式应该可以通过Hive、Pig、MR和任何第三方(将来)访问。我决定导入HCatalog。Sqoop提供了导入到Hive或HCatalog的方法,我想如果我导入到HCatalog,同一个表将可以从HiveCLI、MR和Pig访问(请评估我的假设)。问题:如果直接导入到Hive,该表是否可供Pig、MR使用?如果导入到HCatalog,通过Hive访问需要做什么?是否需要在Hive中预先创建表?如果是,在HCatalog中导入的优势是什么,(我可以直接在Hive中导入)/(在HDF

hadoop - 在 hadoop 中,跨 mapper reducer 多个输入保存状态的能力是什么意思?

问题的标题解释了我的问题是什么。我一直在阅读多篇文章,遇到这条线的答案Throughuseofthecombinerandbytakingadvantageoftheabilitytopreservestateacrossmultipleinputs,itisoftenpossibletosubstantiallyreduceboththenumberandsizeofkey-valuepairsthatneedtobeshuffledfromthemapperstothereducers.我无法理解这个概念。一个详尽的答案和一个例子的解释会很有帮助。如何培养直觉来理解这些概念?

hadoop - 映射器发出的键值对的数量是否有限制?

在MapReduce程序中,单个映射器可以发出的键值对数量是否有上限?我对Hadoop1.x和2.x都很感兴趣。我用谷歌搜索了它,但找不到任何答案,也根本找不到任何提及。谢谢 最佳答案 单个映射器发出的键值对数量没有限制。映射器不断生成写入缓冲区的输出。此缓冲区的大小由配置决定mapreduce.task.io.sort.mb[默认值:256MB(CDH),100MB(SourceCode)]。每当此缓冲区占用率达到容量的mapreduce.map.sort.spill.percent[Def:0.8]时,缓冲区内容就会溢出(非阻塞

Hadoop:迭代 MapReduce 性能

对于相同逻辑的非并行计算来说,主要是当训练数据量过大时,迭代MapReduce的并行计算是否合理?我知道启动MapReduce作业会产生开销。当需要大量迭代时,这对于整体执行时间可能至关重要。我可以想象,在许多情况下,只要内存允许保存数据集,顺序计算就会比使用迭代MapReduce的并行计算更快。 最佳答案 如果单台机器在大多数情况下完成工作,那么任何并行处理系统都没有多大意义。与大多数并行化任务相关的复杂性非常重要,需要有充分的理由来使用它。即使很明显如果不在可接受的时间内进行并行处理就无法解决任务,并行执行框架也有不同的风格:从

java - Hadoop 0.21.0 中打开文件描述符的预期消耗

给定Hadoop0.21.0,框架对相对于每个单独映射和缩减操作的打开文件描述符的数量做出了哪些假设?具体来说,是什么子操作导致Hadoop在作业执行期间打开新的文件描述符或溢出到磁盘?(这是故意忽略MultipleOutputs的使用,因为它非常明显地破坏了系统提供的保证。)我的理由很简单:我想确保我为Hadoop编写的每个作业都保证为每个映射器或缩减器提供有限数量的所需文件描述符。Hadoop乐于从程序员那里抽象出这一点,这通常是一件好事,如果不是在服务器管理期间掉下另一只鞋的话。我原本askedthisquestiononServerFault从事物的集群管理方面。由于我也负责编

performance - Hadoop MapReduce 吞吐量问题

我很有趣——什么才算是好的吞吐量对于每个节点的hadoop轻量级文本数据处理?更具体地说,我会问:假设我必须读取csv文件,解析它们并计算某些列中特定值的数量。让我们假设值很少见,所以减少步骤很快。对于现代四核CPU/4GBRAM/4SATADisk机器,我期望每个hadoop节点的吞吐量是多少? 最佳答案 我觉得这个问题很有道理。我对hadoop集群的吞吐量有一个印象(SizeOfInput+SizeOfOutput)/RuntimeInSeconds/NumberOfDisks对于yahooPB-Sort在3800个节点上运行使

hadoop - 在 Eclipse Map/Reduce 位置中,New Hadoop 位置没有响应?

在eclipse中,我正在尝试添加新的hadoop位置。但是当我点击添加新的hadoop位置时,它没有响应。我为hadoop1.0.4构建了自己的插件。我的list如下所示,Bundle-ClassPath:classes/,lib/hadoop-core.jar,lib/commons-configuration-1.6.jar,lib/commons-httpclient-3.0.1.jar,lib/commons-cli-1.2.jar,lib/commons-lang-2.4.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/jackson-co

hadoop - 使用配置单元初始化数据库时出现 java.sql.SQLException : Failed to start database 'metastore_db' ERROR,

我在3个集群上安装了Hadoop和Hive。我能够从运行HIVE的集群节点登录到配置单元。root@NODE_3hive]#hiveLogginginitializedusingconfigurationinjar:file:/usr/lib/hive/lib/hive-common-0.10.0-cdh4.2.0.jar!/hive-log4j.propertiesHivehistoryfile=/tmp/root/hive_job_log_root_201304020248_306369127.txthive>showtables;OKTimetaken:1.459secondsh

Hadoop 分布式缓存 : file not found exception

我正在尝试在MapReduce上实现K-means。我已将初始质心文件上传到分布式缓存在驱动类中DistributedCache.addCacheFile(newURI("GlobalCentroidFile"),conf);在我的映射器类中Path[]localFiles=DistributedCache.getLocalCacheFiles(job);Filefile=newFile(localFiles[0].getName());System.out.println("Filereadis"+localFiles[0].getName());BufferedReaderbuff

java - 使用 AvroMultipleOutputs 创建多个输出文件

我有一个使用AvroKeyOutput作为输出格式的Reducer。默认情况下,MapReduce会将我的所有key写入单个输出文件。我想为每个键值写入一个单独的输出文件。Avro提供了AvroMultipleOutputs方法,但示例很少。Apache提供的AvroMultipleOutputs,展示了如何在定义作业时预先配置各种输出。例子表明:职位:AvroMultipleOutputs.addNamedOutput(job,"avro1",AvroOutputFormat.class,schema);AvroMultipleOutputs.addNamedOutput(job,"