草庐IT

elastic-mapreduce-cli

全部标签

xml - 使用 Hadoop MapReduce 处理 XML

我想加载和解析一些PB的XML数据。在对如何在hadoop中处理XML进行了大量研究之后,我开始知道XML必须在MapReduce中作为整个文件进行处理。如果我将整个XML作为单个输入拆分提供给我的MapReduce,那么它将不会利用hadoop的分布式和并行处理功能,因为只有一个Mapper将进行处理。我的理解正确吗?如何克服这个问题?请推荐 最佳答案 您可以尝试使用Mahout的XMLInputFormat.XMLInputFormat负责使用指定的开始和结束标记确定XML输入文件中的记录边界。你可以使用这个link作为如何使用

java - MapReduce 能否用于从一个巨大的文件中有效地求和整数?

[文件太大,无法读入RAM。]这是我的公式:映射器将获取每个整数x并发出('anything',x)。在排序阶段,所有键值对将按键分组:('anything',[x1,x2,x3,...])。reducer会将每个键的所有整数相加并发出总和。但是因为我对所有键值对都有相同的键,所以效率不是很低吗,因为会有1个reducer将所有整数相加?使用MapReduce解决这个问题的正确方法是什么? 最佳答案 要在一台机器上计算这个,你不需要一次把整个文件都放在RAM中,但如果文件足够大,需要很长时间才能通过一台机器流式传输它,那么你会发现一

java - Hadoop Mapreduce - 来自 10000 对列表的前 n 个和后 n 个值

我有一个3000+字符串键值对和来自mapreduce程序reducer部分的长数据类型。说{"Aman":2.121212,"Bob":0.343434}。如何根据mapreduce中的值获取前10个和后10个条目?前10名{100,摇滚}2.{99.98765,巴尔博亚}...后10个{0.00976,塔迪斯}2.{0.555,塔基夫}..等等我的一个解决方案是让它们映射{1:"Aman|2.1222"}、{1:"Bob|0.343434"}.....等,然后减少相位字符串拆分值。使用树状图和列表来存储所有值。发出前10个TreeMap并调用降序map接口(interface)并发

python - 以文本文件和 oracle 表为源,Hive 或 Pig 或 Python Mapreduce 哪个能提供最佳性能?

我有以下要求,对选择哪一个以获得高性能感到困惑。我不是Java开发人员。我对Hive、Pig和Python很满意。我正在使用带有tez引擎的HDP2.1。数据源是文本文件(80GB)和Oracle表(15GB)。两者都是结构化数据。我听说Hive将适用于结构数据,Pythonmapreducestreaming概念也将比hive&Pig具有更高的性能。请说清楚。我正在使用Hive,原因是:需要基于一列加入这两个来源。数据量大,使用ORC格式表存储join结果文本文件名将用于生成一个输出列,并且已使用虚拟列概念input__file__name字段执行。加入后需要对每一行做一些算术运算,

hadoop - Hadoop MapReduce java 类中的最佳日志记录方法是什么?

我编写了在hadoop(2.1或2.2)上运行的类作为配置单元UDF/UDTF查询的一部分。最终它作为Map/Reduce作业运行。该应用程序执行各种任务,我想根据日志级别添加日志记录。我想知道这样做的最佳方式(或正确方式)是什么。显然,我不希望日志驻留在未收集的数据节点上的某个文件中。我希望hadoop收集日志,以便我们能够从中央位置(如作业跟踪器)查看所有日志。选项1:直接的日志记录解决方案-打印到system.out/system.err我看到很多论坛都提到打印到系统输出或系统错误,但这意味着开发我们自己的具有调试级别等的日志记录机制......System.out.printl

hadoop - Yarn 和 MapReduce 资源配置

我目前正在运行一个伪分布式Hadoop系统。该机器有8个内核(16个虚拟内核),32GBRam。我的输入文件在几MB到~68MB之间(gzip日志文件,一旦达到>60MB就会上传到我的服务器,因此没有修复最大大小)。我想对其中大约500-600个文件运行一些Hive作业。由于输入文件大小不一致,到目前为止我还没有更改Hadoop中的block大小。据我所知,最好的情况是blocksize=输入文件大小,但是如果文件小于blocksize,Hadoop会填充该block直到它填满吗?输入文件的大小和数量如何影响性能,而不是说一个大约40GB的大文件?我对此设置的最佳配置会是什么样子?根据

node.js - 如何 mapreduce 具有相互关联的复杂子文档的对象

首先,这可能是一个被误导的问题,如果是这种情况,我将不胜感激一些关于我应该如何进行的指导。从我在网上找到的内容来看,mongodb/mongoosemapReduce似乎是执行此操作的最佳方法,但我一直在努力全神贯注,但我正在努力理解它,因为它不是微不足道的,我我想知道是否有人可以帮助解释我的问题。我不一定要寻找完整的解决方案。我真的很感激解释得很好的伪代码。我认为让我特别困惑的是如何处理聚合和组合2组或更多组子文档。此外,我知道这可能是由于模型/系列设计不佳造成的,但不幸的是,这完全不在我的掌控之中,因此请不要建议进行改造。我的特殊问题是我们有一个如下所示的现有模型:survey:{

java - 运行 mapreduce 程序时出现 "Java Heap space Out Of Memory Error"

我在运行mapreduce程序时遇到内存不足错误。如果我将260个文件保存在一个文件夹中并作为mapreduce程序的输入,它会显示Java堆空间内存不足错误。如果我只提供100文件作为mapreduce的输入,它运行良好。那么我如何限制mapreduce程序一次只处理100个文件(~50MB)。任何人都可以就这个问题提出建议......Nooffiles:318,Noofblocks:1(blocksize:128MB),Hadoop运行在32位系统上MyStackTrace:==============15/05/0511:52:47INFOinput.FileInputForma

hadoop - mapreduce 作业未正确设置压缩编解码器

您好,我有一个MR2作业,它将使用snappy压缩的avro数据作为输入,对其进行处理并将数据输出到avro格式的输出目录中。期望这个输出avro数据也应该被快速压缩,但事实并非如此。MR作业是仅限map的作业。我在我的代码中设置了以下属性conf.set("mapreduce.map.output.compress","true");conf.set("mapreduce.map.output.compress.codec","org.apache.hadoop.io.compress.SnappyCodec");但输出仍然不是快速压缩 最佳答案

java - 数据存储 mapreduce 是否已弃用

我刚刚安装了GoogleCloudplatform进行免费试用。为了使用DataStore运行MapReduce任务,docs说要跑./bdutil--upload_files"samples/*"run_command./test-mr-datastore.sh但我无法在本地获取此文件,这是有充分理由的,这种运行MapReduce作业的方式似乎已被弃用,请参阅github.是这样吗,是否有另一种方法可以从本地命令行创建MapReduce任务而不需要BigQuery? 最佳答案 数据存储连接器连接器确实已弃用。对于您的问题“是否有另