java—如何在hadoop流、typedbytes和/或rawbytes中分隔键、值和记录

huwehgph  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(379)

我知道hadoop流中的文本记录是由换行符分隔的,键和值之间有一个可配置的分隔符(默认为tab)。
1) rawbytes格式的结构表明不需要任何记录或键/值分隔符,但是有人能确认这种情况吗?
2) 在typedbytes格式中,如何分隔键和值,以及如何分隔记录?
3) 另外,键是如何以typedbytes和rawbytes格式排序的?

xwbd5t1u

xwbd5t1u1#

对的
标头中的长度信息使分隔符变得不必要,事实上,规范中没有使用分隔符,只有一个例外,即255分隔列表,typecode 9
未指定排序顺序。根据我的经验,mapreduce中的默认比较器将它们按原始字节排序,每个字节按数字排序,数组按字典排序。它是可插拔的,所以您可以用自己的java类来更改它。
看到了吗https://hadoop.apache.org/docs/current2/api/org/apache/hadoop/typedbytes/package-summary.html
安东尼奥

相关问题