草庐IT

作业队

全部标签

java - 由于 globStatus,MapReduce 作业未产生输出

我不确定为什么我的Mapper和Reducer没有输出。我的代码背后的逻辑是,给定一个UUID文件(新行分隔),我想使用globStatus显示UUID可能所在的所有潜在文件的所有路径。打开并阅读文件。每个文件包含1-n行JSON。UUID在JSON中的event_header.event_id中。现在MapReduce作业运行没有错误。但是,出了点问题,因为我没有任何输出。我也不确定如何调试MapReduce作业。如果有人可以为我提供一个很棒的资源!这个程序的预期输出应该是fee90c3f-e832-4267-aa9b-250f53kc06d31914938ae-eed6-4dfa-

hadoop - 触发 Hadoop 上的 map 缩减作业并在完成时发送电子邮件的 UI 仪表板

我想构建一个UI工具,用户可以在其中提交他们的表达式,并基于该表达式在Hadoop集群的后端触发MR作业。MR作业完成后,需要发送一封电子邮件,在电子邮件正文中包含结果摘要。我以前从未以这种方式执行过MR作业,我对如何实现这一点感到很困惑。有什么框架可以帮助我吗?或者关于如何自行实现它的任何想法?谢谢 最佳答案 hadoop中有一个叫做Oozie的组件,它是一个工作流系统。这将安排或自动化MapReduce作业。您的应用程序需要与HadoopAPI协调,我认为更好的开始方式是探索OozieAPI并对您的项目进行可行性研究。这是个好主

hadoop - 如何将多个作业提交到 hadoop 集群

我有一个运行Hadoop2.6的hadoop集群。我想同时向它提交多个作业。我想知道我是否应该简单地提交多个作业并让集群处理其余的,或者我应该将它们写成一个yarn应用程序。事实上,我对Yarn应用程序开发不是很熟悉,并且确切地知道它与常规Hadoop应用程序有何不同。 最佳答案 您可以使用MR1和YARN运行MR作业。YARN与作业并行无关。它只是运行各种作业的框架。使用oozie工作流或shell脚本并行运行作业。 关于hadoop-如何将多个作业提交到hadoop集群,我们在Sta

hadoop - 无法从 MapReduce 作业中获得我想要的结果

这是我的数据样本如果第一列的索引为0,我想使用MapReduce从该文件中获取每个商店的总销售额,商店名称在索引2处,收入在索引4处这是我的映射器代码publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringline=value.toString();String[]columns=line.split("\t");if(columns.length==6){StringstoreNameString=columns[2];TextstoreNa

java - 在 Map Reduce 作业中使用多线程

我注意到addzone要求了解Map-Reduce和Java多线程-我看不出它们如何存在于同一个项目中。谁能给我举个例子,我们什么时候需要结合Map-Reduce和多线程? 最佳答案 如果您开发一个大型系统,则子系统需要应用不同的技术。 关于java-在MapReduce作业中使用多线程,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/31129876/

java - 如何在 mapreduce 作业中处理不同的输入批量大小

问题-我正在运行一系列包装在oozie工作流中的mapreduce作业。输入数据由一堆文本文件组成,其中大部分都相当小(KB),但我时不时地收到超过1-2MB的文件,这会导致我的作业失败。我看到作业失败的两个原因-一个,在一个或两个mr作业中,文件被解析为内存中的图形,对于更大的文件,其mr内存不足,两个,作业超时。问题-1)我相信我可以通过将mapreduce.task.timeout设置为0来禁用超时。但是我找不到任何提到这样做有任何风险的文档。2)对于OOM错误,我可以使用哪些不同的配置?此处有关潜在解决方案和风险的任何链接都会非常有帮助。3)在我最终得到OOM之前,我看到了很多

hadoop - 通过 Pig 转储中间 MR 作业数据

我对Pig的正常行为有疑问。假设我正在编写如下Pig脚本:A=LOADsomeInput;B=FILTERABY`somecondition1`;C=FILTERABY`somecondition2`;D=GROUPBBY`somecolumn1`;E=GROUPCBY`somecolumn1`;storeD;storeE;现在在这里,当Pig实际传递数据时,假设Pig创建了2个作业来执行此脚本:Job1:FiltersByCondition1andCondition2Job2:PerformstheGroupByOperation.因此Job1的输出数据被Job2用作输入;Pig是将

hadoop - 如何将不同的数据集传递给同一作业的两个不同映射器

我有一个SingleMapper,比如SingleGroupIdentifierMapper.java现在这是一个通用映射器,它根据使用缓存从驱​​动程序类传递给它的属性文件(包含过滤器和键值字段索引)在一行映射器输入值/记录上进行所有过滤。只有reducer业务逻辑不同,并且已实现,保持映射器逻辑通用,并使用PropertyFile实现,如上所述。现在我的问题陈述是我现在有来自多个来源的输入,具有不同的格式。这意味着我必须做一些事情,比如MultipleInputs.addInputPath(conf,newPath("/inputA"),TextInputFormat.class,

java - 运行 Hadoop 作业时出现类加载问题

我有一个C++服务,它公开了2个接口(interface):一个。Submit():用于向YARNRM提交DistCp作业Query():用于查询应用程序的状态。此服务在内部调用Java客户端(通过JNI),它具有2个静态函数:提交()查询()提交()做:DistCpdistCp=newDistCp(configuration,distCpOptions);Jobjob=distCp.execute();Parsesthe"applicationID"fromthetrackingURLandreturnsit.Query()做:Takes"applicationID"returned

hadoop - 读取 hbase 表时挂起 Mapreduce 作业

我有一个像这样设置的4节点hadoop分布式集群(包括hbase)。node1-namenode+hbasemaster+zookeepernode2-资源管理器node3-datanode1+hbaseregionserver1+nodemanagernode4-datenode2+hbaseregionserver2+nodemanager集群设置似乎很好,因为所有的WEBUI(hbase、名称节点、资源管理器)都在出现。现在,当我尝试提交读取/写入hbase表的mapreduce作业时,它会被挂起。它不断超时但是,如果我在我的mapreduce代码中明确提及hbase凭据并将它们