hadoop相关内容

反向排序减速器键

以相反的顺序将 Map 输出键获取到减速器的最佳方法是什么?默认情况下,reducer 以键的升序接收所有键.任何帮助或评论都受到广泛赞赏. 简单来说,在正常情况下,如果 map 发出键 1,4,3,5,2,reducer 收到的键与 1,2,3,4 相同,5.我希望减速器改为接收 5,4,3,2,1. 解决方案 在 Hadoop 1.X 中,您可以使用 JobConf.setOut ..
发布时间:2022-01-14 08:10:44 Java开发

使用 MapReduce 进行排列

有没有办法使用 MapReduce 生成排列? 输入文件: 1 标题12 标题23 标题3 我的目标: 1,2 标题1,标题21,3 标题1,标题32,3 标题2,标题3 解决方案 由于文件将有 n 输入,排列应该有 n^2 输出.您可以让 n 个任务执行其中的 n 个操作,这是有道理的.我相信你可以做到这一点(假设只有一个文件): 将您的输入文件放入 Distributed ..
发布时间:2022-01-14 08:10:35 其他开发

Hadoop 分区器

我想问一下 Hadoop 分区器,它是在 Mappers 中实现的吗?如何衡量使用默认哈希分区器的性能 - 是否有更好的分区器来减少数据倾斜? 谢谢 解决方案 Partitioner 是介于 Mappers 和 Reducers 之间的关键组件.它在 Reducer 之间分发地图发出的数据. Partitioner 在每个 Map Task JVM(java 进程)中运行. ..
发布时间:2022-01-14 08:10:03 其他开发

MapReduce阶段在哪里使用Sort,为什么?

我是这里的 hadoop 新手.目前尚不清楚为什么我们需要能够在使用 hadoop mapreduce 时按键排序?在 map 阶段之后,我们需要将每个唯一键对应的数据分发到一定数量的 reducer.这可以在不需要排序的情况下完成吗? 解决方案 它就在那里,因为排序是对你的键进行分组的巧妙技巧.当然,如果您的工作或算法不需要任何密钥顺序,那么通过一些散列技巧进行分组会更快. 在 H ..
发布时间:2022-01-14 08:09:45 其他开发

以编程方式读取 Hadoop Mapreduce 程序的输出

这可能是一个基本问题,但我在 Google 上找不到答案. 我有一个 map-reduce 作业,它在其输出目录中创建多个输出文件.我的 Java 应用程序在远程 hadoop 集群上执行此作业,作业完成后,它需要使用 org.apache.hadoop.fs.FileSystem API 以编程方式读取输出.有可能吗? 应用程序知道输出目录,但不知道 map-reduce 作业生成的输出文件 ..
发布时间:2022-01-14 08:09:25 其他开发

RecordReader 在 Hadoop 中的工作

谁能解释一下 RecordReader 是如何工作的?程序开始执行后nextkeyvalue()、getCurrentkey()和getprogress()方法是如何工作的? 解决方案 (新 API):默认 Mapper 类有一个 run 方法,如下所示: public void run(Context context) throws IOException, InterruptedEx ..
发布时间:2022-01-14 08:09:00 其他开发

MapReduce 中 1 个任务的 reducer 数量

在典型的 MapReduce 设置(如 Hadoop)中,有多少个 reducer 用于 1 个任务,例如计算单词?我对 Google 的 MapReduce 的理解意味着只涉及 1 个 reducer.对吗? 例如,单词计数会将输入分成 N 个块,然后运行 ​​N 个 Map,生成 (word,#) 列表.我的问题是,一旦 Map 阶段完成,是否只有一个 reducer 实例运行来计算结果 ..
发布时间:2022-01-14 08:08:52 其他开发

如何在 Hadoop 中自定义 Writable 类?

我正在尝试实现 Writable 类,但是如果我的类中有嵌套对象(例如列表等),我不知道如何实现可写类.任何人都可以帮助我吗?谢谢 公共类 StorageClass 实现可写{公共字符串 xStr;公共字符串 yStr;公共列表存储//省略的ctors@覆盖公共无效写入(数据输出输出)抛出 IOException{out.writeChars(xStr);out.WriteChars(y ..
发布时间:2022-01-14 08:08:26 Java开发

为什么我们需要 Hadoop 无密码 ssh?

AFAIK,需要无密码 ssh,以便主节点可以在每个从节点上启动守护进程.除此之外,Hadoop 的操作是否有无密码 ssh 的用途? 用户代码 jar 和数据块如何在从节点之间传输?我想知道使用的机制和协议. 无密码的 SSH 应该只为主从对配置,甚至在从属之间配置? 解决方案 你是对的.如果 ssh 不是无密码的,您必须在每台机器上手动启动所有进程.对于第二个问题,HDFS ..
发布时间:2022-01-14 08:08:17 其他开发

在 reudcer 类中使用全局变量

我需要在我的mapreduce程序中使用全局变量,如何在下面的代码中设置它并在reducer中使用全局变量. 公共类 tfidf{公共静态 tfidfMap.......{}公共静态 tfidfReduce ......{}公共静态无效主(字符串参数 []){配置conf=新配置();conf.set("","");} } 解决方案 模板代码可能看起来像这样(Reducer 未显示,但 ..
发布时间:2022-01-14 08:08:01 其他开发

未找到映射器类

有时我的 MR 工作会抱怨找不到 MyMapper 类.我必须给 job.setJarByClass(MyMapper.class);告诉它从我的 jar 文件中加载它. cloudera@cloudera-vm:/tmp/translator$ hadoop jar MapReduceJobs.jar 翻译器/输入/Portuguese.txt 翻译器/输出13/06/13 03:36:5 ..
发布时间:2022-01-14 08:07:52 其他开发

由于任务尝试未能报告状态 600 秒,reduce 失败.杀戮!解决方案?

作业的reduce阶段失败: 失败的减少任务超过了允许的限制. 每个任务失败的原因是: 任务尝试_201301251556_1637_r_000005_0 在 600 秒内未能报告状态.杀戮! 问题详解: Map 阶段接收格式为:time、rid、data 的每条记录. 数据的格式为:数据元素及其计数. eg: a,1 b,4 c,7 对应一条记录的数据. ..
发布时间:2022-01-14 08:07:25 Java开发

错误的键类:文本不是 IntWritable

这似乎是一个愚蠢的问题,但我在我的 hadoop 的 mapreduce 代码中的类型中看不到问题 正如问题中所述,问题在于它期待 IntWritable 但我在 reducer 的 collector.collect 中将一个 Text 对象传递给它. 我的作业配置有以下映射器输出类: conf.setMapOutputKeyClass(IntWritable.class);con ..
发布时间:2022-01-14 08:07:17 Java开发

如何指定映射配置和使用 Amazon 的 EMR 在 CLI 中使用自定义 jar 的 java 选项?

我想知道在使用自定义 jar 运行流式作业时如何指定 mapreduce 配置,例如 ma​​pred.task.timeout 、 mapred.min.split.size 等. 当我们使用ruby或python等外部脚本语言运行时,我们可以通过以下方式来指定这些配置: ruby elastic-mapreduce -j --stream --step-name "mystream ..
发布时间:2022-01-14 08:06:51 Java开发

扩展 SequenceFileInputFormat 以包含文件名+偏移量

我希望能够创建一个自定义 InputFormat 来读取序列文件,但另外公开文件路径和该文件中记录所在的偏移量. 退一步说,这里是用例:我有一个包含可变大小数据的序列文件.键大多是不相关的,值最多为几兆字节,包含各种不同的字段.我想在 elasticsearch 中索引其中一些字段以及文件名和偏移量.这样我就可以从elasticsearch中查询到那些字段,然后使用文件名和偏移量回到sequ ..
发布时间:2022-01-14 08:06:34 Java开发

使用 Hadoop/MapReduce 查找连接的组件

我需要为庞大的数据集找到连接的组件.(图是无向的) 一个明显的选择是 MapReduce.但我是 MapReduce 的新手,我没有时间自己学习并编写代码. 我只是想知道是否有任何现有的 API,因为它是社交网络分析中非常常见的问题? 或者至少如果有人知道任何可靠的(经过试验和测试的)来源,我至少可以自己开始实施? 谢谢 解决方案 我为自己写了一篇博客: ht ..

在 Mapreduce/Hadoop 中加入两个数据集

有人知道如何在 Hadoop 中实现两个数据集之间的 Natural-Join 操作吗? 更具体地说,这就是我真正需要做的: 我有两组数据: 点信息存储为 (tile_number, point_id:point_info) ,这是一个 1:n 的键值对.这意味着对于每个 tile_number,可能有几个 point_id:point_info 存储为 (tile_num ..
发布时间:2022-01-14 08:05:59 其他开发

如何使用 MapReduce/Hadoop 实现特征值计算?

这是可能的,因为 PageRank 是特征值的一种形式,这就是 MapReduce 引入的原因.但在实际实现中似乎存在问题,比如每台从机都要维护一份矩阵的副本? 解决方案 PageRank通过迭代寻找网络的稳态离散流条件来解决主导特征向量问题. 如果NxM矩阵A描述了从节点n到节点m的链接权重(流量),那么 p_{n+1} = A .p_{n} 在p已经收敛到稳态的极限(p_n+ ..
发布时间:2022-01-14 08:05:43 其他开发