如何在hadoop流媒体中对带有数字的文件名进行二次排序?

iaqfqrcu  于 2021-06-03  发布在  Hadoop
关注(0)|答案(0)|浏览(105)

我正在尝试对文件名进行排序,例如

cat1.pdf, cat2.pdf, ... cat10.pdf ...

我正在使用具有以下参数的排序:

-D mapreduce.job.output.key.comparator.class=org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator 
    -D stream.num.map.output.key.fields=2 
    -D mapreduce.partition.keypartitioner.options="-k1,1" 
    -D mapreduce.partition.keycomparator.options="-k1,1 -k2,2 -V" 
    -partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner

键-值对由以文件名为值、以字符串为键的选项卡分隔。问题是,我的排序现在二次排序的文件名,以便我得到

cat1.pdf, cat10.pdf, cat2.pdf, cat3.pdf, cat30.pdf ...

如何将文件按如下方式排序:

cat1.pdf, cat2.pdf, cat3.pdf ... cat10.pdf,cat11.pdf...

我使用的是hadoop流媒体2.7.1

暂无答案!

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

相关问题