草庐IT

data_reduced

全部标签

hadoop - 独立的 map reduce 作业一个接一个地执行

是否有可能执行独立的mapreduce作业(不在reducer输出的链接中成为映射器的输入。可以一个接一个地执行。 最佳答案 在你的驱动代码中调用两个方法runfirstjob,runsecondjob.就像这样。这只是一个提示,根据你的需要做修改publicclassExerciseDriver{staticConfigurationconf;publicstaticvoidmain(String[]args)throwsException{ExerciseDriverED=newExerciseDriver();conf=new

Hadoop 2.6.0 官方实例 : Yarn (MR2) much slower than Map Reduce (MR1) in single node setup

我开始玩hadoop2.6.0,根据officialdocumentation搭建了一个伪分布式单节点系统.当我运行简单的MapReduce(MR1)示例(参见“伪分布式操作->执行”)时,总执行时间约为7秒。更准确地说,bash的时间给出:real0m6.769suser0m7.375ssys0m0.400s当我通过Yarn(MR2)运行相同的示例时(参见“伪分布式操作->YARNonSingleNode”),总执行时间约为100sec,因此非常慢。bash的时间给出:real1m38.422suser0m4.798ssys0m0.319s因此,(出于某种原因)在用户空间之外存在大量

csv - 最佳实践 : how to handle data records with changing "schema"/ "columns"

这是一个最佳实践问题。我们的设置是一个hadoop集群,将(日志)数据存储在hdfs中。我们获取csv格式的数据,每天一个文件。在hadoop中对这些文件运行MR作业没问题,只要文件的“架构”(尤其是列数)不变即可。但是,我们面临的问题是,我们要分析的日志记录最终会发生变化,因为可能会添加或删除列。我想知道你们中的一些人是否愿意分享针对此类情况的最佳实践。我们目前能想到的最好的方式是将数据存储为json格式而不是csv。但是,这会增加(至少增加一倍)所需的存储空间。我们还遇到了ApacheAvro和ApacheParquet,并且刚刚开始对此进行研究。欢迎就此问题提出任何想法和意见。

json - org.openx.data.jsonserde.json.JSONObject 无法转换为 org.openx.data.jsonserde.json.JSONArray

我正在尝试从配置单元读取json文件。我正在使用JsonSerdeapi加载json却报错...16moreCausedby:java.lang.ClassCastException:org.openx.data.jsonserde.json.JSONObjectcannotbecasttoorg.openx.data.jsonserde.json.JSONArrayatorg.openx.data.jsonserde.objectinspector.JsonListObjectInspector.getList(JsonListObjectInspector.java:38)ator

hadoop - 在 map reduce 作业之间传递变量

我无法理解如何将变量(输出)从Job1传递到Job2。假设我的Job1是WordCount。N=230中的最终reducer输出。我的第二份工作需要这些信息作为其逻辑。但我不希望它作为映射器输入。我希望输入与Job1相同。我不喜欢使用Counter,因为我读到它不是很可靠。谢谢 最佳答案 您可以将N传递给第二个作业,将N添加到第二个作业配置对象。要将任何键/值添加到配置中,您可以使用提交作业的客户端的“设置”方法。然后,从映射器中,您可以使用“get”方法检索配置中N的值。查看“配置”文档,您会发现“获取”、“设置”和许多专门的方法

hadoop - 运行 Map Reduce 作业显示错误 - Mkdirs 无法创建/var/folders/

当我在Mac终端中运行mapreduce作业时:PawandeepSingh1$hadoopjarMaximumTemperature.jarExceptioninthread"main"java.io.IOException:Mkdirsfailedtocreate/var/folders/v1/lyx_f0rj615cy8s54_bk053h0000gp/T/hadoop-unjar3698429834837790177/META-INF/licenseatorg.apache.hadoop.util.RunJar.ensureDirectory(RunJar.java:128)a

hadoop - Map Reduce 程序中的问题

我正在使用Putty执行一个hadoopMap-Reduce作业来解决简单的字数统计问题。我已经在VM上配置了Hadoop,并且我已经验证了Hadoop的所有组件都在使用jps运行。当我使用命令执行代码时hadoopjar无标题.jar我遇到了错误15/06/2019:36:48WARNmapred.JobClient:UseGenericOptionsParserforparsingthearguments.ApplicationsshouldimplementToolforthesame.15/06/2019:37:09INFOutil.NativeCodeLoader:Loade

java - 使用 hadoop reducer 在将批量写入操作写入 mongodb 时检查重复记录

我正在使用hadoopmap-reduce来处理XML文件。我直接将JSON数据存储到mongodb中。如何实现在执行BulkWriteOperation之前只将不重复的记录存储到数据库中?重复记录标准将基于产品图片和产品名称,我不想使用吗啡层,我们可以在其中为类成员分配索引.这是我的reducer类:publicclassXMLReducerextendsReducer{privatestaticfinalLoggerLOGGER=Logger.getLogger(XMLReducer.class);protectedvoidreduce(Textkey,Iterablevalues

hadoop - 如何编写查询以避免在选择不同和大小的 collect_set 配置单元查询中使用单个 reducer?

如何重写这些查询以避免在reduce阶段使用单个reducer?它需要永远,我失去了使用它的并行性的好处。selectid,count(distinctlocations)ASunique_locationsfrommytable;和selectid,size(collect_set(locations))ASunique_locationsfrommytable; 最佳答案 使用两个查询对count(distinctvar)有效:SELECTcount(1)FROM(SELECTDISTINCTlocationsasunique_

hadoop - 如何设置 Hive reduce 运算符,因为 reduce 运算符始终为 0

我正在尝试将数据上传到配置单元rc和orc文件,但reducer的数量始终为0。我尝试使用setmapred.reducer.tasks=1在配置单元中设置reducer,但它不起作用。我发现互联网上每个reducer的默认大小是1G,所以我尝试上传3G数据,这样reducer至少是2个。我需要做什么来减少运算符? 最佳答案 我需要有关查询的更多信息才能确定,但​​我的猜测是您正在运行的查询是仅映射作业,因此不需要任何缩减程序。您可以添加DISTRIBUTEBY语句以强制Hadoop使用缩减程序。例如,SELECTtxn_idFRO