- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个简短的问题,我想我知道关于 FileInputFormat isSplitable 方法的答案。如果我覆盖此方法以返回 false,自然我将让一个映射器处理一个文件(我只有 1 个文件)。如果此文件分布在 HDFS 中,则所有文件都将被拉到我的单个映射器中。当我用映射器处理它并创建键/值对以发送到 reducer 时,如果我创建大量它们,它们会分布在我的集群中以利用数据局部性还是有某种隐式结果是,如果我将它设为 isSplitable false,那这种情况就不会再发生了吗?
最佳答案
当 isSplitable
返回 false 时,只有一个映射器处理整个文件。映射器可以发出任意数量的 KV 对。
对于 reducer,没有数据局部性的概念,使用下一个可用的空闲 Reduce 插槽。仅供引用,在遗留 MR 架构的情况下,每个节点上都有用于 Map 和 Reduce 的插槽,但如果YARN没有槽的概念。
reducer 可以根据槽的可用性分布在多个节点上,或者根据 ResourceManager 在 YARN 中返回的内容。
关于Hadoop FileInputFormat isSplitable false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14300180/
我有一个简短的问题,我想我知道关于 FileInputFormat isSplitable 方法的答案。如果我覆盖此方法以返回 false,自然我将让一个映射器处理一个文件(我只有 1 个文件)。如果
我有数千个小文件,我想用 combineFileInputFormat 处理它们。 在combineFileInputFormat中,一个mapper有多个小文件,每个文件不会被分割。 像这样的一个小
我是一名优秀的程序员,十分优秀!