我想知道在以下工作中使用内存的位置:
- Hadoop Mapper/Reducer 堆大小:
-Xmx2G
流媒体 API:
- 映射器:
/bin/cat
- 减速器:
wc
- 映射器:
输入文件是一个 350MByte 的文件,其中包含一行完整的
a
's。
这是我们遇到的实际问题的简化版本。
从 HDFS 读取文件并构造一个Text
-Object 不应超过 700MB 堆 - 假设Text
每个字符也使用 16 位 - 我不确定,但我可以想象Text
只使用 8 位。
所以有这些(最坏情况)700MB 线。Line 应该至少适合堆中的 2 倍,但我总是遇到内存不足的错误。
这是 Hadoop 中的一个可能的错误(例如不重复的副本)还是我只是不了解一些必需的内存密集型步骤?
将非常感谢任何进一步的提示。