草庐IT

任务数

全部标签

hadoop - map任务和reduce任务可以在同一个节点吗?

我是Hadoop新手,既然map节点和reduce节点之间的数据传递可能会降低MapReduce的效率,为什么不把maptask和reducetask放在同一个节点? 最佳答案 实际上,如果数据太“小”,您可以在同一个JVM中运行map和reduce。这在Hadoop2.0(又名YARN)和现在称为Ubertask中是可能的。来自伟大的“Hadoop:权威指南”一书:Ifthejobissmall,theapplicationmastermaychoosetorunthetasksinthesameJVMasitself.Thish

hadoop - 映射任务超时

我写了一个只有Map的作业,其中数据在经过一些处理后从一个HBase表写入另一个表。但是在我的映射器的setup方法中,我从一个文件加载数据,这比我的mapred.task.timeout配置花费更多的时间。我阅读了给出的解释here.我的问题是,1)在设置阶段的中间任务和任务跟踪器之间是否没有通信?2)如何更新状态字符串?? 最佳答案 只要有进度Job就不会超时进度报告很重要,因为Hadoop不会让正在取得进展的任务失败。以下所有操作都构成进度:•读取输入记录(在映射器或缩减器中)•编写输出记录(在映射器或缩减器中)•设置报告者的

hadoop - 如何在终端调试 MapReduce 任务?

有没有一种使用终端模拟MapReduce作业的简单方法?我想知道是否有一种简单的方法可以在编写代码时调试它。 最佳答案 我习惯于使用Python进行Hadoop流式处理,但我相信该解决方案也可以复制到其他语言。所以,这就是我的解决方案:catinput_folder/*|pythonmap.py|排序|pythonreduce.py同样值得一提的是,您可以通过简单地运行来查看reducer接收到的值作为输入:catinput_folder/*|pythonmap.py|排序 关于hado

Hadoop安装笔记1单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

 将下发的ds_db01.sql数据库文件放置mysql中12、编写Scala代码,使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前日期的前一天日期(分区字段格式为yyyyMMdd)。使用hivecli执行showpartitionsods.user_info命令,将结果截图粘贴至答案表.docx中对应的任务序号下;13、 编写Scala代码,使用Spark将MySQL的ds_db01库中表sku_info的全量数据抽取到H

map - 分离 Hadoop Map 和 Reduce 任务

在一个3节点的hadoop集群中。我希望主人是1个节点。Map任务发生在一个节点,Reduce任务发生在1个节点。Map和reduce任务应该分开。可能吗?据我所知,两者一起运行。如果你能阐明一些观点,那就太好了。谢谢!-塞图 最佳答案 这不是最优的,因为必须始终将map输出复制到另一台服务器。但是您可以简单地在服务器上修改您的mapred-site.xml。mapred.tasktracker.map.tasks.maximum4Themaximumnumberofmaptasksthatwillberunsimultaneous

hadoop - 我应该永远使用 oozie 运行 MapReduce 任务吗?

我有一个mapReduce任务(https://github.com/flopezluis/testing-hadoop),它读取文件夹中的文件并将它们附加到zip。我需要永远运行这个任务,所以当它完成处理它们时,它应该再次运行。我正在阅读有关oozie的信息,但我不确定它是否最合适,因为它可能对我的问题来说太大了。如果oozie是最好的解决方案。如果我编写一个协调器每10分钟运行一次,如果任务耗时超过10分钟,协调器等待再次运行该任务会怎样?任务说明文件夹总是一样的。有不同的zip文件,一个是关键。这个想法是逐步创建zip文件。我认为这比处理完所有文件后创建zip文件要快。这些文件包

hadoop - Pig 为简单的 Group by 和 count occurrence 任务抛出错误

使用Hadoop的PIG-Latin从搜索引擎日志文件中查找唯一搜索字符串的出现次数。(clickheretoviewthesamplelogfile)请帮帮我。提前致谢。pig脚本excitelog=load'/user/hadoop/input/excite-small.log'usingPigStorage()AS(encryptcode:chararray,numericid:int,searchstring:chararray);GroupBySearchString=GROUPexcitelogbysearchstring;searchStrFrq=foreachGroup

python - # 失败的映射任务超出了允许的限制

我正在尝试使用Python进行Hadoop流式处理。我在here的帮助下编写了简单的map和减少脚本。map脚本如下:#!/usr/bin/envpythonimportsys,urllib,retitle_re=re.compile("(.*?)",re.MULTILINE|re.DOTALL|re.IGNORECASE)forlineinsys.stdin:url=line.strip()match=title_re.search(urllib.urlopen(url).read())ifmatch:printurl,"\t",match.group(1).strip()和redu

java - Hadoop 查找任务尝试的主机名

在将mapreduce作业提交到hadoop时,我试图以编程方式确定哪些任务尝试在我的集群中的哪个tasktracker上运行。我发现我可以像这样从JobClient获取大部分任务数据:jobClient.getMapTaskReports(jobID)但不是任务尝试成功的机器的主机名。有人知道如何从任务尝试ID中获取主机名吗? 最佳答案 JobClient给你一个所谓的NetworkedJob提交时。它有一个名为getTaskCompletionEvents的方法。这会返回一个发生的TaskCompletionEvent数组,那些

hadoop - mapreduce 的哪个部分/类是停止 reduce 任务的逻辑实现

在HadoopMapReduce中,在所有映射器完成之前,没有缩减器启动。有人可以解释一下这个逻辑是在哪个部分/类/代码行实现的吗?我说的是HadoopMapReduce版本1(不是Yarn)。我已经搜索了mapreduce框架,但是类太多了,我不太了解方法调用及其顺序。换句话说,我需要(首先用于测试目的)让reducers开始减少,即使仍然有工作的映射器。我知道这样我得到的工作结果是错误的,但我知道这是更改框架部分的一些工作的开始。那么我应该从哪里开始查看并进行更改? 最佳答案 这是在洗牌阶段完成的。对于Hadoop1.x,请查看