我知道 Hadoop 流中的文本记录由换行符分隔,并且键和值之间有一个可配置的分隔符(默认为制表符)。
1) rawbytes 格式的结构表明不需要记录或键/值分隔符,但有人可以确认是这种情况吗?
2)在typedbytes格式中,key和value是如何定界的,records是如何定界的?
3) 此外,键如何以 typedbytes 和 rawbytes 格式排序?
最佳答案
- 正确
- header 中的长度信息使得分隔符成为不必要的,事实上它们在规范中没有使用,除了一个异常(exception),255 分隔列表,类型代码 9
- 未指定排序顺序。根据我的经验,mapreduce 中的默认比较器将它们排序为原始字节,每个字节按数字排序,数组按字典顺序排序。它是可插入的,因此您可以使用自己的 Java 类对其进行更改。
见 https://hadoop.apache.org/docs/current2/api/org/apache/hadoop/typedbytes/package-summary.html
安东尼奥
关于java - 如何在 Hadoop 流、typedbytes 和/或 rawbytes 中分隔键、值和记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031206/