草庐IT

test_tasks

全部标签

hadoop - 由于没有减少运算符(operator), reduce task 数设置为 0,配置单元作业没有取得进展

我在我的集​​群上使用Cloudera发行版和Hive的第13版。我遇到了一个问题,在写入日志行后作业没有取得任何进展-“由于没有reduce运算符,reduce任务数设置为0”下面是相同的日志,你能帮我看看这是什么类型的问题,因为这不是代码问题,就好像我重新运行它成功完成的相同作业一样。Logginginitializedusingconfigurationinjar:file:/opt/cloudera/parcels/CDH-5.2.1-1.cdh5.2.1.p0.12/jars/hive-common-0.13.1-cdh5.2.1.jar!/hive-log4j.proper

unit-testing - 如何对 Hadoop Writable 进行单元测试

我自己实现了WritableComparable,但是我找不到适合单元测试write和readFields方法的好东西。有什么想法吗? 最佳答案 也许您可以找到更简单的方法来测试您的可写对象,但手动执行序列化/反序列化也可以。例如:MyUtils.java:...importorg.apache.commons.io.IOUtils;...publicstaticbyte[]serialize(Writablewritable)throwsIOException{ByteArrayOutputStreamout=newByteArr

hadoop - 如何在Hadoop中查看Map Task的内存占用

我知道我可以通过设置JVM参数来控制map(或reduce)任务的最大内存。但我想知道是否有办法查看任务的当前内存使用情况? 最佳答案 启用远程HPROF分析。HPROF是JDK附带的分析工具,虽然很基础,但可以提供有关程序的CPU和堆使用情况的有值(value)信息。要使用它,您可以在代码中尝试这样做:conf.setBoolean("mapred.task.profile",true);conf.set("mapred.task.profile.params","-agentlib:hprof=cpu=samples,"+"he

java - Apache hadoop map reduce task 卡住

在我设置好hadoop多节点集群后,我确实运行了著名的wordcountmapreduce示例。但是我没有得到任何输出,而是卡住了任务。这是我得到的..12/09/1213:01:29INFOinput.FileInputFormat:Totalinputpathstoprocess:312/09/1213:01:29INFOutil.NativeCodeLoader:Loadedthenative-hadooplibrary12/09/1213:01:29WARNsnappy.LoadSnappy:Snappynativelibrarynotloaded12/09/1213:01:3

hadoop - 所有 map task 完成后作业范围的自定义清理

在运行只有映射器的map-reduce作业时,我有一个计数器来计算失败文档的数量。在完成所有映射器之后,如果失败文档的总数是高于固定分数。(我最后需要它,因为我最初不知道文档总数)。如何在不为此实现reduce的情况下实现这一目标?我知道有任务级别的清理方法。但是是否有任何作业级别的清理方法可用于在所有任务完成后执行此操作? 最佳答案 这很容易做到。这就是最新的mapreduceAPI的美妙之处。可以在Mapper类中覆盖run方法的帮助下控制mapper的执行,对于reducer也是如此。我不知道你期待的最终结果。但是,我为你准备

hadoop - Spark Map Task 内存消耗巨大

我有很多包含大约60.000.000行的文件。我所有文件的格式都是{timestamp}#{producer}#{messageId}#{data_bytes}\n我一个一个地浏览我的文件,还想为每个输入文件构建一个输出文件。因为有些台词依赖于以前的台词,所以我将它们按制作人分组。每当一行依赖于一个或多个先前的行时,它们的生产者总是相同的。对所有行进行分组后,我将它们交给我的Java解析器。然后,解析器会将所有已解析的数据对象包含在内存中,然后将其输出为JSON。为了可视化我认为我的作业是如何处理的,我拼凑了以下“流程图”。请注意,我没有可视化groupByKey-Shuffeling

python - map task 数量和拆分大小

我想做什么我是hadoop的新手,我尝试使用不同数量的映射器和缩减器多次执行MapReduce,并比较执行时间。文件大小约为1GB,我没有指定拆分大小,因此它应该是64MB。我正在使用一台有4个内核的机器。我做了什么mapper和reducer是用python写的。所以,我正在使用hadoop流媒体。我通过使用'-Dmapred.map.tasks=1-Dmapred.reduce.tasks=1'指定了map任务和reduce任务的数量问题因为我指定使用1个map任务和1个reduce任务,我预计只会看到一次尝试,但实际上我有38次map尝试和1个reduce任务。我阅读了与此问题类

unit-testing - 如何在 oozie 工作流中运行 hadoop 示例 jar?

这让我发疯了——我觉得自己像个白痴,想弄清楚如何做到这一点!我正在构建一个使用Oozie客户端库来运行工作流的应用程序。真的很简单,我想为我的代码构建一些测试,这样我就可以检查我是否在做正确的事情实际代码-感谢oozie客户端库-非常简单。我已经安装了Hadoop并且可以运行标准的wordcount提供的示例,没有任何问题,但是我不知道如何通过Oozie运行东西,它让我抓狂。所以我想我会作弊并问一些知道的人(蠕变蠕变)。我如何转换:bin/hadoopjarhadoop*examples*.jarwordcountinput/somedataoutputOozie工作流?我假设它是一个

hadoop - 使用 hdfs dfs -test 查看目录是否存在

在hadoop文档中:testUsage:hadoopfs-test-[defsz]URIOptions:-d:fthepathisadirectory,return0.-e:ifthepathexists,return0.-f:ifthepathisafile,return0.-s:ifthepathisnotempty,return0.-z:ifthefileiszerolength,return0.Example:hadoopfs-test-efilename如果hdfs目录不存在,我想做点什么。-test选项中的每个参数都返回0。如果目录不存在,我该如何输出?drwx-----

hadoop - slots、map tasks、data splits、Mapper的区别和关系

我浏览了一些hadoop信息书籍和论文。Slot是节点上的map/reduce计算单元。它可能是map或减少插槽。据我所知,split是HDFS中的一组文件block,它们具有一定的长度和存储它们的节点位置。映射器是类,但是当代码被实例化时,它被称为映射任务。我对吗?maptasks、datasplits和Mapper之间的区别和关系我不清楚。关于调度我的理解是,当节点的映射槽空闲时,如果映射任务要处理的数据是节点,则从未运行的映射任务中选择并启动映射任务。谁能用上面的概念解释清楚:slots,mapper和maptask等。谢谢,阿伦 最佳答案