Hadoop Streaming with TextInputFormat and Python - 跟踪行号

Hadoop Streaming with TextInputFormat and Python - keep track of line number

我正在尝试计算方阵上每条对角线的总和。我正在使用 Python 和 Hadoop 流,但我找不到任何方法来配置 Hadoop 流以获取每一行的偏移量,如 this guy 所说,使用 TextInputFormat.

Whosebug 上还有一个 question 问同样的问题,但没有人回答如何去做。 hadoop doc 说了一些关于丢弃 keys of LongWritable class 但我不确定这是否是偏移量。

如何配置作业以获得偏移量? 我是否需要从 TextInputFormat 而不是 return LongWritable 中创建一个新的 class?如果我不知道 Java,我该怎么做?谢谢

我对 Whosebug 做了更多研究,还有另一个人问 same thing 但没有人回答,尽管他确实说使用 -inputformat org.apache.hadoop.mapred.lib.NLineInputFormat 有效,但是这需要很多时间要完成的工作。

我知道对此可能有更好的答案,但在有人回答之前,这已经足够了。