多列排序hadoop流(emr)

j5fpnvbx  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(146)

我试图对Map器输出的每一列进行不同的排序。我的输出如下所示:

xx yy 2 4
xx yy 1 5
xx yy 5 39
xx yy 8 3

所以前两列是文本,后两列是数字。
我就是这样做的:

-D mapreduce.job.output.key.comparator.class=org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator
-D "mapreduce.partition.keycomparator.options=-k1,2 -k3,3nr -k4,4nr"

只是不按数字排序。。。只按字母顺序。
我也试过:

-D mapreduce.job.output.key.comparator.class=org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator
-D mapreduce.partition.keycomparator.options='-k1,2 -k3,3nr -k4,4nr'

但有个错误 -k3,3nr 不是有效参数。
思想?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题