Mapreduce:词典顺序。文本和整数类型

Mapreduce: Lexicographical ordering. Text and Int types

我有一个 map reduce 作业,可以对在此处找到的数据进行排序: http://archive.ics.uci.edu/ml/datasets/Bank+Marketing

我目前的工作是对文件进行排序并输出以下格式的键值对: 教育类型、银行存款余额、工作、婚姻状况、贷款审批。

这几乎是完美的。如果不止一个人相同,我会得到一份经过编辑的列表,旁边有一个数字。

我想做的是编辑列表的排序方式,而不需要 运行 执行多个作业或更改输出顺序。

输出示例为:

unknown, 970, unemployed, married, yes  1
unknown, 9716, housemaid, married, no   1
unknown, 973, services, divorced, no    1
unknown, 973, services, divorced, yes   2
unknown, 974, services, single, no  1
unknown, 975, entrepreneur, married, no 1
unknown, 975, technician, divorced, no  1
unknown, 976, bluecollar, married, no   1
unknown, 98, admin, married, no 1

虽然输出确实按教育类型排序(在这种情况下未知),但我想更改输出中的顺序,使它们按余额降序排列,而不是按字典顺序排序。 例如:

unknown, 98, admin, married, no 1
unknown, 970, unemployed, married, yes  1
unknown, 973, services, divorced, no    1
unknown, 973, services, divorced, yes   2
unknown, 974, services, single, no  1
unknown, 975, entrepreneur, married, no 1
unknown, 975, technician, divorced, no  1
unknown, 976, bluecollar, married, no   1
unknown, 9716, housemaid, married, no   1

下面的问题说我需要将键类型更改为类似可写的类型,但我不能这样做,因为我已经先按文本值排序。

TLDR:我是否必须 运行 多个作业才能按键中的两个单独的变量类型排序?

找到正确的方法来做到这一点。对于所有寻找的人,需要进行二次排序。

我使用了这里的文档:

https://www.safaribooksonline.com/library/view/data-algorithms/9781491906170/ch01.html

了解实现。