我理解String&和文本。 Difference between Text and String in Hadoop
问题是如果我们说字符串最大存储大小是32767字节。
Text t = new Text("Hadoo... 2GB of content");
...
String c = t.toString();
" c"如果有大小限制,它将保留2GB的数据吗?
我在这里缺少什么?
答案 0 :(得分:2)
Java String的最大大小不是32k字节。它是存储Integer.MAX_VALUE
个字符所需的大小,即2 ^ 31 - 1(~20亿),大约为4GB(见this post)。
您提到的post是指已弃用的UTF-8 class的大小限制,而不是Java的String类。
无论如何,如果您需要为单个Text实例提供足够的空间,我建议您重新考虑您的算法。正如Peter Lawrey在上述文章中所说:“我怀疑J K罗琳的所有作品都会融入一个字符串。”