使用Hadoop Text Object toString()方法

时间:2014-08-13 09:44:43

标签: hadoop object-to-string

我理解String&和文本。 Difference between Text and String in Hadoop

问题是如果我们说字符串最大存储大小是32767字节。

Text t = new Text("Hadoo... 2GB of content");
...
String c = t.toString();

" c"如果有大小限制,它将保留2GB的数据吗?

我在这里缺少什么?

1 个答案:

答案 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罗琳的所有作品都会融入一个字符串。”