草庐IT

Hadoop - 映射器输出能否超过 block 大小

我们将其中一个mapreduce作业的dfs.blocksize设置为512MB,这是一个maponly作业。但是,一些映射器输出超过512MB。例如:512.9MB。我相信,映射器block大小应该受到dfs.blocksize的限制。感谢任何输入。谢谢 最佳答案 Ibelieve,themapperblocksizeshouldberestrainedbythedfs.blocksize.这不是真的。文件可以大于block大小。在这种情况下,它们只会跨越多个block。 关于Hado

hadoop - 关闭推测执行的 Wordcount : More than 1 map task per block,

在Wordcount中,您似乎可以在每个block中获得超过1个maptask,并关闭推测执行。jobtracker是否在幕后做了一些魔术来分配比InputSplits提供的更多的任务? 最佳答案 区block和拆分是两种不同的东西。如果一个block有多个拆分,您可能会为一个block获得多个映射器。 关于hadoop-关闭推测执行的Wordcount:Morethan1maptaskperblock,,我们在StackOverflow上找到一个类似的问题:

java - 如何使用AES算法、Hadoop和Java加密大文本文件?

我有一个大文本文件(100MB或更多),我想使用AES算法使用Hadoop和Java(Map/Reduce函数)加密文本文件的内容,但由于我是Hadoop的新手,我不太确定如何开始。我发现JCE(一个Java库)已经实现了AES,但我必须提供16字节的文本以及生成16字节密文(加密输出)的key。我的问题是如何使用这个JCE/AES方法来完成我的目的?我应该如何拆分我的大输入文本文件以及我应该将什么传递给Mapper类的map方法?关键和值(value)应该是什么?应该将什么传递给Reduce方法?任何类型的起点或代码示例将不胜感激。(附:我是Hadoop的新手,我只是在我的机器上运行

hadoop - 更改 hadoop 中的 block 大小后会发生什么

我知道如何更改hadoop中的block大小。更改block大小后会发生什么,namenode如何将perivousdatanode更改为当前大小。如果我的集群非常大,并且我在以前的数据节点上的数据节点上提交作业,那仍然不会取消对当前大小的更改。这是如何由名称节点管理的。 最佳答案 什么都没有发生。事实上,block大小是单个文件的属性。您在配置中定义的是默认值。您可以在HDFS中放置或创建文件时指定block大小。该属性作为名称节点元数据的一部分与文件的元数据一起存储。如果未指定任何内容,则使用默认值。当访问文件时,会使用文件的b

hadoop - Namenode如何决定在哪个datanode中写入一个 block

我只是想知道这个。假设我正在将一个80GB的文件复制到HDFS,并且我的block大小是64MB。现在在收集了一个block的数据后,名称节点将block写入数据节点。这是我的问题:名称节点以何种方式选择应将block写入哪个数据节点。是随机选择还是循环选择? 最佳答案 NameNode会根据负载分配因子选择datanode上的block。它将以平衡所有正在运行的数据节点上的负载的方式选择block。此外,NameNode不会收集一个block的数据并将其写入数据节点。当向NameNode发送写请求时,它会分配要写入各个数据节点的b

hadoop - 我可以在 HDFS 中有不同的 block 放置策略吗?

即一个集群有多个应用程序,每个应用程序在副本位置方面有不同的要求-我可以设置它以支持这些多个应用程序吗? 最佳答案 是的,这是可能的。注意:自行承担风险。编写block放置策略极其复杂且具有风险。您的应用程序需要确定如何放置副本,这似乎是一种代码味道。想想你是否真的需要编写block放置策略。警告过您之后,如果您想知道如何完成此操作,请继续。通常,此功能用于控制群集的平衡程度。例如。由Hadoop供应商之一构建的策略之一是将block放置在磁盘使用百分比最低的磁盘上。这里有一堆资源供您查看:SO发布同样的问题:Modifyingth

hadoop - Apache Hadoop(大数据)

在hadoop中,数据被分成64mb或128mb的block。假设我有一个大小为70mb的文件。它是否分成两个block64mb和6mb。如果是这样,第二个block只占用了6mb,该block中的其他空间是被浪费了还是被另一个block占用了? 最佳答案 在hadoop中,block大小可以由通过dfs.blocksize属性写入hdfs的应用程序选择:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml对于应该

hadoop - 如何Hadoop Map Reduce整个文件

我玩过各种流映射减少字数统计示例,其中Hadoop/Hbase似乎采用大文件并在节点之间平均拆分(在换行符处)。然后它将部分文档的每一行提交到我的代码的map部分。我的问题是,当我有很多小的非结构化和半结构化文档时,如何让Hadoop将整个文档提交到我的map代码? 最佳答案 文件拆分由InputFormat.getSplits计算。因此,对于每个输入文件,它都会获得拆分数,并且每个拆分都会提交给映射器。现在基于InputFormatMapper将处理输入拆分。我们有不同类型的输入格式,例如TextInputFormat,它将文本文

hadoop - 不同 block 大小的 Hadoop

我需要做什么才能在Hadoop中拥有更小/更大的block?具体来说,我希望有更多的映射器,这样可以处理更小的数据。似乎我需要减小块大小,但我很困惑(我是Hadoop的新手)——我是否需要在将文件放在HDFS上时做一些事情,或者我是否需要指定与输入拆分大小相关的内容,或两者兼而有之?我正在共享集群,所以我无法执行全局设置,所以如果可能的话,需要在每个作业的基础上进行设置吗?我正在通过代码(稍后可能来自Oozie)运行该作业。 最佳答案 映射器运行的内容由输入拆分控制,完全取决于您如何指定它。HDFSblock大小与它无关(除了大多数

hadoop - 将运行多少映射器?

我有这个问题。假设我有3个数据节点+节点管理器(集群)。我们的复制因子为3。在第一个集群中我们有4个block,因此默认情况下4个映射器将在第一个集群上并行运行。那么因为我们的复制因子为3,所以我们将在开始时运行12个映射器? 最佳答案 block数取决于文件大小。如果您有1gb的文件,可以构成8个block(共128mb)。所以现在所有8个block将按照datalocalityandrackawareness被复制三次-但这并不意味着当您针对此文件运行任何作业时,将处理所有24(8x3)block。复制用于从磁盘故障类型的场景中